/* Metro module 15189; source: components_native/channel_settings/ChannelSettingsPermissionsOverview.tsx; dependencies: [57, 5, 31, 27, 1939, 1379, 1938, 1867, 3793, 1878, 661, 33, 4501, 697, 4647, 1244, 4805, 3789, 9090, 8148, 22, 6231, 6238, 13127, 1484, 10375, 11025, 13770, 566, 1909, 12140, 1360, 5465, 9603, 4603, 2] */ function _fun116097(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#116097, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:6, offset: 0x0247adba, size: 512 bytes, params: 8, frame: 22 var object2; const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_4 = importDefault(57) /* metro dependency 57 */; const env0_5 = importDefault(5) /* metro dependency 5 */; const env0_6 = importAll(31) /* metro dependency 31 */; const env0_7 = (require(27) /* metro dependency 27 */).View; const env0_8 = (require(1939) /* metro dependency 1939: GuildRoleRecord */).isEveryoneRole; const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */; const guildRoleStore = importDefault(1938) /* metro dependency 1938: GuildRoleStore */; const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */; const relationshipStore = importDefault(3793) /* metro dependency 3793: RelationshipStore */; const userStore = importDefault(1878) /* metro dependency 1878: UserStore */; let value = require(661) /* metro dependency 661: Constants */; const env0_14 = value.PermissionOverrideType; const env0_15 = value.ChannelSettingsSections; value = require(33) /* metro dependency 33 */; const env0_16 = value.jsx; const env0_17 = value.jsxs; value = require(4501) /* metro dependency 4501: createStyles */; const createStyles = value.createStyles; object2 = {}; const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object2.tableRowGroupContainer = {marginBottom: PX_16}; const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12; object2.tableContainer = {marginHorizontal: PX_12}; const env0_18 = Reflect.apply(createStyles, value, [object2]); (require(2) /* metro dependency 2 */).fileFinishedImporting('components_native/channel_settings/ChannelSettingsPermissionsOverview.tsx'); exports.default = ChannelSettingsPermissionsOverview; } function ChannelPermissionSyncModule({channel, category, locked}) { // fn#116098, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:451, offset: 0x0247afba, size: 411 bytes, params: 2, frame: 27 const styles = useStyles(); const value2 = env0_6.useCallback(_fun116099, [channel, category]); const useChannelNameModule = require(4805) /* metro dependency 4805: useChannelName */; const channelName = useChannelNameModule.computeChannelName(category, UserStore, RelationshipStore); const TableRowGroup = (require(6231) /* metro dependency 6231: TableRowGroupNative */).TableRowGroup; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const formatToPlainString = intl.formatToPlainString; const t = (require(1244) /* metro dependency 1244: indexNative */).t; const r7 = locked ? Reflect.apply(formatToPlainString, intl, [t.ETJqLl, {categoryName: channelName}]) : Reflect.apply(formatToPlainString, intl, [t.OIhm0M, {categoryName: channelName}]); const TableRow = (require(6238) /* metro dependency 6238: TableRowNative */).TableRow; const object = {}; const RefreshIcon = (require(13127) /* metro dependency 13127: RefreshIcon */).RefreshIcon; object.icon = ; const string = intl.string; const NVwuHq = (require(1244) /* metro dependency 1244: indexNative */).t.NVwuHq; object.label = Reflect.apply(string, intl, [NVwuHq]); object.onPress = value2; return ( ); } function CategorySync({channel, category, isEditing, locked}) { // fn#116103, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:1636, offset: 0x0247b3cb, size: 77 bytes, params: 2, frame: 16 const value = null; return value == category || isEditing ? value : ; } function AddPermission({isEditing}) { // fn#116104, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:1789, offset: 0x0247b418, size: 471 bytes, params: 2, frame: 29 const styles = useStyles(); const env0_0 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation(); if (isEditing) { return null; } const TableRowGroup = (require(6231) /* metro dependency 6231: TableRowGroupNative */).TableRowGroup; const object = {}; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; object.title = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.vPHdP5); object.hasIcons = true; const TableRow = (require(6238) /* metro dependency 6238: TableRowNative */).TableRow; const PlusMediumIcon = (require(10375) /* metro dependency 10375: PlusMediumIcon */).PlusMediumIcon; const tableRow = } label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.fVWxvT)} onPress={function() { handleCreatePermissionOverwrite(PermissionOverrideType.ROLE); }} />; return ( {tableRow} } label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.riesLt)} onPress={function() { handleCreatePermissionOverwrite(PermissionOverrideType.MEMBER); }} /> ); } function RoleRow_116108({role, isEditing, onSelect, onDelete}) { // fn#116108, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:2424, offset: 0x0247b655, size: 308 bytes, params: 2, frame: 26 var r4; var CircleMinusIcon; var intl; const name = role.name; const colorString = role.colorString; const colorStrings = role.colorStrings; const isEveryoneRole2 = isEveryoneRole(role); const TableRow = (require(6238) /* metro dependency 6238: TableRowNative */).TableRow; const object2 = {}; const RoleLabel = (require(11025) /* metro dependency 11025: RoleLabel */).RoleLabel; object2.label = ; object2.arrow = !isEditing; if (isEditing) { if (isEveryoneRole2) { r4 = null; } else { CircleMinusIcon = (require(13770) /* metro dependency 13770: CircleMinusIcon */).CircleMinusIcon; var circleMinusIconProps = {color: (importDefault(697) /* metro dependency 697: native */).colors.ICON_FEEDBACK_CRITICAL}; intl = (require(1244) /* metro dependency 1244: indexNative */).intl; circleMinusIconProps.accessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.N86XcP); r4 = ; } } else { r4 = null; } object2.icon = r4; object2.onPress = isEditing ? isEveryoneRole2 ? onSelect : onDelete : onSelect; return ; } function RoleOverwrites({guild, channel, isEditing, onSelectRow, onDeleteRow}) { // fn#116109, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:2799, offset: 0x0247b789, size: 357 bytes, params: 2, frame: 23 var object2; var moduleValue2; const styles = useStyles(); const sortedRoles = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildRoleStore], function() { return GuildRoleStore.getSortedRoles(guild.id); }); object2 = {}; copyDataProperties(object2, channel.permissionOverwrites, undefined); let id = guild.id; if (object2[id] == null) { id = guild.id; moduleValue2 = importAll(3789) /* metro dependency 3789: PermissionUtils */; object2[id] = moduleValue2.makeEveryoneOverwrite(guild.id); } const value2 = sortedRoles.filter(_fun116111); const TableRowGroup = (require(6231) /* metro dependency 6231: TableRowGroupNative */).TableRowGroup; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; return ( {value2.map(_fun116112)} ); } function MemberRow({guildId, user, isEditing, onSelect, onDelete}) { // fn#116115, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:3402, offset: 0x0247b9c7, size: 231 bytes, params: 2, frame: 22 var CircleMinusIcon; var intl; const DetailedGuildIdentityUserRow = importDefault(12140) /* metro dependency 12140: DetailedGuildIdentityUserRow */; const defaultImportProps = {userId: user.id, guildId: guildId}; let r4 = isEditing ? onDelete : onSelect; defaultImportProps.onPress = r4; defaultImportProps.arrow = !isEditing; if (isEditing) { CircleMinusIcon = (require(13770) /* metro dependency 13770: CircleMinusIcon */).CircleMinusIcon; var circleMinusIconProps = {color: (importDefault(697) /* metro dependency 697: native */).colors.ICON_FEEDBACK_CRITICAL}; intl = (require(1244) /* metro dependency 1244: indexNative */).intl; circleMinusIconProps.accessibilityLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.N86XcP); r4 = ; } else { r4 = null; } defaultImportProps.leading = r4; return ; } function MemberOverwrites({channel, isEditing, onSelectRow, onDeleteRow}) { // fn#116116, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:3690, offset: 0x0247baae, size: 354 bytes, params: 2, frame: 24 var r0; var TableRowGroup; var intl; const env0_0 = channel.guild_id; const permissionOverwrites = channel.permissionOverwrites; const styles = useStyles(); const value2 = (importDefault(22) /* metro dependency 22 */)(permissionOverwrites); const value4 = value2.filter(function({type}) { return type === require(dependencyMap[29]).PermissionOverwriteType.MEMBER; }).map(function(a0) { return UserStore.getUser(a0.id); }); const value8 = value4.filter((require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish).sortBy(function({username}) { return username.toLowerCase(); }).value(); if (value8.length <= 0) { r0 = null; } else { var viewBindingProps = {style: styles.tableRowGroupContainer}; TableRowGroup = (require(6231) /* metro dependency 6231: TableRowGroupNative */).TableRowGroup; intl = (require(1244) /* metro dependency 1244: indexNative */).intl; r0 = {value8.map(_fun116120)}; } return r0; } function ChannelSettingsPermissionsOverview({channelId}) { // fn#116123, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:4381, offset: 0x0247bcb5, size: 663 bytes, params: 2, frame: 26 let env0_6 = undefined; const styles = useStyles(); const value2 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation(); const value3 = (require(566) /* metro dependency 566: flux */).useStateFromStores([ChannelStore], function() { return ChannelStore.getChannel(channelId); }, [channelId]); const channel = (require(566) /* metro dependency 566: flux */).useStateFromStores([ChannelStore], _fun116128); const guild = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildStore], _fun116129); const env0_4 = guild; const env0_5 = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildRoleStore], _fun116130); const value4 = env0_6.useMemo(_fun116131, [value3, channel]); const value6 = env0_4(env0_6.useState(false), 2); const property = value6[0]; env0_6 = property; const env0_7 = value6[1]; env0_6.useLayoutEffect(_fun116134, [value2, property, env0_6.useCallback(_fun116132, [])]); return value3 == null || guild == null ? null : ; } function _fun116099() { // fn#116099, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:548, offset: 0x0247b155, size: 364 bytes, params: 1, frame: 32 const defaultImport = importDefault(4647) /* metro dependency 4647: AlertActionCreators */; const show = defaultImport.show; const object3 = {}; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const string = intl.string; const t = (require(1244) /* metro dependency 1244: indexNative */).t; const YWMtRe = t.YWMtRe; object3.title = Reflect.apply(string, intl, [YWMtRe]); const format = intl.format; const property = t['iKW+jY']; const object4 = {}; const useChannelNameModule = require(4805) /* metro dependency 4805: useChannelName */; object4.channelName = useChannelNameModule.computeChannelName(channel, UserStore, RelationshipStore, true); const moduleValue2 = useChannelNameModule; object4.categoryName = moduleValue2.computeChannelName(category, UserStore, RelationshipStore); object3.body = Reflect.apply(format, intl, [property, object4]); object3.confirmText = intl.string(t.eW8Gy4); object3.cancelText = intl.string(t.s4uM3b); const env0_0 = env1_5(_fun116101); object3.onConfirm = onConfirm_116102; Reflect.apply(show, defaultImport, [object3]); } function handleCreatePermissionOverwrite(a0) { // fn#116105, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:1881, owner: AddPermission.handleCreatePermissionOverwrite, offset: 0x0247b5ef, size: 44 bytes, params: 2, frame: 14 const binding = env0_0; const push = binding.push; const NEW_PERMISSION = ChannelSettingsSections.NEW_PERMISSION; Reflect.apply(push, binding, [NEW_PERMISSION, {type: a0}]); } function _fun116111({id}) { // fn#116111, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:3066, offset: 0x0247b90e, size: 78 bytes, params: 2, frame: 13 const type = env0_4[id]?.type; const PermissionOverwriteType = (require(1909) /* metro dependency 1909: Server */).PermissionOverwriteType; const ROLE = PermissionOverwriteType.ROLE; return type === ROLE; } function _fun116112(a0) { // fn#116112, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:3314, offset: 0x0247b95c, size: 79 bytes, params: 2, frame: 16 const env0_0 = a0; return ( ); } function _fun116120(a0) { // fn#116120, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:4163, offset: 0x0247bc5f, size: 86 bytes, params: 2, frame: 17 const env0_0 = a0; return ( ); } function handlePressRow(a0, a1) { // fn#116124, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:4962, owner: ChannelSettingsPermissionsOverview.handlePressRow, offset: 0x0247bf4c, size: 58 bytes, params: 3, frame: 14 var binding; var push; if (!env0_6) { binding = env0_1; push = binding.push; value = environment.__proto__; Reflect.apply(push, binding, [ChannelSettingsSections.PERMISSION_OVERRIDES, {type: a0, id: a1}]); } } function handleClearPermissionOverwrite(a0) { // fn#116125, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:5039, owner: ChannelSettingsPermissionsOverview.handleClearPermissionOverwrite, offset: 0x0247bf86, size: 345 bytes, params: 2, frame: 23 const env0_0 = a0; const value2 = undefined; const r1 = env0_5 == null ? value2 : env0_5[a0]; const user = UserStore.getUser(a0); const r12 = r1 != null ? r1.name : user == null ? value2 : user.username; const defaultImport = importDefault(4647) /* metro dependency 4647: AlertActionCreators */; const show = defaultImport.show; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const formatToPlainString = intl.formatToPlainString; const t = (require(1244) /* metro dependency 1244: indexNative */).t; Reflect.apply(show, defaultImport, [{title: Reflect.apply(formatToPlainString, intl, [t.txPV7k, {name: r12}]), body: intl.format(t.xERCnZ, {name: r12}), cancelText: intl.string(t.gm1Vej), confirmText: intl.string(t.p89ACt), onConfirm: onConfirm_116126}]); return value2; } function _fun116128() { // fn#116128, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:4573, offset: 0x0247c114, size: 47 bytes, params: 1, frame: 13 return ChannelStore.getChannel(env0_2?.parent_id); } function _fun116129() { // fn#116129, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:4655, offset: 0x0247c143, size: 47 bytes, params: 1, frame: 13 return GuildStore.getGuild(env0_2?.guild_id); } function _fun116130() { // fn#116130, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:4734, offset: 0x0247c172, size: 47 bytes, params: 1, frame: 12 return guild != null ? GuildRoleStore.getRolesSnapshot(guild.id) : undefined; } function _fun116131() { // fn#116131, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:4793, offset: 0x0247c1a1, size: 63 bytes, params: 1, frame: 14 var r0; var value3; var moduleValue; const value2 = env0_2 != null; if (value2) { value3 = environment.__proto__; moduleValue = importAll(3789) /* metro dependency 3789: PermissionUtils */; r0 = moduleValue.areChannelsLocked(env0_2, channel); } else { r0 = value2; } return r0; } function _fun116132() { // fn#116132, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:4903, offset: 0x0247c1e0, size: 58 bytes, params: 1, frame: 12 var environment; env0_7(function(a0) { return !a0; }); const value = environment.__proto__; (require(5465) /* metro dependency 5465: DeprecatedLayoutAnimation */).DeprecatedLayoutAnimation(); } function _fun116134() { // fn#116134, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:5541, offset: 0x0247c21a, size: 38 bytes, params: 1, frame: 12 const binding = env0_1; binding.setOptions({headerRight: headerRight_116135}); } function ChannelSettingsPermissionsOverviewOnSelectRow_116138(a0) { // fn#116138, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:6066, owner: ChannelSettingsPermissionsOverview.onSelectRow, offset: 0x0247c2fc, size: 33 bytes, params: 2, frame: 13 const handlePressRowBinding = handlePressRow; const MEMBER = PermissionOverrideType.MEMBER; handlePressRowBinding(MEMBER, a0); } function* _fun116101() { // fn#116101, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:887, offset: 0x0247b2cc, size: 255 bytes, params: 1, frame: 21 var value5; var binding; var value6; var binding2; var value11; var saveChannel; var id; var object3; if (true) { value = environment.__proto__.__proto__; var guild_id = importDefault.guild_id; var object4 = {}; copyDataProperties(object4, importDefault.permissionOverwrites, undefined); if (guild_id != null && object4[guild_id] == null) { value5 = environment.__proto__.__proto__.__proto__; value6 = env3_2(env3_3[17]); object4[guild_id] = value6.makeEveryoneOverwrite(guild_id); } var value8 = env3_0(env3_3[18]); yield value8.checkChattableChannelThresholdMetAfterChannelPermissionDeny(require, object4[guild_id].deny, object4[guild_id].allow); var value9 = undefined; if (false) { return value9; } if (value9) { binding = env3_0; binding2 = env3_3; value11 = binding(binding2[19]); saveChannel = value11.saveChannel; id = require.id; object3 = {}; binding = env3_1; object3.permissionOverwrites = binding(binding2[20]).values(object4); Reflect.apply(saveChannel, value11, [id, object3]); } } } function onSelect_116113() { // fn#116113, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:3356, offset: 0x0247b9ab, size: 28 bytes, params: 1, frame: 11 return onSelectRow(env0_0.id); } function handleClearPermissionOverwriteOnConfirm() { // fn#116126, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:5416, owner: ChannelSettingsPermissionsOverview.handleClearPermissionOverwrite.onConfirm, offset: 0x0247c0df, size: 53 bytes, params: 1, frame: 14 const binding = env0_0; let value = environment.__proto__.__proto__; value = importDefault(4603) /* metro dependency 4603: ChannelActionCreators */; value.clearPermissionOverwrite(channelId, binding); } function headerRight_116135(a0) { // fn#116135, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15386:5572, offset: 0x0247c240, size: 155 bytes, params: 2, frame: 19 const value = environment.__proto__.__proto__; const HeaderTextButton = (require(9603) /* metro dependency 9603: HeaderShared */).HeaderTextButton; const headerTextButtonProps = {...a0}; headerTextButtonProps['onPress'] = env1_8; const binding = env1_6; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const string = intl.string; const t = (require(1244) /* metro dependency 1244: indexNative */).t; headerTextButtonProps['label'] = binding ? Reflect.apply(string, intl, [t.i4jeWR]) : Reflect.apply(string, intl, [t.bt75uw]); return ; }