decord/source/components_native/channel_settings/ChannelSettingsPermissionsOverrides.tsx

407 lines
16 KiB
TypeScript
Raw Normal View History

2026-08-25 06:04:03 +00:00
// Module ID: 16175
// Function ID: 16176
2026-07-20 16:05:17 +00:00
// Name: ChannelSettingsPermissionsOverrides
2026-08-25 06:04:03 +00:00
// Dependencies: [32, 5, 19, 17, 1434, 1391, 1985, 1910, 4025, 4034, 1922, 676, 21, 4380, 712, 1500, 1629, 589, 4030, 506, 9146, 4393, 1955, 4224, 4744, 1236, 4094, 1995, 1399, 16176, 8539, 4376, 4574, 9845, 5480, 5873, 16180, 500, 16181, 2]
2026-07-20 16:05:17 +00:00
// Exports: default
2026-08-25 06:04:03 +00:00
// Module 16175 (ChannelSettingsPermissionsOverrides)
2026-08-24 06:08:38 +00:00
import ThemesDefault from "Themes" /* 712 */;
import closure_4 from "_slicedToArray" /* 32 */;
import closure_5 from "asyncGeneratorStep" /* 5 */;
import closure_6 from "noop" /* 19 */;
import get_ActivityIndicator from "get ActivityIndicator" /* 17 */;
import { isGuildOwner } from "GuildNSFWContentLevel" /* 1434 */;
import closure_10 from "ensureGuildLoaded" /* 1391 */;
2026-08-25 06:04:03 +00:00
import closure_11 from "createGuildRoleRecordFromRust" /* 1985 */;
2026-08-24 06:08:38 +00:00
import closure_12 from "createGuildRecordFromRust" /* 1910 */;
2026-08-25 06:04:03 +00:00
import closure_13 from "getUncachedChannelPermissions" /* 4025 */;
import closure_14 from "markAllUserIdListsStale" /* 4034 */;
2026-08-24 06:08:38 +00:00
import closure_15 from "mergeGuildAvatar" /* 1922 */;
import ME from "ME" /* 676 */;
import jsxProd from "jsxProd" /* 21 */;
2026-08-25 06:04:03 +00:00
import createCacheKey from "createCacheKey" /* 4380 */;
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-08-24 06:08:38 +00:00
({ View: error, ScrollView: closure_8 } = get_ActivityIndicator);
2026-07-23 10:11:24 +00:00
({ PermissionOverrideType: closure_16, HelpdeskArticles: closure_17, Permissions: closure_18 } = ME);
({ jsx: closure_19, jsxs: closure_20 } = jsxProd);
2026-07-29 08:29:29 +00:00
createCacheKey = { container: null, containerContent: null, section: null };
2026-08-24 06:08:38 +00:00
createCacheKey = { backgroundColor: ThemesDefault.colors.BACKGROUND_BASE_LOWER };
2026-07-29 08:29:29 +00:00
createCacheKey[0] = createCacheKey;
2026-08-24 06:08:38 +00:00
createCacheKey[1] = { paddingTop: ThemesDefault.space.PX_16, paddingBottom: ThemesDefault.space.PX_16, paddingHorizontal: ThemesDefault.space.PX_12 };
let obj1 = { paddingTop: ThemesDefault.space.PX_16, paddingBottom: ThemesDefault.space.PX_16, paddingHorizontal: ThemesDefault.space.PX_12 };
createCacheKey[2] = { marginBottom: ThemesDefault.space.PX_16 };
let closure_21 = createCacheKey.createStyles(createCacheKey);
let obj2 = { marginBottom: ThemesDefault.space.PX_16 };
const result = require("set").fileFinishedImporting("components_native/channel_settings/ChannelSettingsPermissionsOverrides.tsx");
2026-07-20 16:05:17 +00:00
export default function ChannelSettingsPermissionsOverrides(fromCreate) {
2026-07-29 08:29:29 +00:00
({ channelId: closure_0, id } = fromCreate);
2026-07-20 16:05:17 +00:00
fromCreate = fromCreate.fromCreate;
2026-08-24 06:08:38 +00:00
dependencyMap = undefined;
let callback;
let callback2;
2026-07-20 16:05:17 +00:00
let React;
2026-08-24 06:08:38 +00:00
closure_7 = undefined;
closure_8 = undefined;
2026-07-29 08:29:29 +00:00
let first;
2026-08-24 06:08:38 +00:00
const tmp = callback5();
2026-07-29 08:29:29 +00:00
dependencyMap = tmp;
2026-08-15 05:55:55 +00:00
let obj = _require(1500);
2026-08-24 06:08:38 +00:00
const navigation = obj.useNavigation();
callback = navigation;
obj1 = _require(589);
2026-07-20 16:05:17 +00:00
const items = [closure_10];
2026-08-24 06:08:38 +00:00
const stateFromStores = obj1.useStateFromStores(items, () => closure_1_10.getChannel(closure_0));
callback2 = stateFromStores;
2026-07-29 08:29:29 +00:00
_require = undefined;
2026-08-24 06:08:38 +00:00
_require = callback2((arg0, arg1) => {
closure_0 = arg0;
closure_1 = arg1;
let name = 0;
c5 = 0;
2026-07-29 08:29:29 +00:00
return (function*(guild_id) {
if (c5 === 2) {
c5 = 3;
let throwTypeErrorResult = HermesBuiltin.throwTypeError();
} else {
throwTypeErrorResult = arg1;
throwTypeErrorResult = guild_id;
throwTypeErrorResult = tmp3;
if (tmp4 === 3) {
if (guild_id === 1) {
throw arg1;
} else if (guild_id === 2) {
let obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
2026-08-25 06:04:03 +00:00
return { value: "HermesInternal", done: "HermesInternal" };
2026-07-29 08:29:29 +00:00
}
} else {
try {
c5 = 2;
2026-08-24 06:08:38 +00:00
if (0 === c4) {
2026-07-29 08:29:29 +00:00
if (guild_id === 1) {
c5 = 3;
throw arg1;
} else if (guild_id === 2) {
c5 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
2026-08-24 06:08:38 +00:00
obj1 = tmp5;
2026-07-29 08:29:29 +00:00
let everyoneOverwrite = tmp2;
throwTypeErrorResult = callback;
throwTypeErrorResult = c1;
c1 = undefined;
everyoneOverwrite = undefined;
obj1 = undefined;
2026-08-24 06:08:38 +00:00
c4 = undefined;
2026-07-29 08:29:29 +00:00
c5 = undefined;
2026-08-24 06:08:38 +00:00
c6 = undefined;
c7 = undefined;
2026-07-29 08:29:29 +00:00
throwTypeErrorResult = c5;
throwTypeErrorResult = closure_1 === c5.guild_id;
c1 = throwTypeErrorResult;
throwTypeErrorResult = c5;
let tmp10 = c5.permissionOverwrites[closure_1];
everyoneOverwrite = tmp10;
throwTypeErrorResult = null;
let tmp6 = null == tmp10;
throwTypeErrorResult = closure_1;
if (tmp6) {
tmp6 = throwTypeErrorResult;
}
if (tmp6) {
2026-08-25 06:04:03 +00:00
obj1 = fromCreate(4030);
2026-07-29 08:29:29 +00:00
everyoneOverwrite = obj1.makeEveryoneOverwrite(throwTypeErrorResult);
tmp10 = everyoneOverwrite;
}
obj1 = {};
const merged = Object.assign(tmp10);
let obj3 = fromCreate(506);
obj1.deny = obj3.remove(obj1.deny, throwTypeErrorResult);
let obj4 = fromCreate(506);
obj1.allow = obj4.remove(obj1.allow, throwTypeErrorResult);
2026-08-25 06:04:03 +00:00
if (throwTypeErrorResult === callback(4030).ALLOW) {
2026-07-29 08:29:29 +00:00
obj1.allow = fromCreate(506).add(obj1.allow, throwTypeErrorResult);
const obj9 = fromCreate(506);
} else {
throwTypeErrorResult = callback;
throwTypeErrorResult = dependencyMap;
2026-08-25 06:04:03 +00:00
if (throwTypeErrorResult === callback(4030).DENY) {
2026-07-29 08:29:29 +00:00
throwTypeErrorResult = c5;
if (null != c5.guild_id) {
if (throwTypeErrorResult) {
2026-08-24 06:08:38 +00:00
c4 = 1;
2026-07-29 08:29:29 +00:00
c5 = 1;
const obj2 = { value: null, done: false };
2026-08-25 06:04:03 +00:00
obj2[0] = callback(9146).checkChattableChannelThresholdMetAfterChannelPermissionDeny(c5, throwTypeErrorResult);
2026-07-29 08:29:29 +00:00
return obj2;
}
}
}
}
obj3 = {};
2026-08-24 06:08:38 +00:00
obj3[closure_1_3.id] = closure_1_3;
if (closure_2_13.can(callback, c5, obj3)) {
2026-07-29 08:29:29 +00:00
throwTypeErrorResult = id;
throwTypeErrorResult = dependencyMap;
throwTypeErrorResult = c5;
2026-08-24 06:08:38 +00:00
throwTypeErrorResult = closure_1_3;
2026-08-25 06:04:03 +00:00
throwTypeErrorResult = id(4393).updatePermissionOverwrite(c5.id, closure_1_3);
2026-07-29 08:29:29 +00:00
c5 = 3;
2026-08-25 06:04:03 +00:00
const obj17 = id(4393);
2026-08-24 06:08:38 +00:00
} else if (closure_2_13.can(callback, c5)) {
2026-07-29 08:29:29 +00:00
if (!closure_1) {
2026-08-24 06:08:38 +00:00
if (!obj11.has(closure_1_2.allow, callback)) {
if (!obj12.has(closure_1_2.deny, callback)) {
2026-08-25 06:04:03 +00:00
closure_1_6(callback, callback(4030).ALLOW);
2026-07-29 08:29:29 +00:00
}
obj12 = fromCreate(506);
}
obj11 = fromCreate(506);
}
}
const type = fromCreate.type;
2026-08-25 06:04:03 +00:00
if (callback(1955).PermissionOverwriteType.MEMBER === type) {
2026-08-24 06:08:38 +00:00
const user = closure_2_15.getUser(fromCreate.id);
if (null != user) {
2026-08-25 06:04:03 +00:00
const name2 = id(4224).getName(user);
const obj13 = id(4224);
2026-07-29 08:29:29 +00:00
}
} else {
throwTypeErrorResult = obj1;
throwTypeErrorResult = callback;
throwTypeErrorResult = dependencyMap;
2026-08-25 06:04:03 +00:00
if (callback(1955).PermissionOverwriteType.ROLE === type) {
2026-08-24 06:08:38 +00:00
id = closure_2_12.getGuild(c5.guild_id);
2026-07-29 08:29:29 +00:00
if (null != id) {
throwTypeErrorResult = everyoneOverwrite;
throwTypeErrorResult = obj1;
2026-08-24 06:08:38 +00:00
throwTypeErrorResult = closure_2_11;
2026-07-29 08:29:29 +00:00
throwTypeErrorResult = id;
throwTypeErrorResult = fromCreate;
2026-08-24 06:08:38 +00:00
const role = closure_2_11.getRole(id.id, fromCreate.id);
2026-07-29 08:29:29 +00:00
throwTypeErrorResult = role;
if (null != role) {
2026-08-24 06:08:38 +00:00
name = closure_1_7.name;
2026-07-29 08:29:29 +00:00
}
}
} else {
const type2 = fromCreate.type;
}
}
obj4 = { title: null, body: null, cancelText: null, confirmText: null, onConfirm: null };
const intl = callback(1236).intl;
obj4[0] = intl.string(callback(1236).t.vElC9b);
const intl2 = callback(1236).intl;
throwTypeErrorResult = callback;
throwTypeErrorResult = dependencyMap;
let obj5 = { name: null };
2026-08-24 06:08:38 +00:00
throwTypeErrorResult = c4;
obj5[0] = c4;
2026-07-29 08:29:29 +00:00
obj4[1] = intl2.format(callback(1236).t.yslqFM, obj5);
throwTypeErrorResult = callback;
throwTypeErrorResult = dependencyMap;
const intl3 = callback(1236).intl;
throwTypeErrorResult = callback;
throwTypeErrorResult = dependencyMap;
obj4[2] = intl3.string(callback(1236).t["ETE/oC"]);
throwTypeErrorResult = callback;
throwTypeErrorResult = dependencyMap;
const intl4 = callback(1236).intl;
throwTypeErrorResult = callback;
throwTypeErrorResult = dependencyMap;
obj4[3] = intl4.string(callback(1236).t.psXQHP);
obj4[4] = function onConfirm() {
const obj = _undefined(obj1[26]);
obj.openURL(_undefined(obj1[27]).getArticleURL(constants.PERMISSIONS_LOCKOUT));
};
2026-08-25 06:04:03 +00:00
throwTypeErrorResult = id(4744).show(obj4);
const obj14 = id(4744);
2026-07-29 08:29:29 +00:00
}
} else if (guild_id === 1) {
c5 = 3;
throw arg1;
} else if (guild_id === 2) {
c5 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else if (!arg1) {
c5 = 3;
2026-08-25 06:04:03 +00:00
return { value: "HermesInternal", done: "HermesInternal" };
2026-07-29 08:29:29 +00:00
}
obj5 = fromCreate(506);
obj1.deny = obj5.add(obj1.deny, callback);
} catch (throwTypeErrorResult) {
c5 = throwTypeErrorResult;
throw throwTypeErrorResult;
}
}
}
})();
});
2026-07-20 16:05:17 +00:00
const items1 = [stateFromStores, id];
2026-07-29 08:29:29 +00:00
React = React.useCallback(function() {
const self = this;
const apply = closure_0.apply;
if (typeof apply === "unknown") {
let applyArgumentsResult = HermesBuiltin.applyArguments(self);
} else {
applyArgumentsResult = apply(self, arguments);
}
return applyArgumentsResult;
}, items1);
2026-07-20 16:05:17 +00:00
const items2 = [stateFromStores];
2026-07-29 08:29:29 +00:00
closure_7 = React.useCallback((arg0) => {
2026-08-24 06:08:38 +00:00
const guild = closure_1_12.getGuild(closure_5.guild_id);
const currentUser = closure_1_15.getCurrentUser();
2026-07-20 16:05:17 +00:00
if (null != guild) {
if (null != currentUser) {
let canResult = first(guild, currentUser);
if (!canResult) {
2026-08-24 06:08:38 +00:00
canResult = closure_1_13.can(closure_1_18.ADMINISTRATOR, guild);
2026-07-20 16:05:17 +00:00
}
if (!canResult) {
2026-08-24 06:08:38 +00:00
canResult = closure_1_13.can(closure_1_18.MANAGE_ROLES, obj, undefined, undefined, true);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (obj.isGuildStageVoice()) {
2026-08-24 06:08:38 +00:00
const STAGE_CHANNEL_DISABLED_PERMISSIONS = callback(section[28]).STAGE_CHANNEL_DISABLED_PERMISSIONS;
2026-07-29 08:29:29 +00:00
if (STAGE_CHANNEL_DISABLED_PERMISSIONS.has(arg0)) {
const intl2 = tmp11(tmp12[25]).intl;
let stringResult = intl2.string(tmp11(tmp12[25]).t.bTS5lf);
2026-07-20 16:05:17 +00:00
}
return stringResult;
}
2026-08-24 06:08:38 +00:00
stringResult = arg0 === closure_1_18.MANAGE_ROLES && !canResult;
2026-07-20 16:05:17 +00:00
if (!stringResult) {
2026-07-29 08:29:29 +00:00
let tmp15 = null != arg0;
2026-07-20 16:05:17 +00:00
if (tmp15) {
2026-08-24 06:08:38 +00:00
tmp15 = !closure_1_13.can(arg0, guild);
2026-07-20 16:05:17 +00:00
}
if (tmp15) {
tmp15 = !canResult;
}
stringResult = tmp15;
}
if (stringResult) {
2026-08-24 06:08:38 +00:00
const intl = callback(section[25]).intl;
stringResult = intl.string(callback(section[25]).t.nOtPMM);
2026-07-20 16:05:17 +00:00
}
}
}
return false;
}, items2);
const items3 = [stateFromStores, id];
2026-07-29 08:29:29 +00:00
closure_8 = React.useCallback((arg0) => {
2026-07-20 16:05:17 +00:00
let allow;
2026-08-24 06:08:38 +00:00
if (closure_5.permissionOverwrites[id] != null) {
2026-07-20 16:05:17 +00:00
allow = tmp.allow;
}
if (obj.has(allow, arg0)) {
2026-07-29 08:29:29 +00:00
let ALLOW = callback(tmp3[18]).ALLOW;
2026-07-20 16:05:17 +00:00
} else {
let deny;
2026-07-29 08:29:29 +00:00
if (tmp != null) {
2026-07-20 16:05:17 +00:00
deny = tmp.deny;
}
2026-07-29 08:29:29 +00:00
const hasItem = fromCreate(tmp3[19]).has(deny, arg0);
const tmp8 = callback(tmp3[18]);
ALLOW = hasItem ? tmp8.DENY : tmp8.PASSTHROUGH;
const tmp2Result = fromCreate(tmp3[19]);
2026-07-20 16:05:17 +00:00
}
return ALLOW;
}, items3);
2026-08-24 06:08:38 +00:00
first = callback(React.useState(() => id(section[29]).generateChannelPermissionSpec(closure_5.guild_id, closure_5, id === closure_5.guild_id)), 2)[0];
2026-07-20 16:05:17 +00:00
const items4 = [fromCreate, navigation];
const effect = React.useEffect(() => {
if (fromCreate) {
2026-07-29 08:29:29 +00:00
let obj = { headerRight: null };
obj[0] = function headerRight() {
const obj = {
onPress() {
},
label: null
};
2026-08-24 06:08:38 +00:00
const intl = closure_1_0(closure_1_3[25]).intl;
obj[1] = intl.string(closure_1_0(closure_1_3[25]).t.i4jeWR);
return closure_1_19(closure_1_0(closure_1_3[30]).HeaderTextButton, obj);
2026-07-20 16:05:17 +00:00
};
2026-08-24 06:08:38 +00:00
options.setOptions(obj);
2026-07-20 16:05:17 +00:00
}
}, items4);
2026-07-29 08:29:29 +00:00
obj = { variant: "text-md/medium", color: "text-muted", children: null };
2026-08-25 06:04:03 +00:00
let obj3 = _require(4574);
2026-08-24 06:08:38 +00:00
obj[2] = obj3.computeChannelName(stateFromStores, closure_15, closure_14, true);
2026-08-25 06:04:03 +00:00
let tmp10 = callback3(_require(4376).Text, obj);
2026-07-20 16:05:17 +00:00
if (fromCreate.type === constants.MEMBER) {
2026-07-29 08:29:29 +00:00
obj = { userId: null, guildId: null, start: true, end: true, trailing: null };
obj[0] = id;
obj[1] = stateFromStores.guild_id;
obj[4] = tmp10;
2026-08-25 06:04:03 +00:00
let tmp9Result = tmp9(id(9845), obj);
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
role = role.getRole(stateFromStores.guild_id, id);
2026-07-29 08:29:29 +00:00
let str;
if (role != null) {
str = role.name;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (str == null) {
str = "";
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj1 = { end: true, label: null, start: true, trailing: null };
obj1[1] = str;
obj1[3] = tmp10;
2026-08-25 06:04:03 +00:00
tmp9Result = tmp9(_require(5480).TableRow, obj1);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let obj2 = { style: tmp.container, contentContainerStyle: items5, children: null };
2026-08-15 05:55:55 +00:00
items5 = [tmp.containerContent, { paddingBottom: tmp.containerContent.paddingBottom + id(1629)().bottom }];
2026-07-29 08:29:29 +00:00
obj3 = { style: tmp.section, children: tmp9Result };
2026-07-20 16:05:17 +00:00
const items6 = [
2026-08-24 06:08:38 +00:00
callback3(closure_7, obj3),
2026-07-20 16:05:17 +00:00
first.map((permissions) => {
permissions = permissions.permissions;
2026-08-24 06:08:38 +00:00
let obj = { style: section.section, children: null };
2026-07-20 16:05:17 +00:00
let title;
if (first.length > 1) {
title = permissions.title;
}
2026-07-29 08:29:29 +00:00
obj = {
title,
hasIcons: false,
children: permissions.map((description) => {
({ title, flag } = description);
let flag2 = callback(flag);
if (flag2 == null) {
flag2 = false;
}
2026-08-24 06:08:38 +00:00
let obj = { variant: "text-xs/medium", color: "text-subtle", children: closure_1_0(closure_1_3[36]).renderDescription(description.description) };
const obj2 = closure_1_0(closure_1_3[36]);
const tmp2 = closure_1_3;
const tmp3 = closure_1_19(closure_1_0(closure_1_3[31]).Text, obj);
const obj3 = closure_1_0(closure_1_3[37]);
obj = { accessible: closure_1_0(closure_1_3[37]).isAndroid() || undefined, disabled: tmp5, label: title, subLabel: tmp3, trailing: null };
2026-07-29 08:29:29 +00:00
obj = { permissionTitle: title, value: null, disabled: null, onValueChange: null };
2026-08-24 06:08:38 +00:00
const tmp4 = closure_1_0(closure_1_3[37]).isAndroid() || undefined;
2026-07-29 08:29:29 +00:00
obj[1] = callback2(flag);
obj[2] = false !== flag2;
obj[3] = function onValueChange(arg0) {
2026-08-24 06:08:38 +00:00
closure_1_6(flag, arg0);
2026-07-29 08:29:29 +00:00
};
2026-08-24 06:08:38 +00:00
obj[4] = closure_1_19(closure_1_1(tmp2[38]), obj);
return closure_1_19(closure_1_0(closure_1_3[34]).TableRow, obj, "row-" + arg1);
2026-07-29 08:29:29 +00:00
})
};
2026-08-24 06:08:38 +00:00
obj[1] = closure_1_19(callback(section[35]).TableRowGroup, obj);
return closure_1_19(closure_7, obj, "section-" + arg1);
2026-07-20 16:05:17 +00:00
})
];
2026-07-29 08:29:29 +00:00
obj2[2] = items6;
2026-08-24 06:08:38 +00:00
return callback4(closure_8, obj2);
2026-07-20 16:05:17 +00:00
};