Files
discord-decomp/sources/modules/premium/powerups/native/RoleGradientPickerActionSheet.tsx
T
2026-07-27 16:20:00 +03:00

186 lines
11 KiB
TypeScript

/* Metro module 15964; source: modules/premium/powerups/native/RoleGradientPickerActionSheet.tsx; dependencies: [57, 31, 27, 15949, 33, 4501, 697, 1941, 1360, 4080, 13189, 6275, 6758, 1244, 4578, 4589, 13797, 5278, 673, 2] */
function _fun123431(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#123431, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16172:6, offset: 0x0258cc87, size: 740 bytes, params: 8, frame: 24
var object3;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
const env0_5 = value.View;
const env0_6 = value.Pressable;
value = require(15949) /* metro dependency 15949: EnhancedRoleColorConstants */;
const env0_7 = value.DEFAULT_GRADIENT_ROLE_COLORS;
const env0_8 = value.GRADIENT_PRESETS;
value = require(33) /* metro dependency 33 */;
const env0_9 = value.jsx;
const env0_10 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object3 = {};
const object7 = {'paddingVertical': null, 'paddingHorizontal': null, 'flexGrow': 1, 'justifyContent': 'center',
'alignItems': 'center'};
let PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object7.paddingVertical = PX_12;
PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object7.paddingHorizontal = PX_12;
const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object7.gap = PX_16;
object3.body = object7;
let PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object3.gradientContainer = {'display': 'flex', 'flexDirection': 'row', 'justifyContent': 'center',
'alignItems': 'center', paddingHorizontal: PX_8};
const object9 = {'left': null, 'right': null, 'position': 'absolute', 'display': 'flex', 'flexDirection': 'row',
'justifyContent': 'space-between'};
let PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object9.left = PX_24;
PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object9.right = PX_24;
object3.dropperContainer = object9;
const object11 = {'borderColor': 'white', 'tintColor': 'white', 'padding': null, 'borderRadius': null,
'borderWidth': 1};
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object11.padding = PX_8;
object11.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
object3.dropper = object11;
const object12 = {'height': 50, 'width': '100%'};
object12.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object3.gradient = object12;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object3.optionContainer = {'display': 'flex', 'flexDirection': 'row', 'gap': null, 'flexWrap': 'wrap',
'alignItems': 'center', 'justifyContent': 'center', gap: PX_8};
const object13 = {'width': 80, 'height': 50, 'borderRadius': null, 'overflow': 'hidden', 'padding': 2};
object13.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object3.pressable = object13;
const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND;
object3.selected = {borderWidth: 2, borderColor: BACKGROUND_BRAND};
const object14 = {flex: 1};
object14.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object3.option = object14;
const env0_11 = Reflect.apply(createStyles, value, [object3]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/powerups/native/RoleGradientPickerActionSheet.tsx');
exports.default = RoleGradientPickerActionSheet;
}
function RoleGradientPickerActionSheet({colors, onSelect}) { // fn#123432, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16172:1354, offset: 0x0258cf6b, size: 957 bytes, params: 2, frame: 32
var object2;
let env0_3 = undefined;
const styles = useStyles();
let binding = undefined;
const useState = binding.useState;
const value3 = env0_3(Reflect.apply(useState, binding,
[colors == null ? DEFAULT_GRADIENT_ROLE_COLORS : colors.secondary_color != null ? colors : DEFAULT_GRADIENT_ROLE_COLORS]),
2);
const property = value3[0];
env0_3 = value3[1];
const Object = global.Object;
const values = Object.values;
const enhancedRoleColorUtilsModule = require(1941) /* metro dependency 1941: EnhancedRoleColorUtils */;
const value4 = Reflect.apply(values, Object,
[enhancedRoleColorUtilsModule.extractColorStringsFromServerColors(property)]);
const value5 = value4.filter((require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish);
binding = undefined;
const value6 = binding.useCallback(_fun123433, [property, onSelect]);
const value7 = binding.useCallback(_fun123434, []);
const value8 = binding.useCallback(_fun123435, [property, value7]);
const value9 = binding.useCallback(_fun123437, [property, value7]);
const BottomSheet = (require(6275) /* metro dependency 6275: BottomSheetNative */).BottomSheet;
object2 = {};
const BottomSheetTitleHeader = (require(6758) /* metro dependency 6758: BottomSheetTitleHeaderNative */).BottomSheetTitleHeader;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const XpWmJz = (require(1244) /* metro dependency 1244: indexNative */).t.XpWmJz;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
object2.header = <BottomSheetTitleHeader title={Reflect.apply(string, intl,
[XpWmJz])} trailing={<Button variant="secondary" size="sm" text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['R3BPH+'])} onPress={value6} />} />;
const value10 = ((Component) => <Component style={styles.gradient} colors={value5} start={{'x': 0,
'y': 0}} end={{'x': 1, 'y': 0}} />)(importDefault(4589) /* metro dependency 4589 */);
const EyeDropperIcon = (require(13797) /* metro dependency 13797: EyeDropperIcon */).EyeDropperIcon;
const items3 = [<View style={styles.gradientContainer}>{value10}<View style={styles.dropperContainer}><Pressable style={styles.dropper} onPress={value8}><EyeDropperIcon color="white" size="sm" /></Pressable><Pressable style={styles.dropper} onPress={value9}><EyeDropperIcon color="white" size="sm" /></Pressable></View></View>];
items3[1] = <View style={styles.optionContainer}>{GRADIENT_PRESETS.map(_fun123439)}</View>;
items3[2] = <Button text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.yBZMsQ)} onPress={onPress_123441} />;
return (
<BottomSheet {...object2}>
<View style={styles.body}>
{items3}
</View>
</BottomSheet>
);
}
function _fun123433() { // fn#123433, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16172:1610, offset: 0x0258d328, size: 53 bytes, params: 1, frame: 12
onSelect(env0_2);
const value = environment.__proto__;
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet();
}
function _fun123435() { // fn#123435, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16172:1704, offset: 0x0258d35d, size: 97 bytes, params: 1, frame: 16
var environment;
let value = environment.__proto__;
value = undefined;
(importDefault(13189) /* metro dependency 13189: showCustomColorPickerActionSheet */)({color: (env0_2 == null ? value : env0_2.primary_color) ?? 0,
onSelect: onSelect_123436}, 'stack');
return value;
}
function _fun123437() { // fn#123437, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16172:1850, offset: 0x0258d3e7, size: 97 bytes, params: 1, frame: 16
var environment;
let value = environment.__proto__;
value = undefined;
(importDefault(13189) /* metro dependency 13189: showCustomColorPickerActionSheet */)({color: (env0_2 == null ? value : env0_2.secondary_color) ?? 0,
onSelect: onSelect_123438}, 'stack');
return value;
}
function _fun123439(a0) { // fn#123439, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16172:2651, offset: 0x0258d471, size: 305 bytes, params: 2, frame: 24
var environment;
const env0_0 = a0;
let value = environment.__proto__;
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const pressableOpacityProps = {style: [styles.pressable,
a0.start === env0_2.primary_color && a0.end === env0_2.secondary_color && styles.selected],
onPress: onPress_123440};
const defaultImport = importDefault(4589) /* metro dependency 4589 */;
value = Reflect.apply((require(673) /* metro dependency 673: ColorUtils */).int2hex, value, [a0.start]);
const items2 = [value];
value = require(673) /* metro dependency 673: ColorUtils */;
items2[1] = value.int2hex(a0.end);
return (
<PressableOpacity {...pressableOpacityProps} key={a0.name}>
{((Component) => <Component style={styles.option} colors={items2} start={{'x': 0, 'y': 0}} end={{'x': 1,
'y': 0}} />)(defaultImport)}
</PressableOpacity>
);
}
function RoleGradientPickerActionSheetOnPress() { // fn#123441, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16172:3046, owner: RoleGradientPickerActionSheet.onPress, offset: 0x0258d5e2, size: 23 bytes, params: 1, frame: 11
env0_3(DEFAULT_GRADIENT_ROLE_COLORS);
}
function onSelect_123436(a0) { // fn#123436, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16172:1785, offset: 0x0258d3be, size: 41 bytes, params: 2, frame: 13
const binding = env1_4;
const object2 = {};
copyDataProperties(object2, env1_2, undefined);
object2['primary_color'] = a0;
return binding(object2);
}
function onSelect_123438(a0) { // fn#123438, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16172:1933, offset: 0x0258d448, size: 41 bytes, params: 2, frame: 13
const binding = env1_4;
const object2 = {};
copyDataProperties(object2, env1_2, undefined);
object2['secondary_color'] = a0;
return binding(object2);
}
function onPress_123440() { // fn#123440, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16172:2776, offset: 0x0258d5a2, size: 64 bytes, params: 1, frame: 14
const binding = env1_4;
const object2 = {};
copyDataProperties(object2, env1_2, undefined);
const binding2 = env0_0;
object2['primary_color'] = binding2.start;
object2['secondary_color'] = binding2.end;
return binding(object2);
}