// Metro module 15650 (f15651). import { useLayoutEffect, useMemo, useState, useEffect, useCallback } from "react"; import { View, ScrollView } from "react-native"; import ChannelSettingsPermissionsStore from "../../../../stores/ChannelSettingsPermissionsStore"; import ChannelStore from "../../../../stores/ChannelStore"; import GuildMemberStore from "../../../../stores/GuildMemberStore"; import GuildRoleStore from "../../../../stores/GuildRoleStore"; import GuildStore from "../../../../stores/GuildStore"; import PermissionStore from "../../../../stores/PermissionStore"; import RelationshipStore from "../../../../stores/RelationshipStore"; import UserStore from "../../../../stores/UserStore"; import { SettingMode } from "../../ChannelPermissionsConstants"; import { Permissions, ChannelTypes, AnalyticEvents, ChannelSettingsSections, SettingsPaneTypes } from "../../../../Constants"; import { createStyles } from "../../../../design/components/Styles/native/createStyles"; import Module712 from "../../../../_bundle/Module712"; import { useNavigation } from "../../../../design/components/Navigator/native/useNavigation.native"; import { useStateFromStoresObject, useStateFromStores } from "../../../../_bundle/Module589"; import * as _ChannelPermissionsUtils from "../../ChannelPermissionsUtils"; import { flipEveryonePermission, grantUserChannelAccess, getExistingRolesRows, getExistingMembersRows } from "../../ChannelPermissionsUtils"; import { savePermissionUpdates, setAdvancedMode } from "../../../../actions/ChannelSettingsPermissionsActionCreators"; import { checkChattableChannelThresholdMetAfterChannelPermissionDeny } from "../../../guild_onboarding/DefaultChannelThresholdUtils"; import { intl, t } from "../../../../intl/index.native"; import { computeChannelName } from "../../../channel/useChannelName"; import AlertActionCreators from "../../../../actions/AlertActionCreators"; import ChannelOverwritesItem from "./ChannelOverwritesItem"; import * as _PermissionUtils from "../../../../utils/PermissionUtils"; import { Stack } from "../../../../design/components/Stack/native/Stack.native"; import { TableRowGroup } from "../../../../design/components/TableRow/native/TableRowGroup.native"; import { TableSwitchRow } from "../../../../design/components/TableRow/native/TableSwitchRow.native"; import { HelpMessage, HelpMessageTypes } from "../../../../design/void/native"; import { TableRow } from "../../../../design/components/TableRow/native/TableRow.native"; import { CirclePlusIcon } from "../../../../design/components/Icon/native/redesign/generated/CirclePlusIcon"; import { openAddMembersActionSheet } from "../ChannelPermissionsUtils"; import { useNavigatorBackPressHandler } from "../../../../design/components/Navigator/native/useNavigatorBackPressHandler.native"; import AppAnalyticsUtils from "../../../app_analytics/AppAnalyticsUtils"; import { useSegmentedControlState } from "../../../../design/components/SegmentedControl/native/SegmentedControlState.native"; import { SegmentedControl } from "../../../../design/components/SegmentedControl/native/SegmentedControl.native"; import ViewModerators from "../../../stage_channels/native/channel_permissions/ViewModerators"; import ChannelSettingsPermissionsOverview from "../../../../components_native/channel_settings/ChannelSettingsPermissionsOverview"; function $mk118501($env) { return () => { const r1 = $env; const r2 = r1[2]; r2(_ChannelPermissionsUtils.isPrivateGuildChannel(r1[0])); }; } let onBack, c11171_25, useStyles; let env11171 = {}; const ChannelPermissionSettingsBasicView = function ChannelPermissionSettingsBasicView(props) { let env22287 = { $parent: env11171 }; const channel = props.channel; env22287[0] = channel; const privateToggleState = props.privateToggleState; env22287[1] = privateToggleState; env22287[2] = props.setPrivateToggleState; env22287[3] = void 0; env22287[4] = void 0; env22287[5] = void 0; env22287[9] = void 0; env22287[6] = function togglePrivateChannel() { return env22287[7].apply(this, arguments); }; env22287[7] = function _togglePrivateChannel() { const r9 = async () => { const isPrivateGuildChannel = _ChannelPermissionsUtils.isPrivateGuildChannel(env22287[0]); const accessPermissions = env22287[0].accessPermissions; let c31778_0 = flipEveryonePermission(env22287[0], accessPermissions, isPrivateGuildChannel); const currentUser = UserStore.getCurrentUser(); const r51 = PermissionStore.can(Permissions.ADMINISTRATOR, env22287[4]); if (env22287[9] || currentUser == null || r51) { await savePermissionUpdates(env22287[0].id, [c31778_0]); } else { await grantUserChannelAccess(env22287[0], accessPermissions); await savePermissionUpdates(env22287[0].id, [c31778_0]); } }; env22287[7] = r9; return r9.apply(this, arguments); }; env22287[8] = function _onPrivateChannelSwitchChange() { const r9 = async () => { let c30911_0, c30911_1; L28: { L21: { L14: { let env31779; const r9 = env22287; c30911_1 = r9; const r29 = env31779 = { $parent: r9 }; c30911_0 = r29; env31779[0] = void 0; env31779[1] = void 0; env31779[2] = void 0; if (env22287[0].guild_id != null && !env22287[1]) { if (await checkChattableChannelThresholdMetAfterChannelPermissionDeny(env22287[0], Permissions.VIEW_CHANNEL)) { env31779[0] = env22287[1] ? intl.string(t.vw48TT) : intl.string(t["47gQYL"]); env31779[1] = computeChannelName(env22287[0], UserStore, RelationshipStore); env31779[2] = env22287[1] ? intl.format(t.hGzPnx, { channelName: env31779[1] }) : intl.format(t.rKzX1E, { channelName: env31779[1] }); (0, env22287[2])(!env22287[1]); AlertActionCreators.show({ title: env31779[0], body: env31779[2], cancelText: intl.string(t["ETE/oC"]), confirmText: intl.string(t.p89ACt), onConfirm: env22287[6], hideActionSheet: false, onCancel: $mk118501(env22287) }); break L21; } break L14; } env31779[0] = env22287[1] ? intl.string(t.vw48TT) : intl.string(t["47gQYL"]); env31779[1] = computeChannelName(env22287[0], UserStore, RelationshipStore); env31779[2] = env22287[1] ? intl.format(t.hGzPnx, { channelName: env31779[1] }) : intl.format(t.rKzX1E, { channelName: env31779[1] }); (0, env22287[2])(!env22287[1]); AlertActionCreators.show({ title: env31779[0], body: env31779[2], cancelText: intl.string(t["ETE/oC"]), confirmText: intl.string(t.p89ACt), onConfirm: env22287[6], hideActionSheet: false, onCancel: $mk118501(env22287) }); break L28; } return void 0; } return void 0; } }; env22287[8] = r9; return r9.apply(this, arguments); }; const styles = useStyles(); const navigation = useNavigation(); env22287[3] = navigation; const stateFromStoresObject = useStateFromStoresObject([GuildStore, GuildRoleStore], () => { const guild = GuildStore.getGuild(env22287[0].getGuildId()); return { guild, sortedGuildRoles: guild != null ? GuildRoleStore.getSortedRoles(guild.id) : void 0 }; }); const guild = stateFromStoresObject.guild; env22287[4] = guild; const sortedGuildRoles = stateFromStoresObject.sortedGuildRoles; env22287[5] = sortedGuildRoles; useLayoutEffect(() => { env22287[3].setOptions({ headerRight: void 0 }); }, [navigation]); const memo = useMemo(() => { let r17; const r6 = env22287[4]; if (r6 != null) { const r5 = env22287[5]; if (r5 != null) { const r16 = env22287[0]; r17 = getExistingRolesRows(r6, r5, r16, r16.accessPermissions); } else { r17 = []; } } else { r17 = []; } return r17; }, [guild, sortedGuildRoles, channel]); if (guild != null && sortedGuildRoles != null) { const isCategory = channel.isCategory(); const existingMembersRows = getExistingMembersRows(GuildMemberStore.getMemberIds(guild?.id), channel, guild, channel.accessPermissions); const isPrivateGuildChannel = _ChannelPermissionsUtils.isPrivateGuildChannel(channel); env22287[9] = isPrivateGuildChannel; const canEveryoneRole2 = _PermissionUtils.canEveryoneRole(Permissions.VIEW_CHANNEL, guild); const canEveryoneRole = _PermissionUtils.canEveryoneRole(Permissions.ADMINISTRATOR, guild); const type = channel.type; const r84 = intl.string(t.hfbjIH); return {canEveryoneRole && {intl.string(t["5f3HIC"])} } {(canEveryoneRole ? !canEveryoneRole : !canEveryoneRole2) && !isPrivateGuildChannel && {intl.string(t.ZAk4Q9)} } } label={intl.string(t.dMJ3Y6)} onPress={() => { const r3 = env22287[0]; if (r3 != null) { openAddMembersActionSheet(r3); } }} /> {memo.map((a0) => { const r10 = env22287[0]; return ; })} {existingMembersRows.map((existingMembersRow) => { const r10 = env22287[0]; return ; })} ; } return null; }; onBack = function onBack() { AlertActionCreators.close(); return false; }; c11171_25 = { BASIC: 0, 0: "BASIC", ADVANCED: 1, 1: "ADVANCED", MODERATORS: 2, 2: "MODERATORS" }; useStyles = createStyles({ container: { flex: 1, paddingTop: 16, backgroundColor: Module712.colors.BACKGROUND_BASE_LOWER }, content: { marginTop: 16, flex: 1 }, adminWarning: { marginTop: Module712.space.PX_12 } }); export default function EasyChannelPermissionSettings(props) { let r43, MODERATORS; let state, setState, setState2; const { channelId, origin } = props; state = void 0; setState = void 0; setState2 = void 0; useNavigatorBackPressHandler(onBack); const styles = useStyles(); const stateFromStores = useStateFromStores([ChannelStore], () => ChannelStore.getChannel(channelId)); const stateFromStores2 = useStateFromStores([ChannelSettingsPermissionsStore], () => ChannelSettingsPermissionsStore.advancedMode); const r10 = stateFromStores == null ? void 0 : stateFromStores.isGuildStageVoice(); if (r10) { MODERATORS = c11171_25.MODERATORS; r43 = c11171_25; } else if (stateFromStores2) { MODERATORS = c11171_25.ADVANCED; r43 = c11171_25; } else { MODERATORS = c11171_25.BASIC; r43 = c11171_25; } [state, setState] = useState(MODERATORS); let privateToggleState; [privateToggleState, setState2] = useState(_ChannelPermissionsUtils.isPrivateGuildChannel(stateFromStores)); useEffect(() => { AppAnalyticsUtils.trackWithMetadata(AnalyticEvents.SETTINGS_PANE_VIEWED, { settings_type: "channel", origin_pane: origin === ChannelSettingsSections.OVERVIEW ? SettingsPaneTypes.CHANNEL_SETTINGS : null, destination_pane: ChannelSettingsSections.PERMISSIONS }); }, [origin]); const callback = useCallback((a0) => { if (a0 === c11171_25.ADVANCED) { setAdvancedMode(true); } else { setState2(_ChannelPermissionsUtils.isPrivateGuildChannel(stateFromStores)); setAdvancedMode(false); } setState(a0); }, [stateFromStores]); const r20 = [intl.string(t["Mw/UDN"]), intl.string(t["0a6awf"])]; if ((stateFromStores == null ? void 0 : stateFromStores.isGuildStageVoice()) === true) { r20.push(intl.string(t.YIIUJ3)); } const segmentedControlState = useSegmentedControlState({ pageWidth: 0, defaultIndex: state, onSetActiveIndex: callback, items: r20.map((item) => ({ id: item, label: item, page: null })) }); useEffect(() => { AppAnalyticsUtils.trackWithMetadata(AnalyticEvents.CHANNEL_PERMISSIONS_PAGE_VIEWED, { mode: state === c11171_25.BASIC ? SettingMode.BASIC : SettingMode.ADVANCED, channel_is_private: _ChannelPermissionsUtils.isPrivateGuildChannel(stateFromStores) }); }, [stateFromStores, state]); return stateFromStores != null ? {state === r43.BASIC ? : state === r43.MODERATORS ? : } : null; };