// Metro module 8285 (f8286).
import { View } from "react-native";
import UserStore from "../../../../stores/UserStore";
import { RowType } from "../../ChannelPermissionsConstants";
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
import { showConfirmModal } from "../../../../design/components/AlertModal/native/AlertModal.native";
import { intl, t } from "../../../../intl/index.native";
import ChannelActionCreators from "../../../../actions/ChannelActionCreators";
import { memberOrRoleRemovedToast } from "../../../toast/native/ToastUtils";
import { PressableOpacity } from "../../../../design/void/Pressables/native/Pressables";
import { CircleXIcon } from "../../../../design/components/Icon/native/redesign/generated/CircleXIcon";
import { TableRow } from "../../../../design/components/TableRow/native/TableRow.native";
import { ShieldUserIcon } from "../../../../design/components/Icon/native/redesign/generated/ShieldUserIcon";
import { getRowTypeLabel } from "../../ChannelPermissionsUtils";
import { Text } from "../../../../design/components/Text/native/Text";
import { Icon, Avatar, AvatarSizes, IconSizes } from "../../../../design/void/native";
import Module8287 from "../../../../_bundle/Module8287";
import Module8288 from "../../../../_bundle/Module8288";
import { useCheckboxA11yNative } from "../../../../_bundle/Module3907";
import { FormCheckbox } from "../../../../design/components/Forms/native/FormCheckbox.native";
let useStyles, RoleItem, MemberItem, EmptyRoleItem, ChannelOverwritesItem;
const RemoveIcon = function RemoveIcon(props) {
const { item, channelId, onRemove } = props;
const styles = useStyles();
return channelId != null ? {
if (onRemove != null) {
return onRemove(item);
}
const { id: id2, name: name2 } = item;
const id = id2;
const name = name2;
const channelId2 = channelId;
showConfirmModal({
key: `remove-channel-overwrite-${id}`,
title: intl.string(t.GuPYQB),
content: intl.format(t.xERCnZ, {
name
}),
confirmText: intl.string(t.fKxYb0),
onConfirm: () => {
ChannelActionCreators.clearPermissionOverwrite(channelId2, id).then(() => {
memberOrRoleRemovedToast(name);
});
}
});
}}>
: null;
};
RoleItem = function RoleItem(props) {
const { disabled, item: item2 } = props;
let subLabel = props.subLabel;
const { channelId: channelId3, showType, showRemove, start, end } = props;
let trailing = props.trailing;
const { onPress: onPress2, accessibilityRole, accessibilityState, accessible } = props;
const props2 = {
icon: ,
label: item2.name,
subLabel: null,
start: null,
end: null,
trailing: null,
onPress: null,
disabled: null,
accessibilityRole: null,
accessibilityState: null,
accessible: null
};
if (showType) {
subLabel = getRowTypeLabel(item2.rowType);
}
props2.subLabel = subLabel;
props2.start = start;
props2.end = end;
if (showRemove) {
trailing = ;
}
props2.trailing = trailing;
props2.onPress = onPress2;
props2.disabled = disabled;
props2.accessibilityRole = accessibilityRole;
props2.accessibilityState = accessibilityState;
props2.accessible = accessible;
return ;
};
MemberItem = function MemberItem(props) {
const { item: item2, channelId: channelId3, showRemove, onRemove: onRemove2, guildId, start, end } = props;
let trailing = props.trailing;
const { onPress: onPress2, disabled, accessibilityRole, accessibilityState, accessible } = props;
const styles = useStyles();
const label =
{item2.name}
{item2.rowType === RowType.OWNER ? : null}
;
const user = UserStore.getUser(item2.id);
const props2 = {
icon: ,
label,
subLabel: item2.username,
start,
end,
trailing: null,
onPress: null,
disabled: null,
accessibilityRole: null,
accessibilityState: null,
accessible: null
};
if (showRemove) {
trailing = ;
}
props2.trailing = trailing;
props2.onPress = onPress2;
props2.disabled = disabled;
props2.accessibilityRole = accessibilityRole;
props2.accessibilityState = accessibilityState;
props2.accessible = accessible;
return ;
};
EmptyRoleItem = function EmptyRoleItem(props) {
const item2 = props.item;
return } label={item2.name} />;
};
ChannelOverwritesItem = function ChannelOverwritesItem(props) {
const { item: item2, ...props2 } = props;
const rowType = item2.rowType;
if (RowType.ADMINISTRATOR !== rowType && RowType.ROLE !== rowType) {
if (RowType.OWNER !== rowType && RowType.MEMBER !== rowType) {
if (RowType.EMPTY_STATE === rowType) {
return ;
}
return null;
}
return ;
}
return ;
};
useStyles = createStyles({
nameWrapper: {
flexDirection: "row",
alignItems: "flex-end",
marginRight: 16
},
name: {
paddingRight: 4
},
memberName: {
flexShrink: 1
},
ownerIcon: {
alignSelf: "center"
},
roleIcon: {
height: 30,
width: 30
},
rowRemoveIconDisabled: {
opacity: 0.3
}
});
export default ChannelOverwritesItem;
export function ChannelOverwritesCheckboxItem(props) {
const { checked, ...props2 } = props;
const checkboxA11yNative = useCheckboxA11yNative({
checked
});
return } />;
}