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

176 lines
11 KiB
TypeScript

/* Metro module 6744; source: modules/guild_onboarding/native/DropdownOptionsActionSheet.tsx; dependencies: [31, 27, 6540, 6603, 1881, 33, 4501, 632, 6739, 1423, 1305, 1244, 4573, 6745, 1585, 4080, 6758, 6275, 6277, 4578, 2] */
import UseSafeAreaInsetsNative from '../../safe_area/useSafeAreaInsets.native.tsx'; /* Metro dependency 1585 */
import ActionSheetActionCreators from '../../action_sheet/native/ActionSheetActionCreators.tsx'; /* Metro dependency 4080 */
import EmojiStore from '../../emojis/EmojiStore.tsx'; /* Metro dependency 6540 */
import GuildOnboardingPromptsStore from '../GuildOnboardingPromptsStore.tsx'; /* Metro dependency 6603 */
import FormCheckboxRow from '../../../design/void/Form/native/FormCheckboxRow.tsx'; /* Metro dependency 6745 */
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 UseStateFromStoresModule from '../../../external/discord_common/js/packages/flux/useStateFromStores.tsx'; /* Metro dependency 632 */
import * as NativeModule from '../../../design/void/native.tsx'; /* Metro dependency 1305 */
import * as EmojiConstantsModule from '../../emojis/EmojiConstants.tsx'; /* Metro dependency 1881 */
import * as CreateStylesModule from '../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as TextModule from '../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as ButtonNativeModule from '../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */
import * as BottomSheetNativeModule from '../../../design/components/Sheet/native/BottomSheet.native.tsx'; /* Metro dependency 6275 */
import * as Module06277Module from '../../../by-id/module-06277.js'; /* Metro dependency 6277 */
import * as BottomSheetTitleHeaderNativeModule from '../../../design/components/Sheet/native/BottomSheetTitleHeader.native.tsx'; /* Metro dependency 6758 */
function _fun53207(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#53207, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6922:6, offset: 0x0134123d, size: 353 bytes, params: 8, frame: 20
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_10 = (CreateStylesModule).createStyles({optionTextEmoji: {'fontSize': 24,
'lineHeight': 24, 'paddingTop': 5}, optionImageEmoji: {'height': 24, 'width': 24},
newBadge: {fontWeight: 'bold'}, labelRow: {'display': 'flex', 'flexDirection': 'row',
'justifyContent': 'space-between', 'alignItems': 'center'}, closeButtonWrapper: {'marginTop': 16,
'marginHorizontal': 16}});
(FileImportTrackerModule).fileFinishedImporting('modules/guild_onboarding/native/DropdownOptionsActionSheet.tsx');
exports.default = DropdownOptionsActionSheet;
function DropdownOptionRow({option, responses, onSelect, canBeNew}) { // fn#53208, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6922:499, offset: 0x0134139e, size: 714 bytes, params: 2, frame: 30
var r15;
var r6;
var r5;
var defaultImport;
var TextBadge;
var intl;
const styles = useStyles();
const value3 = (UseStateFromStoresModule).useStateFromStores([EmojiStore],
_fun53209);
const value4 = responses.includes(option.id);
const value5 = ReactModule.useCallback(_fun53210, [onSelect, option, value4]);
if (option.emoji?.id != null) {
defaultImport = importDefault(6739) /* metro dependency 6739: Emoji */;
var defaultImportProps = {textEmojiStyle: styles.optionTextEmoji, fastImageStyle: styles.optionImageEmoji};
r15 = value3 != null ? (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getEmojiURL({id: value3.id,
animated: value3.animated, size: EMOJI_URL_BASE_SIZE}) : undefined;
defaultImportProps.src = r15;
r15 = option.emoji?.name ?? '';
defaultImportProps.name = r15;
r6 = (
<View style={{'display': 'flex', 'alignItems': 'center'}}>
{((Component) => <Component {...defaultImportProps} />)(defaultImport)}
</View>
);
} else if (option.emoji?.name != null) {
defaultImport = importDefault(6739) /* metro dependency 6739: Emoji */;
var defaultImportProps = {textEmojiStyle: styles.optionTextEmoji, fastImageStyle: styles.optionImageEmoji};
r15 = value3 != null ? (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getEmojiURL({id: value3.id,
animated: value3.animated, size: EMOJI_URL_BASE_SIZE}) : undefined;
defaultImportProps.src = r15;
r15 = option.emoji?.name ?? '';
defaultImportProps.name = r15;
r6 = (
<View style={{'display': 'flex', 'alignItems': 'center'}}>
{((Component) => <Component {...defaultImportProps} />)(defaultImport)}
</View>
);
} else {
r6 = null;
}
if (canBeNew) {
if (option.isUnseen) {
TextBadge = (require(1305) /* metro dependency 1305: native */).TextBadge;
var textBadgeProps = {color: (require(1305) /* metro dependency 1305: native */).BadgeColors.BRAND};
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
textBadgeProps.text = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.y2b7CA);
textBadgeProps.textStyle = styles.newBadge;
r5 = <TextBadge {...textBadgeProps} />;
} else {
r5 = null;
}
} else {
r5 = null;
}
const Text = (TextModule).Text;
return ((Component) => <Component label={<View style={styles.labelRow}><Text variant="text-md/normal">{option.title}</Text>{r5}</View>} selected={value4} leading={r6} trailing={r5} onPress={value5} />)(FormCheckboxRow);
function _fun53209() { // fn#53209, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6922:624, offset: 0x01341668, size: 82 bytes, params: 1, frame: 14
const emoji = option.emoji;
const value2 = null;
const value3 = undefined;
return value2 != (value2 == emoji ? value3 : emoji.id) ? EmojiStore.getUsableCustomEmojiById(value2 == option.emoji ? value3 : option.emoji.id) : value2;
}
function _fun53210() { // fn#53210, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6922:784, offset: 0x013416ba, size: 28 bytes, params: 1, frame: 13
onSelect(option, !env0_2);
}
}
function DropdownOptionsActionSheet({guildId, promptId, canBeNew, onSelect}) { // fn#53211, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6922:1584, offset: 0x013416d6, size: 625 bytes, params: 2, frame: 32
const styles = useStyles();
const bottom = (UseSafeAreaInsetsNative)().bottom;
const useStateFromStores = UseStateFromStoresModule.useStateFromStores;
const guildOnboardingPromptsStoreBinding = GuildOnboardingPromptsStore;
const onboardingPrompt = Reflect.apply(useStateFromStores, UseStateFromStoresModule,
[[guildOnboardingPromptsStoreBinding], function() {
return GuildOnboardingPromptsStore.getOnboardingPrompt(promptId);
}]);
const env0_4 = UseStateFromStoresModule.useStateFromStoresArray([guildOnboardingPromptsStoreBinding], function() {
return GuildOnboardingPromptsStore.getOnboardingResponsesForPrompt(guildId, promptId);
});
const value2 = onSelect.useCallback(_fun53214, []);
if (onboardingPrompt == null) {
return null;
}
const BottomSheetTitleHeader = (BottomSheetTitleHeaderNativeModule).BottomSheetTitleHeader;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
let E2ICbC = (require(1244) /* metro dependency 1244: indexNative */).t.E2ICbC;
const bottomSheetTitleHeader = <BottomSheetTitleHeader title={Reflect.apply(string, intl, [E2ICbC])} />;
const BottomSheet = (BottomSheetNativeModule).BottomSheet;
const BottomSheetScrollView = (Module06277Module).BottomSheetScrollView;
const object2 = {paddingBottom: bottom};
const CardSection = (NativeModule).CardSection;
string = intl.string;
E2ICbC = (require(1244) /* metro dependency 1244: indexNative */).t.E2ICbC;
const cardSection = (
<CardSection accessibilityRole="radiogroup" accessibilityLabel={Reflect.apply(string, intl, [E2ICbC])}>
{onboardingPrompt.options.map(_fun53215)}
</CardSection>
);
const Button = (ButtonNativeModule).Button;
return (
<BottomSheet scrollable header={bottomSheetTitleHeader}>
<BottomSheetScrollView contentContainerStyle={object2}>
{cardSection}
<View style={styles.closeButtonWrapper}>
<Button
onPress={value2}
text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.cpT0Cq)}
grow
/>
</View>
</BottomSheetScrollView>
</BottomSheet>
);
function _fun53214() { // fn#53214, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6922:1862, offset: 0x01341982, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__;
(ActionSheetActionCreators).hideActionSheet();
}
function _fun53215(a0) { // fn#53215, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6922:2297, offset: 0x013419a7, size: 80 bytes, params: 2, frame: 17
const Boolean = global.Boolean;
return (
<DropdownOptionRow
option={a0}
responses={env0_4}
onSelect={onSelect}
canBeNew={Boolean(canBeNew)}
key={a0.id}
/>
);
}
}
}
global.__d(_fun53207, 6744, [31, 27, 6540, 6603, 1881, 33, 4501, 632, 6739, 1423, 1305, 1244, 4573, 6745, 1585,
4080, 6758, 6275, 6277, 4578,
2]) /* metro module 6744, dependencies: [31, 27, 6540, 6603, 1881, 33, 4501, 632, 6739, 1423, 1305, 1244, 4573, 6745, 1585, 4080, 6758, 6275, 6277, 4578, 2] */;