// Module ID: 15580 // Function ID: 120046 // Name: ChannelPermissionSyncModule // Dependencies: [57, 5, 31, 27, 1912, 1348, 1911, 1838, 3768, 1850, 653, 33, 4131, 689, 4471, 1212, 4321, 3764, 8217, 7627, 22, 5501, 5164, 13574, 1456, 11792, 9522, 14263, 566, 1882, 10141, 1327, 5161, 9050, 4141, 2] // Exports: default // Module 15580 (ChannelPermissionSyncModule) import _slicedToArray from "_slicedToArray"; import _isNativeReflectConstruct from "_isNativeReflectConstruct"; import isDiscordFrontendDevelopment from "isDiscordFrontendDevelopment"; import { View } from "CircleMinusIcon"; import { isEveryoneRole } from "GuildRoleRecordTypeTag"; import closure_9 from "_isNativeReflectConstruct"; import closure_10 from "_createForOfIteratorHelperLoose"; import closure_11 from "_createForOfIteratorHelperLoose"; import closure_12 from "_isNativeReflectConstruct"; import closure_13 from "_isNativeReflectConstruct"; import ME from "ME"; import jsxProd from "GenericHeaderTitle"; import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose"; let closure_14; let closure_15; let closure_16; let closure_17; const require = arg1; function ChannelPermissionSyncModule(channel) { channel = channel.channel; const category = channel.category; const items = [channel, category]; const callback = React.useCallback(() => { let obj = category(outer1_3[14]); obj = {}; const intl = channel(outer1_3[15]).intl; obj.title = intl.string(channel(outer1_3[15]).t.YWMtRe); const intl2 = channel(outer1_3[15]).intl; obj = { channelName: channel(outer1_3[16]).computeChannelName(closure_0, outer1_13, outer1_12, true) }; const obj4 = channel(outer1_3[16]); obj.categoryName = channel(outer1_3[16]).computeChannelName(category, outer1_13, outer1_12); obj.body = intl2.format(channel(outer1_3[15]).t["iKW+jY"], obj); const intl3 = channel(outer1_3[15]).intl; obj.confirmText = intl3.string(channel(outer1_3[15]).t.eW8Gy4); const intl4 = channel(outer1_3[15]).intl; obj.cancelText = intl4.string(channel(outer1_3[15]).t.s4uM3b); // CreateGeneratorClosureLongIndex (0x67) closure_0 = outer1_5(tmp); obj.onConfirm = function() { return callback(...arguments); }; obj.show(obj); }, items); let obj = channel(4321); const channelName = obj.computeChannelName(category, closure_13, closure_12); obj = { style: _createForOfIteratorHelperLoose().tableRowGroupContainer }; obj = {}; let intl = channel(1212).intl; const formatToPlainString = intl.formatToPlainString; const t = channel(1212).t; if (channel.locked) { const obj1 = { categoryName: channelName }; let formatToPlainStringResult = formatToPlainString(t.ETJqLl, obj1); } else { const obj2 = { categoryName: channelName }; formatToPlainStringResult = formatToPlainString(t.OIhm0M, obj2); } obj.title = formatToPlainStringResult; obj.hasIcons = true; const obj3 = { icon: callback(channel(13574).RefreshIcon, {}) }; let intl2 = channel(1212).intl; obj3.label = intl2.string(channel(1212).t.NVwuHq); obj3.onPress = callback; obj.children = callback(channel(5164).TableRow, obj3); obj.children = callback(channel(5501).TableRowGroup, obj); return callback(View, obj); } function CategorySync(category) { category = category.category; let tmp4 = null; if (null != category) { tmp4 = null; if (!tmp2) { const obj = { channel: tmp, category, locked: tmp3 }; tmp4 = callback(ChannelPermissionSyncModule, obj); } } return tmp4; } function AddPermission(isEditing) { let _require; function handleCreatePermissionOverwrite(MEMBER) { } let obj = _require(1456); _require = obj.useNavigation(); if (isEditing.isEditing) { return null; } else { obj = { style: tmp.tableRowGroupContainer }; obj = {}; const intl = _require(1212).intl; obj.title = intl.string(_require(1212).t.vPHdP5); obj.hasIcons = true; const obj1 = { icon: callback(_require(11792).PlusMediumIcon, {}) }; const intl2 = _require(1212).intl; obj1.label = intl2.string(_require(1212).t.fVWxvT); obj1.onPress = function onPress() { handleCreatePermissionOverwrite(outer1_14.ROLE); }; const items = [callback(_require(5164).TableRow, obj1), ]; const obj2 = { icon: callback(_require(11792).PlusMediumIcon, {}) }; const intl3 = _require(1212).intl; obj2.label = intl3.string(_require(1212).t.riesLt); obj2.onPress = function onPress() { handleCreatePermissionOverwrite(outer1_14.MEMBER); }; items[1] = callback(_require(5164).TableRow, obj2); obj.children = items; obj.children = callback2(_require(5501).TableRowGroup, obj); return callback(View, obj); } tmp = _createForOfIteratorHelperLoose(); } function RoleRow(onDelete) { let colorString; let colorStrings; let isEditing; let name; let onSelect; let role; ({ role, isEditing, onSelect } = onDelete); ({ name, colorString, colorStrings } = role); const tmp = isEveryoneRole(role); let obj = { label: callback(require(9522) /* RoleLabel */.RoleLabel, { name, color: colorString, colors: colorStrings }), arrow: !isEditing }; let tmp3 = null; if (isEditing) { tmp3 = null; if (!tmp) { obj = { color: importDefault(689).colors.ICON_FEEDBACK_CRITICAL }; const intl = require(1212) /* getSystemLocale */.intl; obj.accessibilityLabel = intl.string(require(1212) /* getSystemLocale */.t.N86XcP); tmp3 = callback(require(14263) /* CircleMinusIcon */.CircleMinusIcon, obj); } } obj.icon = tmp3; onDelete = onSelect; if (isEditing) { onDelete = onSelect; if (!tmp) { onDelete = onDelete.onDelete; } } obj.onPress = onDelete; return callback(require(5164) /* TableRowInner */.TableRow, obj); } function RoleOverwrites(guild) { let dependencyMap; let importAll; let importDefault; guild = guild.guild; ({ isEditing: importDefault, onSelectRow: importAll, onDeleteRow: dependencyMap } = guild); let obj = guild(566); const items = [closure_10]; const stateFromStores = obj.useStateFromStores(items, () => outer1_10.getSortedRoles(guild.id)); obj = {}; const merged = Object.assign(guild.channel.permissionOverwrites); if (null == obj[guild.id]) { obj[guild.id] = importAll(3764).makeEveryoneOverwrite(guild.id); const obj3 = importAll(3764); } const found = stateFromStores.filter((arg0) => { let type; if (null != obj[arg0.id]) { type = tmp.type; } return type === guild(outer1_3[29]).PermissionOverwriteType.ROLE; }); obj = { style: _createForOfIteratorHelperLoose().tableRowGroupContainer }; const obj1 = {}; const intl = guild(1212).intl; obj1.title = intl.string(guild(1212).t["LPJmL/"]); obj1.hasIcons = true; obj1.children = found.map((id) => { let closure_0 = id; return outer1_16(outer1_22, { role: id, isEditing: closure_1, onSelect() { return outer1_2(user.id); }, onDelete() { return outer1_3(user.id); } }, id.id); }); obj.children = callback(guild(5501).TableRowGroup, obj1); return callback(View, obj); } function MemberRow(arg0) { let guildId; let isEditing; let onDelete; let onSelect; let user; ({ isEditing, onSelect } = arg0); ({ guildId, user, onDelete } = arg0); let obj = { userId: user.id, guildId }; if (isEditing) { onSelect = onDelete; } obj.onPress = onSelect; obj.arrow = !isEditing; let tmp3 = null; if (isEditing) { obj = { color: importDefault(689).colors.ICON_FEEDBACK_CRITICAL }; const intl = require(1212) /* getSystemLocale */.intl; obj.accessibilityLabel = intl.string(require(1212) /* getSystemLocale */.t.N86XcP); tmp3 = callback(require(14263) /* CircleMinusIcon */.CircleMinusIcon, obj); } obj.leading = tmp3; return callback(importDefault(10141), obj); } function MemberOverwrites(channel) { let dependencyMap; let importAll; let importDefault; channel = channel.channel; const guild_id = channel.guild_id; ({ isEditing: importDefault, onSelectRow: importAll, onDeleteRow: dependencyMap } = channel); const tmp = _createForOfIteratorHelperLoose(); const found = importDefault(22)(channel.permissionOverwrites).filter((type) => type.type === guild_id(outer1_3[29]).PermissionOverwriteType.MEMBER); const mapped = found.map((id) => outer1_13.getUser(id.id)); const found1 = mapped.filter(guild_id(1327).isNotNullish); const arr = importDefault(22)(channel.permissionOverwrites); const valueResult = found1.sortBy((username) => username.username.toLowerCase()).value(); let tmp2 = null; if (valueResult.length > 0) { let obj = { style: tmp.tableRowGroupContainer }; obj = {}; const intl = guild_id(1212).intl; obj.title = intl.string(guild_id(1212).t["9Oq93m"]); obj.hasIcons = true; obj.children = valueResult.map((id) => { let closure_0 = id; return outer1_16(outer1_24, { guildId: closure_0, user: id, isEditing: closure_1, onSelect() { return outer1_2(user.id); }, onDelete() { return outer1_3(user.id); } }, id.id); }); obj.children = callback(guild_id(5501).TableRowGroup, obj); tmp2 = callback(View, obj); } return tmp2; } ({ PermissionOverrideType: closure_14, ChannelSettingsSections: closure_15 } = ME); ({ jsx: closure_16, jsxs: closure_17 } = jsxProd); _createForOfIteratorHelperLoose = {}; _createForOfIteratorHelperLoose = { marginBottom: require("_createForOfIteratorHelperLoose").space.PX_16 }; _createForOfIteratorHelperLoose.tableRowGroupContainer = _createForOfIteratorHelperLoose; _createForOfIteratorHelperLoose.tableContainer = { marginHorizontal: require("_createForOfIteratorHelperLoose").space.PX_12 }; _createForOfIteratorHelperLoose = _createForOfIteratorHelperLoose.createStyles(_createForOfIteratorHelperLoose); let obj1 = { marginHorizontal: require("_createForOfIteratorHelperLoose").space.PX_12 }; let result = require("result").fileFinishedImporting("components_native/channel_settings/ChannelSettingsPermissionsOverview.tsx"); export default function ChannelSettingsPermissionsOverview(channelId) { channelId = channelId.channelId; let navigation; let _isNativeReflectConstruct; let first; function handlePressRow(MEMBER, id) { if (!first) { const obj = { type: MEMBER, id }; navigation.push(outer1_15.PERMISSION_OVERRIDES, obj); } } function handleClearPermissionOverwrite(arg0) { let closure_0 = arg0; let tmp; if (null != table) { tmp = table[arg0]; } const user = outer1_13.getUser(arg0); if (null != tmp) { let username = tmp.name; } else if (null != user) { username = user.username; } let obj = navigation(stateFromStores1[14]); obj = {}; const intl = channelId(stateFromStores1[15]).intl; obj = { name: username }; obj.title = intl.formatToPlainString(channelId(stateFromStores1[15]).t.txPV7k, obj); const intl2 = channelId(stateFromStores1[15]).intl; const obj1 = { name: username }; obj.body = intl2.format(channelId(stateFromStores1[15]).t.xERCnZ, obj1); const intl3 = channelId(stateFromStores1[15]).intl; obj.cancelText = intl3.string(channelId(stateFromStores1[15]).t.gm1Vej); const intl4 = channelId(stateFromStores1[15]).intl; obj.confirmText = intl4.string(channelId(stateFromStores1[15]).t.p89ACt); obj.onConfirm = function onConfirm() { const result = navigation(stateFromStores1[34]).clearPermissionOverwrite(closure_0, closure_0); }; obj.show(obj); } let obj = channelId(stateFromStores1[24]); navigation = obj.useNavigation(); let obj1 = channelId(stateFromStores1[28]); const items = [handlePressRow]; const items1 = [channelId]; const stateFromStores = obj1.useStateFromStores(items, () => handlePressRow.getChannel(channelId), items1); let obj2 = channelId(stateFromStores1[28]); const items2 = [handlePressRow]; stateFromStores1 = obj2.useStateFromStores(items2, () => { let parent_id; if (null != stateFromStores) { parent_id = stateFromStores.parent_id; } return handlePressRow.getChannel(parent_id); }); let obj3 = channelId(stateFromStores1[28]); const items3 = [closure_11]; const stateFromStores2 = obj3.useStateFromStores(items3, () => { let guild_id; if (null != stateFromStores) { guild_id = stateFromStores.guild_id; } return outer1_11.getGuild(guild_id); }); let tmp = _createForOfIteratorHelperLoose(); const items4 = [handleClearPermissionOverwrite]; _isNativeReflectConstruct = channelId(stateFromStores1[28]).useStateFromStores(items4, () => { let rolesSnapshot; if (null != stateFromStores2) { rolesSnapshot = handleClearPermissionOverwrite.getRolesSnapshot(stateFromStores2.id); } return rolesSnapshot; }); const items5 = [stateFromStores, stateFromStores1]; const memo = first.useMemo(() => { let areChannelsLockedResult = null != stateFromStores; if (areChannelsLockedResult) { areChannelsLockedResult = stateFromStores(stateFromStores1[17]).areChannelsLocked(stateFromStores, stateFromStores1); const obj = stateFromStores(stateFromStores1[17]); } return areChannelsLockedResult; }, items5); const tmp7 = stateFromStores2(first.useState(false), 2); first = tmp7[0]; let closure_7 = tmp7[1]; const callback = first.useCallback(() => { callback((arg0) => !arg0); const result = channelId(stateFromStores1[32]).DeprecatedLayoutAnimation(); }, []); const items6 = [navigation, first, callback]; const layoutEffect = first.useLayoutEffect(() => { navigation.setOptions({ headerRight(arg0) { const obj = {}; const merged = Object.assign(arg0); obj["onPress"] = outer1_8; const intl = channelId(stateFromStores1[15]).intl; const string = intl.string; const t = channelId(stateFromStores1[15]).t; if (outer1_6) { let stringResult = string(t.i4jeWR); } else { stringResult = string(t.bt75uw); } obj["label"] = stringResult; return outer2_16(channelId(stateFromStores1[33]).HeaderTextButton, obj); } }); }, items6); let tmp11 = null; if (null != stateFromStores) { tmp11 = null; if (null != stateFromStores2) { obj = { style: tmp.tableContainer }; obj = { channel: stateFromStores, category: stateFromStores1, isEditing: first, locked: memo }; const items7 = [callback(CategorySync, obj), , , ]; obj1 = { isEditing: first }; items7[1] = callback(AddPermission, obj1); obj2 = { guild: stateFromStores2, channel: stateFromStores, isEditing: first, onSelectRow(id) { handlePressRow(outer1_14.ROLE, id); }, onDeleteRow(arg0) { handleClearPermissionOverwrite(arg0); } }; items7[2] = callback(RoleOverwrites, obj2); obj3 = { channel: stateFromStores, isEditing: first, onSelectRow(id) { handlePressRow(outer1_14.MEMBER, id); }, onDeleteRow(arg0) { handleClearPermissionOverwrite(arg0); } }; items7[3] = callback(MemberOverwrites, obj3); obj.children = items7; tmp11 = callback2(closure_7, obj); } } return tmp11; };