/* 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 ;
}