Files
discord-decomp/sources/modules/oauth2/native/BotPermissions.tsx
T
2026-07-28 01:06:53 +03:00

174 lines
9.5 KiB
TypeScript

/* Metro module 9401; source: modules/oauth2/native/BotPermissions.tsx; dependencies: [57, 31, 27, 33, 4501, 697, 3789, 483, 9350, 9402, 4572, 5312, 4573, 1244, 2] */
import Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as BigFlagUtilsModule from '../../../external/discord_common/js/shared/utils/BigFlagUtils.tsx'; /* Metro dependency 483 */
import * as PermissionUtilsModule from '../../../utils/PermissionUtils.tsx'; /* Metro dependency 3789 */
import * as StackNativeModule from '../../../design/components/Stack/native/Stack.native.tsx'; /* Metro dependency 4572 */
import * as TextModule from '../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as XSmallIconModule from '../../../design/components/Icon/native/redesign/generated/XSmallIcon.tsx'; /* Metro dependency 5312 */
import * as PermissionsModule from '../permissions.tsx'; /* Metro dependency 9350 */
import * as CheckboxNativeModule from '../../../design/components/Checkbox/native/Checkbox.native.tsx'; /* Metro dependency 9402 */
function _fun73299(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#73299, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9587:6, offset: 0x01d672ff, size: 286 bytes, params: 8, frame: 22
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = JsxRuntimeModule;
const env0_6 = value.jsx;
const env0_7 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
const object2 = {'width': 24, 'height': 24, 'flexGrow': 0, 'flexShrink': 0, 'alignItems': 'center',
'justifyContent': 'center'};
object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
const ICON_FEEDBACK_CRITICAL = (importDefault(697) /* metro dependency 697: native */).colors.ICON_FEEDBACK_CRITICAL;
object2.backgroundColor = ICON_FEEDBACK_CRITICAL;
const env0_8 = Reflect.apply(createStyles, value, [{disabledPermissionIcon: object2}]);
(FileImportTrackerModule).fileFinishedImporting('modules/oauth2/native/BotPermissions.tsx');
exports.default = BotPermissions;
function BotPermissions({application, permissions, deniedPermissions, onPermissionsChange, guild}) { // fn#73300, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9587:465, offset: 0x01d6741d, size: 732 bytes, params: 2, frame: 34
const Stack = (require(4572) /* metro dependency 4572: StackNative */).Stack;
var r5;
var Stack4;
const guild2 = guild;
var value;
const binding = useStyles();
const useState = binding.useState;
const NONE = (PermissionUtilsModule).NONE;
const value3 = guild2(Reflect.apply(useState, binding, [NONE]), 2);
const env0_5 = value3[0];
const env0_6 = value3[1];
binding.useEffect(_fun73301, [guild.permissions, onPermissionsChange, permissions]);
const OrderedPermissions = (PermissionsModule).OrderedPermissions;
const value4 = OrderedPermissions.filter(_fun73302);
const value6 = value4.filter(_fun73303).map(_fun73304);
const value8 = value4.filter(_fun73306).map(_fun73307);
const Stack2 = (require(4572) /* metro dependency 4572: StackNative */).Stack;
const Text = (TextModule).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const text = (
<Text variant="text-sm/medium" color="text-subtle">
{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.sOaT2j,
{applicationName: application.name, guildName: guild.name})}
</Text>
);
const Stack3 = (require(4572) /* metro dependency 4572: StackNative */).Stack;
const stack = (
<Stack2>
{text}
<Stack3 spacing={12}>
{value6}
</Stack3>
</Stack2>
);
if (value8.length > 0) {
Stack4 = (require(4572) /* metro dependency 4572: StackNative */).Stack;
value = (
<Text variant="text-sm/medium" color="text-subtle">
{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.fsOkF4,
{applicationName: application.name})}
</Text>
);
value = (
<Stack4>
{value}
<Stack spacing={12}>
{value8}
</Stack>
</Stack4>
);
r5 = value;
} else {
r5 = null;
}
return (
<Stack spacing={16}>
{stack}
{r5}
</Stack>
);
function _fun73301() { // fn#73301, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9587:643, offset: 0x01d676f9, size: 110 bytes, params: 1, frame: 19
var value;
const onPermissionsChangeBinding = onPermissionsChange;
onPermissionsChangeBinding(true, permissions);
const binding = env0_6;
const invert = BigFlagUtilsModule.invert;
const guildBinding = guild;
binding(Reflect.apply(invert, BigFlagUtilsModule, [guildBinding.permissions]));
value = Reflect.apply(BigFlagUtilsModule.invert, value, [guildBinding.permissions]);
onPermissionsChangeBinding(false, value);
}
function _fun73302(a0) { // fn#73302, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9587:789, offset: 0x01d67767, size: 48 bytes, params: 2, frame: 13
let value = environment.__proto__;
value = importAll(483) /* metro dependency 483: BigFlagUtils */;
return value.has(permissions, a0);
}
function _fun73303(a0) { // fn#73303, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9587:823, offset: 0x01d67797, size: 51 bytes, params: 2, frame: 13
let value = environment.__proto__;
value = importAll(483) /* metro dependency 483: BigFlagUtils */;
return !value.has(env0_5, a0);
}
function _fun73304(a0) { // fn#73304, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9587:851, offset: 0x01d677ca, size: 149 bytes, params: 2, frame: 20
const env0_0 = a0;
const permissionName = (PermissionsModule).getPermissionName(a0);
const value4 = !BigFlagUtilsModule.has(deniedPermissions, a0);
const Checkbox = (CheckboxNativeModule).Checkbox;
const String = global.String;
return (
<Checkbox
checked={value4}
onToggle={onToggle_73305}
label={permissionName}
key={String(a0)}
/>
);
function onToggle_73305(a0) { // fn#73305, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9587:956, offset: 0x00d890af, size: 27 bytes, params: 2, frame: 13
return onPermissionsChange(a0, env0_0);
}
}
function _fun73306(a0) { // fn#73306, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9587:1001, offset: 0x01d6785f, size: 48 bytes, params: 2, frame: 13
const value = environment.__proto__;
return (BigFlagUtilsModule).has(env0_5, a0);
}
function _fun73307(a0) { // fn#73307, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9587:1028, offset: 0x01d6788f, size: 225 bytes, params: 2, frame: 23
let value = environment.__proto__;
const permissionName = (PermissionsModule).getPermissionName(a0);
const Stack = (StackNativeModule).Stack;
const XSmallIcon = (XSmallIconModule).XSmallIcon;
value = (
<View style={styles.disabledPermissionIcon}>
<XSmallIcon size="sm" color="white" />
</View>
);
const Text = (TextModule).Text;
const String = global.String;
return (
<Stack
direction="horizontal"
align="center"
key={String(a0)}
>
{value}
<Text variant="text-md/medium">
{permissionName}
</Text>
</Stack>
);
}
}
}
global.__d(_fun73299, 9401, [57, 31, 27, 33, 4501, 697, 3789, 483, 9350, 9402, 4572, 5312, 4573, 1244,
2]) /* metro module 9401, dependencies: [57, 31, 27, 33, 4501, 697, 3789, 483, 9350, 9402, 4572, 5312, 4573, 1244, 2] */;