/* Metro module 8521; source: modules/custom_status/native/EditCustomStatusWithPreview.tsx; dependencies: [57, 31, 27, 1878, 8522, 661, 1881, 33, 4501, 697, 5278, 1244, 1305, 8523, 8524, 683, 6882, 566, 8525, 8526, 4002, 8528, 4570, 8529, 8690, 4015, 8691, 9603, 5282, 1599, 4573, 8852, 7980, 6231, 6238, 4080, 10501, 1962, 10503, 4071, 5080, 5176, 5280, 478, 2] */ function _fun67521(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67521, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:6, offset: 0x01c2770f, size: 712 bytes, params: 8, frame: 25 var object2; 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 */; const env0_5 = (require(27) /* metro dependency 27 */).View; const userStore = importDefault(1878) /* metro dependency 1878: UserStore */; const env0_7 = (require(8522) /* metro dependency 8522: Constants */).STATUS_MAX_LENGTH; let value = require(661) /* metro dependency 661: Constants */; const env0_8 = value.AnalyticEvents; const env0_9 = value.AnalyticsSections; const Fonts = value.Fonts; const env0_10 = value.NOOP; const env0_11 = (require(1881) /* metro dependency 1881: EmojiConstants */).EmojiIntention; value = require(33) /* metro dependency 33 */; const env0_12 = value.jsx; const env0_13 = value.jsxs; value = require(4501) /* metro dependency 4501: createStyles */; const createStyles = value.createStyles; object2 = {container: {'flexGrow': 1, 'padding': 16, 'rowGap': 24}}; object2.statusSection = {rowGap: 8}; const object4 = {'flexDirection': 'column', 'rowGap': 4, 'backgroundColor': null, 'borderRadius': null, 'padding': 12}; const INPUT_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INPUT_BACKGROUND_DEFAULT; object4.backgroundColor = INPUT_BACKGROUND_DEFAULT; object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object2.statusInput = object4; object2.statusInputRow = {'flexDirection': 'row', 'alignItems': 'center'}; object2.emoji = {marginRight: 8}; let TEXT_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_STRONG; object2.status = {'color': null, 'lineHeight': 16, 'flexGrow': 1, 'alignSelf': 'flex-start', 'paddingVertical': 0, 'paddingHorizontal': 0, color: TEXT_STRONG}; const object5 = {'fontSize': 16, 'lineHeight': 20, 'fontFamily': null, 'color': null, 'flexGrow': 1, 'height': 'auto', 'textAlignVertical': 'center'}; const PRIMARY_MEDIUM = Fonts.PRIMARY_MEDIUM; object5.fontFamily = PRIMARY_MEDIUM; TEXT_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_STRONG; object5.color = TEXT_STRONG; object2.statusText = object5; const TEXT_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_MUTED; object2.inputPlaceholder = {color: TEXT_MUTED}; const object7 = {alignItems: 'center'}; const SHADOW_LOW = (importDefault(697) /* metro dependency 697: native */).shadows.SHADOW_LOW; copyDataProperties(object7, SHADOW_LOW, undefined); object2.previewContainer = object7; const INTERACTIVE_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT; object2.closeIcon = {tintColor: INTERACTIVE_TEXT_DEFAULT, flexShrink: 0}; object2.statusSectionHeader = {'flexDirection': 'row', 'alignItems': 'center', 'justifyContent': 'space-between'}; const env0_14 = Reflect.apply(createStyles, value, [object2]); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/custom_status/native/EditCustomStatusWithPreview.tsx'); exports.default = EditCustomStatusWithPreviewModal; } function ClearInputButton({onPress}) { // fn#67522, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:1176, offset: 0x01c279d7, size: 254 bytes, params: 2, frame: 22 const styles = useStyles(); const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const string = intl.string; const VkKicb = (require(1244) /* metro dependency 1244: indexNative */).t.VkKicb; const Icon = (require(1305) /* metro dependency 1305: native */).Icon; const iconProps = {source: importDefault(8523) /* metro dependency 8523 */, style: styles.closeIcon}; const Icon2 = (require(1305) /* metro dependency 1305: native */).Icon; const Sizes = Icon2.Sizes; const SMALL = Sizes.SMALL; iconProps.size = SMALL; return ( ); } function EditCustomStatusWithPreview({navigation, onClose, analyticsLocations, prompt}) { // fn#67523, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:1523, offset: 0x01c27ad5, size: 2265 bytes, params: 2, frame: 55 var r30; var r9; var r0; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const t = (require(1244) /* metro dependency 1244: indexNative */).t; var KeyboardAwareScrollView; var items4; const Text = (require(4573) /* metro dependency 4573: Text */).Text; var items2; var PressableOpacity; var object9; var items3; var FormInput; const TableRowGroup = (require(6231) /* metro dependency 6231: TableRowGroupNative */).TableRowGroup; const TableRow = (require(6238) /* metro dependency 6238: TableRowNative */).TableRow; var object15; var value35; let value = undefined; let env0_4 = value; let binding = env0_4; const value5 = binding.useRef(prompt ?? (importDefault(8524) /* metro dependency 8524: getRandomCustomStatusPrompt */)()); const env0_3 = value5; env0_4.useEffect(function() { var defaultImport = importDefault(dependencyMap[15]); var OPEN_MODAL = AnalyticEvents.OPEN_MODAL; defaultImport.track(OPEN_MODAL, {type: AnalyticsSections.EDIT_CUSTOM_STATUS_MODAL_WITH_PREVIEW, location_stack: analyticsLocations}); }, [analyticsLocations]); const styles = useStyles(); const value6 = (require(6882) /* metro dependency 6882: userSettingToActivity */).useCustomStatusActivity(); const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() { return UserStore.getCurrentUser(); }); env0_4 = currentUser; const value7 = (importDefault(8525) /* metro dependency 8525: computeInitialClearAfter */)(); binding = env0_4; let useState = binding.useState; const state = value6 == null ? value : value6.state; const value8 = ''; const value10 = env0_3(Reflect.apply(useState, binding, [state ?? value8]), 2); const property = value10[0]; const property2 = value10[1]; binding = env0_4; useState = binding.useState; const value12 = env0_3(Reflect.apply(useState, binding, [(value6 == null ? value : value6.emoji) ?? null]), 2); const property3 = value12[0]; const property4 = value12[1]; const [property5, env0_10] = env0_3(env0_4.useState(value7), 2); const r40 = value5.current != null ? value5.current.label() : intl.string((require(1244) /* metro dependency 1244: indexNative */).t.xod367); const value17 = env0_4.useCallback(_fun67526, [property, property3, property5, onClose, analyticsLocations]); const value18 = env0_4.useCallback(function() { importDefault(dependencyMap[21])(); var AccessibilityAnnouncer = require(dependencyMap[20]).AccessibilityAnnouncer; AccessibilityAnnouncer.announce(require(dependencyMap[11]).intl.string(require(dependencyMap[11]).t.YdUwBS)); onClose(); }, [onClose]); const value19 = env0_4.useRef(null); const value20 = env0_4.useCallback(_fun67528, []); const value22 = env0_4.useCallback(_fun67530, [env0_4.useCallback(_fun67529, [value20]), value20]); const value23 = env0_4.useCallback(_fun67531, [property4, property2]); const value24 = env0_4.useRef(null); const value25 = env0_4.useCallback(_fun67532, []); const env0_17 = env0_4.useRef({statusText: property, statusEmoji: property3, clearAfter: property5}); const value26 = env0_4.useMemo(_fun67533, [property, property3, property5]); const value27 = env0_4.useCallback(_fun67534, [value26, onClose]); const value28 = env0_4.useMemo(_fun67535, [currentUser, property, property3, r40]); env0_4.useLayoutEffect(_fun67536, [navigation, value17, value26, value27]); if (currentUser == null) { r0 = null; } else { KeyboardAwareScrollView = (require(1599) /* metro dependency 1599 */).KeyboardAwareScrollView; var viewBindingProps = {style: styles.container}; items4 = [{value28}]; var viewBinding3Props = {style: styles.statusSection}; items2 = [{intl.string(t.zOdg0A)}]; var viewBinding5Props = {style: styles.statusInput}; var viewBinding6Props = {style: styles.statusInputRow}; PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity; items3 = [{((Component) => )(importDefault(8852) /* metro dependency 8852: ActivityEmoji */)}]; FormInput = importDefault(7980) /* metro dependency 7980: FormInput */; items3[1] = ; r30 = property3 != null || value8 !== property; r30 = r30 && ; items3[2] = r30; items2[1] = {items3}; items4[1] = {items2}; items4[2] = {(importDefault(10503) /* metro dependency 10503: formatClearAfterValue */)(property5)}} />; value35 = value6 != null; if (value35) { r9 = )((require(4071) /* metro dependency 4071: TrashIcon */).TrashIcon)} label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.wO53tu)} onPress={value18} variant="danger" />; } else { r9 = value35; } items4[3] = r9; value = {items4}; r0 = value; } return r0; } function EditCustomStatusWithPreviewModal({analyticsLocations, prompt}) { // fn#67539, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:5486, offset: 0x01c288ba, size: 252 bytes, params: 2, frame: 19 var object2; var r4; var moduleValue2; var value; const value2 = env0_4.useMemo(function() { return _fun67541(analyticsLocations, prompt); }, [analyticsLocations, prompt]); const value4 = (require(5176) /* metro dependency 5176: YouBarExperiment */).useYouBarEnabled('EditCustomStatusWithPreviewModal'); const Navigator = (require(5280) /* metro dependency 5280: NavigatorNative */).Navigator; object2 = {initialRouteName: 'root', screens: value2}; if (value4) { moduleValue2 = require(478) /* metro dependency 478: PlatformUtils */; r4 = moduleValue2.isAndroid() ? undefined : 12; } else { r4 = undefined; } object2.headerStatusBarHeight = r4; if (value4) { value = require(478) /* metro dependency 478: PlatformUtils */; r4 = value.isAndroid() ? undefined : {height: 56}; } else { r4 = undefined; } object2.headerStyle = r4; return ; } function _fun67526() { // fn#67526, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:2179, offset: 0x01c283fa, size: 194 bytes, params: 1, frame: 17 const value2 = undefined; (importDefault(8526) /* metro dependency 8526: setCustomStatus */)({text: env0_5, emojiInfo: env0_7, clearAfter: env0_9, analyticsLocations: analyticsLocations, prompt: env0_3.current ?? value2}); const AccessibilityAnnouncer = (require(4002) /* metro dependency 4002: shared */).AccessibilityAnnouncer; const announce = AccessibilityAnnouncer.announce; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const string = intl.string; const Og40Yn = (require(1244) /* metro dependency 1244: indexNative */).t.Og40Yn; Reflect.apply(announce, AccessibilityAnnouncer, [Reflect.apply(string, intl, [Og40Yn])]); onClose(); return value2; } function _fun67528() { // fn#67528, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:2552, offset: 0x01c28538, size: 62 bytes, params: 1, frame: 13 const value = environment.__proto__; (require(4570) /* metro dependency 4570: setAccessibilityFocusAndroid */).setAccessibilityFocus({ref: env0_13, delay: 500}); } function _fun67529(a0) { // fn#67529, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:2630, offset: 0x01c28576, size: 112 bytes, params: 2, frame: 15 env0_8({id: a0.id, name: a0.id != null || a0.surrogates == null ? a0.name ?? '' : a0.surrogates !== '' ? a0.surrogates : a0.name ?? '', animated: a0.animated}); env0_14(); } function _fun67530() { // fn#67530, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:2791, offset: 0x01c285e6, size: 76 bytes, params: 1, frame: 15 const openEmojiPickerActionSheetModule = require(8529) /* metro dependency 8529: openEmojiPickerActionSheet */; const openEmojiPickerActionSheet = openEmojiPickerActionSheetModule.openEmojiPickerActionSheet; const STATUS = EmojiIntention.STATUS; Reflect.apply(openEmojiPickerActionSheet, openEmojiPickerActionSheetModule, [{onPressEmoji: env0_15, onClose: env0_14, pickerIntention: STATUS}]); } function _fun67531() { // fn#67531, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:2911, offset: 0x01c28632, size: 31 bytes, params: 1, frame: 12 env0_8(null); env0_6(''); } function _fun67532() { // fn#67532, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:2973, offset: 0x01c28651, size: 32 bytes, params: 1, frame: 9 const current = env0_16.current; if (current != null) { current.blur(); } } function _fun67533() { // fn#67533, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:3087, offset: 0x01c28671, size: 80 bytes, params: 1, frame: 4 let r0 = env0_5 !== env0_17.current.statusText || env0_7 !== env0_17.current.statusEmoji; r0 = !r0 ? env0_9 !== env0_17.current.clearAfter : r0; return r0; } function _fun67534() { // fn#67534, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:3197, offset: 0x01c286c1, size: 91 bytes, params: 1, frame: 16 const defaultImport = importDefault(8690) /* metro dependency 8690: maybeShowDiscardChangesAlert */; const object2 = {}; object2.hasEdits = env0_18; object2.onHasEdits = (require(4015) /* metro dependency 4015: ChatInputUtils */).dismissKeyboard; object2.resetPending = NOOP; object2.onConfirm = onClose; defaultImport(object2); } function _fun67535() { // fn#67535, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:3311, offset: 0x01c2871c, size: 90 bytes, params: 1, frame: 16 const currentUserBinding = currentUser; const value2 = null; return value2 != currentUserBinding ? ((Component) => )(importDefault(8691) /* metro dependency 8691: CustomStatusPreview */) : value2; } function _fun67536() { // fn#67536, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:3446, offset: 0x01c28776, size: 81 bytes, params: 1, frame: 15 const navigationBinding = navigation; const setOptions = navigationBinding.setOptions; const object2 = {headerRight: headerRight_67537}; object2.headerLeft = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton(env0_19); Reflect.apply(setOptions, navigationBinding, [object2]); } function EditCustomStatusWithPreviewOnPress() { // fn#67538, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:4936, owner: EditCustomStatusWithPreview.onPress, offset: 0x01c2883d, size: 125 bytes, params: 1, frame: 17 let value = environment.__proto__; require(dependencyMap[25]).dismissKeyboard(); value = importDefault(dependencyMap[35]); value.openLazy(require(dependencyMap[37])(dependencyMap[36], dependencyMap.paths), 'ClearAfterOptionsActionSheet', {initialValue: env0_9, onChange: env0_10}); } function _fun67540() { // fn#67540, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:5578, offset: 0x01c289b6, size: 30 bytes, params: 1, frame: 13 return _fun67541(analyticsLocations, prompt); } function headerRight_67537() { // fn#67537, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:3477, offset: 0x01c287c7, size: 118 bytes, params: 1, frame: 18 const HeaderTextButton = (require(9603) /* metro dependency 9603: HeaderShared */).HeaderTextButton; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; return ( ); } function _fun67541(a0, a1) { // fn#67541, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:5583, offset: 0x01c289d4, size: 172 bytes, params: 3, frame: 18 const env0_0 = a0; const env0_1 = a1; const object = {}; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const string = intl.string; const Iuzg8R = (require(1244) /* metro dependency 1244: indexNative */).t.Iuzg8R; object.title = Reflect.apply(string, intl, [Iuzg8R]); object.headerTitle = headerTitle_67542; object.headerLeft = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton((importDefault(5080) /* metro dependency 5080: ModalActionCreators */).pop); object.ignoreKeyboard = true; object.render = render_67543; return {root: object}; } function headerTitle_67542() { // fn#67542, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:5656, offset: 0x01c28a80, size: 96 bytes, params: 1, frame: 18 const GenericHeaderTitle = (require(9603) /* metro dependency 9603: HeaderShared */).GenericHeaderTitle; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const string = intl.string; const Iuzg8R = (require(1244) /* metro dependency 1244: indexNative */).t.Iuzg8R; return ; } function render_67543(a0, a1) { // fn#67543, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8706:5819, offset: 0x01c28ae0, size: 83 bytes, params: 3, frame: 15 return ( ); }