/* Metro module 13174; source: modules/settings/native/renderer/SettingRenderer.tsx; dependencies: [57, 29, 31, 27, 1949, 13172, 1867, 9693, 33, 4501, 697, 1305, 6238, 1484, 13175, 566, 1244, 8765, 6819, 14148, 14149, 6808, 3875, 7988, 7987, 6797, 3856, 10272, 4081, 4082, 6239, 4572, 4573, 1856, 477, 12809, 5278, 4578, 3860, 7006, 1848, 2] */ import ObjectWithoutProperties from '../../../../by-id/module-00029-ObjectWithoutProperties.js'; /* Metro dependency 29 */ import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */ import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */ import GuildStore from '../../../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import LocaleStore from '../../../user_settings/LocaleStore.tsx'; /* Metro dependency 1949 */ import HapticFeedbackTypes from '../../../haptics/HapticFeedbackTypes.tsx'; /* Metro dependency 4082 */ import VolumeSlider from '../../../../components_native/common/VolumeSlider.tsx'; /* Metro dependency 10272 */ import UserSettingSearchStore from '../../../user_settings/UserSettingSearchStore.tsx'; /* Metro dependency 13172 */ 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 PlatformUtilsModule from '../../../../utils/PlatformUtils.tsx'; /* Metro dependency 477 */ import * as FluxModule from '../../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */ import * as NativeModule from '../../../../design/void/native.tsx'; /* Metro dependency 1305 */ import * as UseNavigationNativeModule from '../../../../design/components/Navigator/native/useNavigation.native.tsx'; /* Metro dependency 1484 */ import * as KeyboardManagerUtilsModule from '../../../../utils/native/KeyboardManagerUtils.tsx'; /* Metro dependency 1848 */ import * as UseTokenModule from '../../../../design/tokens/native/useToken.tsx'; /* Metro dependency 3860 */ import * as AccessibilityPreferencesContextModule from '../../../../external/discord_common/js/packages/design/components/AccessibilityPreferencesContext/AccessibilityPreferencesContext.tsx'; /* Metro dependency 3875 */ import * as HapticUtilsNativeModule from '../../../haptics/HapticUtils.native.tsx'; /* Metro dependency 4081 */ import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */ 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 ButtonNativeModule from '../../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */ import * as PressablesModule from '../../../../design/void/Pressables/native/Pressables.tsx'; /* Metro dependency 5278 */ import * as TableRowNativeModule from '../../../../design/components/TableRow/native/TableRow.native.tsx'; /* Metro dependency 6238 */ import * as CardNativeModule from '../../../../design/components/Card/native/Card.native.tsx'; /* Metro dependency 6239 */ import * as TableSwitchRowNativeModule from '../../../../design/components/TableRow/native/TableSwitchRow.native.tsx'; /* Metro dependency 6808 */ import * as TrackingModule from '../../tracking/Tracking.tsx'; /* Metro dependency 7006 */ import * as TableRadioRowNativeModule from '../../../../design/components/TableRow/native/TableRadioRow.native.tsx'; /* Metro dependency 7987 */ import * as TableRadioGroupNativeModule from '../../../../design/components/TableRow/native/TableRadioGroup.native.tsx'; /* Metro dependency 7988 */ import * as ClydeIconModule from '../../../../design/components/Icon/native/redesign/generated/ClydeIcon.tsx'; /* Metro dependency 8765 */ import * as SettingRendererConstantsModule from './SettingRendererConstants.tsx'; /* Metro dependency 9693 */ import * as SliderNativeModule from '../../../../design/components/Slider/native/Slider.native.tsx'; /* Metro dependency 12809 */ import * as SettingRendererUtilsModule from './SettingRendererUtils.tsx'; /* Metro dependency 13175 */ import * as UseHighlightSettingItemModule from './hooks/useHighlightSettingItem.tsx'; /* Metro dependency 14148 */ function _fun100513(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#100513, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:6, offset: 0x021ea9a7, size: 991 bytes, params: 8, frame: 25 const env0_0 = require; const env0_3 = ['onSlidingComplete', 'step', 'startIcon', 'endIcon', 'minimumValue', 'maximumValue', 'valueLabel', 'defaultValue', 'onValueChange']; const env0_4 = ['settingData']; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const createStyles = CreateStylesModule.createStyles; object = {}; const object2 = {}; const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16; object2.marginTop = PX_16; const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8; object2.marginBottom = PX_8; object.slider = object2; object.sliderTitle = {'flexDirection': 'row', 'justifyContent': 'space-between'}; object.radioSettingHighlight = {top: 26}; const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND; object.defaultIcon = {'backgroundColor': null, 'justifyContent': 'center', 'alignItems': 'center', backgroundColor: BACKGROUND_BRAND}; const object5 = {}; const AVATAR_SIZE_MAP = (NativeModule).AVATAR_SIZE_MAP; const AvatarSizes = (NativeModule).AvatarSizes; let REFRESH_MEDIUM_32 = AvatarSizes.REFRESH_MEDIUM_32; object5.width = AVATAR_SIZE_MAP[REFRESH_MEDIUM_32]; REFRESH_MEDIUM_32 = AvatarSizes.REFRESH_MEDIUM_32; object5.height = AVATAR_SIZE_MAP[REFRESH_MEDIUM_32]; object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.xl; let BACKGROUND_MOD_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_MUTED; object5.backgroundColor = BACKGROUND_MOD_MUTED; object.placeholderAvatar = object5; const object6 = {height: 20}; object6.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md; BACKGROUND_MOD_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_MUTED; object6.backgroundColor = BACKGROUND_MOD_MUTED; object.placeholderUsername = object6; const env0_17 = Reflect.apply(createStyles, CreateStylesModule, [object]); const env0_18 = ReactModule.memo(_fun100527); const GuildSelectDefaultIcon2 = GuildSelectDefaultIcon; const env0_20 = ReactModule.memo(_fun100530); const env0_21 = ReactModule.memo(_fun100536); const env0_22 = ReactModule.memo(_fun100537); const env0_23 = ReactModule.memo(_fun100538); const env0_24 = ReactModule.memo(_fun100540); const env0_25 = ReactModule.memo(_fun100542); const env0_26 = ReactModule.memo(_fun100543); (FileImportTrackerModule).fileFinishedImporting('modules/settings/native/renderer/SettingRenderer.tsx'); exports.GuildSelectDefaultIcon = GuildSelectDefaultIcon2; exports.renderSettingItem = renderSettingItem; exports.renderSettingSearchResultItem = renderSettingSearchResultItem; exports.renderSettingSearchResultPlaceholderItem = renderSettingSearchResultPlaceholderItem; function formatSettingsRowTrailing(a0) { // fn#100514, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:1087, offset: 0x021ead86, size: 82 bytes, params: 2, frame: 15 var r0; let value = a0; if (value != null) { if (typeof value !== 'string') { r0 = value; } else { value = ((TrailingText) => )((require(6238) /* metro dependency 6238: TableRowNative */).TableRow.TrailingText); r0 = value; } return r0; } } function ForceSwitchIcons({children}) { // fn#100515, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:3626, offset: 0x021eadd8, size: 133 bytes, params: 2, frame: 20 const binding = env0_7; const useContext = binding.useContext; const AccessibilityPreferencesContext = (AccessibilityPreferencesContextModule).AccessibilityPreferencesContext; const value3 = env0_7.useMemo(_fun100516, [Reflect.apply(useContext, binding, [AccessibilityPreferencesContext])]); const Provider = AccessibilityPreferencesContext.Provider; return ( {children} ); function _fun100516() { // fn#100516, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:3740, offset: 0x021eae5d, size: 29 bytes, params: 1, frame: 12 const object = {}; copyDataProperties(object, env0_0, undefined); object['switchIconsEnabled'] = true; return object; } } function SettingSearchResultBreadcrumbs({breadcrumbs}) { // fn#100517, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:7198, offset: 0x021eae7a, size: 94 bytes, params: 2, frame: 17 if (breadcrumbs.length === 0) { return null; } else { const Text = (require(4573) /* metro dependency 4573: Text */).Text; return ( {breadcrumbs.join(' → ')} ); } } function SettingSearchResultIcon({IconComponent}) { // fn#100518, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:7368, offset: 0x021eaed8, size: 161 bytes, params: 2, frame: 17 const useToken = UseTokenModule.useToken; const TABLE_ROW_ICON_SIZE = (Native).modules.mobile.TABLE_ROW_ICON_SIZE; return ( IconComponent == null ? ( ) : ((Icon) => )((require(6238) /* metro dependency 6238: TableRowNative */).TableRow.Icon) ); } function RouteSettingSearchResult({settingData, IconComponent, title, breadcrumbs, setting, index, total}) { // fn#100519, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:7571, offset: 0x021eaf79, size: 322 bytes, params: 2, frame: 24 const value3 = (UseNavigationNativeModule).useStackNavigation(); const screen = settingData.screen; const usePreNavigationAction = settingData.usePreNavigationAction; const value5 = env0_7.useCallback(_fun100520, [usePreNavigationAction?.(), index, value3, screen, setting, title, total]); const TableRow = (TableRowNativeModule).TableRow; return ( } subLabel={} start={index === 0} end={index === total - 1} /> ); function _fun100520() { // fn#100520, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:7798, offset: 0x021eb0bb, size: 163 bytes, params: 1, frame: 17 let value = environment.__proto__; const userSettingSearchStoreBinding = UserSettingSearchStore; const setState = userSettingSearchStoreBinding.setState; const settingBinding = setting; Reflect.apply(setState, userSettingSearchStoreBinding, [{selected: settingBinding}]); value = require(7006) /* metro dependency 7006: Tracking */; const trackSettingSearchResultPress = value.trackSettingSearchResultPress; const screenBinding = screen; Reflect.apply(trackSettingSearchResultPress, value, [{setting: settingBinding, title: title, route: screenBinding.route, searchResultPosition: index, numSearchResults: total}]); value = require(13175) /* metro dependency 13175: SettingRendererUtils */; value.onRouteSettingOnPress({navigation: env0_4, screen: screenBinding, preNavigationAction: ObjectWithoutProperties}); } } function PressableSettingSearchResult({settingData, IconComponent, title, breadcrumbs, setting, index, total}) { // fn#100521, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:8231, offset: 0x021eb15e, size: 254 bytes, params: 2, frame: 22 const onPress = settingData.onPress; const withArrow = settingData.withArrow; const value2 = env0_7.useCallback(_fun100522, [setting, title, index, total, onPress]); const TableRow = (TableRowNativeModule).TableRow; return ( } subLabel={} start={index === 0} end={index === total - 1} arrow={withArrow} /> ); function _fun100522() { // fn#100522, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:8397, offset: 0x021eb25c, size: 108 bytes, params: 1, frame: 16 const value = environment.__proto__; (TrackingModule).trackSettingSearchResultPress({setting: setting, title: title, searchResultPosition: index, numSearchResults: total}); (KeyboardManagerUtilsModule).dismissGlobalKeyboard(); onPress(); } } function StaticSettingSearchResult({settingData, IconComponent, title, breadcrumbs, setting, index, total}) { // fn#100523, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:8745, offset: 0x021eb2c8, size: 334 bytes, params: 2, frame: 24 const useTrailing = settingData.useTrailing; const r10 = useTrailing?.(); const value5 = env0_7.useCallback(_fun100524, [index, setting, r10, title, total]); const TableRow = (require(6238) /* metro dependency 6238: TableRowNative */).TableRow; return ( } subLabel={} trailing={r10 != null ? ((TrailingText) => )((require(6238) /* metro dependency 6238: TableRowNative */).TableRow.TrailingText) : null} start={index === 0} end={index === total - 1} /> ); function _fun100524() { // fn#100524, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:8919, offset: 0x021eb416, size: 142 bytes, params: 1, frame: 16 var value2; if (env0_4 != null) { value2 = environment.__proto__; (require(7006) /* metro dependency 7006: Tracking */).trackSettingSearchResultPress({setting: setting, title: title, searchResultPosition: index, numSearchResults: total}); (require(6797) /* metro dependency 6797: ClipboardUtilsNative */).copy(env0_4); (require(3856) /* metro dependency 3856: ToastUtils */).presentCopiedToClipboard(); } } } function SettingSearchResultPlaceholder({start, end}) { // fn#100525, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:9366, offset: 0x021eb4a4, size: 188 bytes, params: 2, frame: 21 const styles = useStyles(); const property = Module00057(env0_7.useState(function() { var object = {}; var Math = global.Math; object.width = (10 + 80 * Math.random() | 0) + '%'; return object; }), 1)[0]; const TableRow = (TableRowNativeModule).TableRow; return ( } icon={} /> ); } function _fun100527({useTitle, useTrailing, usePreNavigationAction, screen, useDescription, useIsDisabled, variant, start, end, IconComponent}) { // fn#100527, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:1220, offset: 0x021eb560, size: 364 bytes, params: 2, frame: 27 const value3 = (UseNavigationNativeModule).useStackNavigation(); const value4 = useTitle(); const r15 = usePreNavigationAction?.(); const r12 = useDescription?.(); const r11 = useIsDisabled?.(); const r9 = useTrailing?.(); const value10 = env0_7.useCallback(_fun100528, [value3, screen, r15]); const TableRow = (require(6238) /* metro dependency 6238: TableRowNative */).TableRow; return ( )((require(6238) /* metro dependency 6238: TableRowNative */).TableRow.Icon) : null} trailing={r9 != null ? formatSettingsRowTrailing(r9) : null} onPress={value10} start={start} end={end} /> ); function _fun100528() { // fn#100528, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:1507, offset: 0x021eb6cc, size: 70 bytes, params: 1, frame: 14 const value = environment.__proto__; (SettingRendererUtilsModule).onRouteSettingOnPress({navigation: env0_1, screen: screen, preNavigationAction: env0_2}); } } function GuildSelectDefaultIcon({size}) { // fn#100529, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:1843, offset: 0x021eb712, size: 168 bytes, params: 2, frame: 18 size = size === undefined ? 'sm' : size; const styles = useStyles(); const r8 = size !== 'xs' ? 32 : 24; const object2 = {}; copyDataProperties(object2, styles.defaultIcon, r8); object2['width'] = r8; object2['height'] = r8; object2['borderRadius'] = r8 / 3; const ClydeIcon = (ClydeIconModule).ClydeIcon; return ( ); } function _fun100530(a0) { // fn#100530, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:2026, offset: 0x021eb7ba, size: 245 bytes, params: 2, frame: 19 const useSelectedGuildId = a0.useSelectedGuildId; const value = Object.create(null); value.useSelectedGuildId = 0; const value2 = copyDataProperties({}, a0, value, undefined); const value3 = useSelectedGuildId(); const env0_1 = (FluxModule).useStateFromStores([GuildStore], _fun100531); const value5 = _fun100532(value3); let binding = env0_7; const value6 = binding.memo(_fun100534); const value7 = env0_7.useCallback(_fun100535, [value5]); binding = env0_21; const PRESSABLE = NodeType.PRESSABLE; return ((Component) => )(binding); function _fun100531() { // fn#100531, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:2109, offset: 0x01325f40, size: 27 bytes, params: 1, frame: 11 return GuildStore.getGuild(env0_0); } function _fun100532(a0) { // fn#100532, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:2132, offset: 0x021eb8af, size: 210 bytes, params: 2, frame: 17 var environment; const intl = (IndexNativeModule).intl; const t = (IndexNativeModule).t; const env0_0 = a0; const value = environment.__proto__; const value2 = undefined; const guild = (FluxModule).useStateFromStores([GuildStore], _fun100533); return a0 === GUILD_SELECT_ALL_SERVERS_OPTION_ID ? intl.string(t.OMVg25) : (guild == null ? value2 : guild.name) ?? intl.string(t['XBwns+']); function _fun100533() { // fn#100533, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:2177, offset: 0x021eb981, size: 27 bytes, params: 1, frame: 11 return GuildStore.getGuild(env0_0); } } function _fun100534() { // fn#100534, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:2342, offset: 0x021eb99c, size: 112 bytes, params: 1, frame: 17 var r0; var value2; var value; if (guild == null) { value = environment.__proto__; value = ; r0 = value; } else { value2 = environment.__proto__; r0 = ((Component) => )(importDefault(6819) /* metro dependency 6819: GuildIcon */); } return r0; } function _fun100535() { // fn#100535, offset: 0x00c36b39, size: 9 bytes, params: 1, frame: 1 return env0_2; } } function _fun100536({setting, onPress, useTitle, useDescription, useIsDisabled, useTrailing, variant, withArrow, start, end, IconComponent}) { // fn#100536, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:2578, offset: 0x021eba0c, size: 369 bytes, params: 2, frame: 30 var r5; var value; const value3 = (UseHighlightSettingItemModule).useHighlightSettingItem(setting); const value4 = useTitle(); const r16 = useDescription?.(); const r11 = useIsDisabled?.(); const r12 = useTrailing?.(); const jsxRuntimeEnv0_15Binding = jsxRuntimeEnv0_15; const TableRow = (require(6238) /* metro dependency 6238: TableRowNative */).TableRow; const tableRow = ( )((require(6238) /* metro dependency 6238: TableRowNative */).TableRow.Icon) : null} onPress={onPress} disabled={r11} trailing={formatSettingsRowTrailing(r12)} start={start} end={end} /> ); if (value3) { value = importDefault(14149) /* metro dependency 14149: SettingListItemHighlight */; value = ((Component) => )(value); r5 = value; } else { r5 = value3; } return ( <> {tableRow} {r5} ); } function _fun100537({setting, onValueChange, useTitle, useDescription, useIsDisabled, useValue, variant, start, end, IconComponent, hasIcon}) { // fn#100537, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:3105, offset: 0x021ebb7d, size: 379 bytes, params: 2, frame: 28 var r5; var value; const value3 = (UseHighlightSettingItemModule).useHighlightSettingItem(setting); const value4 = useTitle(); const value5 = useValue(); const r14 = useDescription?.(); let r7 = useIsDisabled?.(); const TableSwitchRow = (TableSwitchRowNativeModule).TableSwitchRow; const tableSwitchRow = ( )((require(6238) /* metro dependency 6238: TableRowNative */).TableRow.Icon) : null} value={value5} variant={variant} disabled={r7} onValueChange={onValueChange} start={start} end={end} /> ); const jsxRuntimeEnv0_15Binding = jsxRuntimeEnv0_15; r7 = ( hasIcon !== true ? tableSwitchRow : ( {tableSwitchRow} ) ); if (value3) { value = importDefault(14149) /* metro dependency 14149: SettingListItemHighlight */; value = ((Component) => )(value); r5 = value; } else { r5 = value3; } return ( <> {r7} {r5} ); } function _fun100538({setting, useTitle, useValue, useOptions, onValueChange}) { // fn#100538, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:3876, offset: 0x021ebcf8, size: 295 bytes, params: 2, frame: 25 var r5; var value; const styles = useStyles(); const value2 = (UseHighlightSettingItemModule).useHighlightSettingItem(setting); const value3 = useTitle(); const value4 = useValue(); const value5 = useOptions(); const r10 = typeof value4 !== 'number' ? value4 : '' + value4; const jsxRuntimeEnv0_15Binding = jsxRuntimeEnv0_15; const TableRadioGroup = (TableRadioGroupNativeModule).TableRadioGroup; const tableRadioGroup = ( {value5.map(_fun100539)} ); if (value2) { value = importDefault(14149) /* metro dependency 14149: SettingListItemHighlight */; value = ((Component) => )(value); r5 = value; } else { r5 = value2; } return ( <> {tableRadioGroup} {r5} ); function _fun100539(a0) { // fn#100539, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:4157, offset: 0x021ebe1f, size: 137 bytes, params: 2, frame: 16 var r5; let value = a0.value; if (typeof value === 'number') { value = a0.value; value = '' + value; r5 = value; } else { r5 = a0.value; } value = environment.__proto__; const TableRadioRow = (TableRadioRowNativeModule).TableRadioRow; return ( ); } } function _fun100540({setting, useTitle, variant, useTrailing, useIsDisabled, useDescription, start, end, IconComponent}) { // fn#100540, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:4404, offset: 0x021ebea8, size: 450 bytes, params: 2, frame: 29 const value3 = (UseHighlightSettingItemModule).useHighlightSettingItem(setting); const value4 = useTitle(); const r15 = useTrailing?.(); const r13 = useDescription?.(); const r12 = useIsDisabled?.(); const value9 = env0_7.useCallback(_fun100541, [r15]); const jsxRuntimeEnv0_15Binding = jsxRuntimeEnv0_15; const TableRow = (require(6238) /* metro dependency 6238: TableRowNative */).TableRow; return ( <> )((require(6238) /* metro dependency 6238: TableRowNative */).TableRow.Icon) : null} trailing={r15 != null ? ((TrailingText) => )((require(6238) /* metro dependency 6238: TableRowNative */).TableRow.TrailingText) : null} start={start} end={end} /> {value3 && ((Component) => )(importDefault(14149) /* metro dependency 14149: SettingListItemHighlight */)} ); function _fun100541() { // fn#100541, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:4652, offset: 0x021ec06a, size: 79 bytes, params: 1, frame: 14 var value2; if (env0_0 != null) { value2 = environment.__proto__; (require(6797) /* metro dependency 6797: ClipboardUtilsNative */).copy(env0_0); (require(3856) /* metro dependency 3856: ToastUtils */).presentCopiedToClipboard(); } } } function _fun100542({setting, useTitle, useValue, onValueChange, maximum, start, end}) { // fn#100542, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:5034, offset: 0x021ec0b9, size: 310 bytes, params: 2, frame: 30 var r5; var value; const value3 = (UseHighlightSettingItemModule).useHighlightSettingItem(setting); const styles = useStyles(); const value4 = useTitle(); const r19 = useValue?.(); const jsxRuntimeEnv0_15Binding = jsxRuntimeEnv0_15; const TableRow = (TableRowNativeModule).TableRow; const tableRow = ( {((Component) => )(VolumeSlider)} } /> ); if (value3) { value = importDefault(14149) /* metro dependency 14149: SettingListItemHighlight */; value = ((Component) => )(value); r5 = value; } else { r5 = value3; } return ( <> {tableRow} {r5} ); } function _fun100543({useTitle, start, end, useProps, useTrailing}) { // fn#100543, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13364:5397, offset: 0x021ec1ef, size: 1383 bytes, params: 2, frame: 48 const Text = (TextModule).Text; const env0_6 = undefined; let env0_7 = undefined; const value2 = useTitle(); const value3 = useProps(); const onSlidingComplete = value3.onSlidingComplete; const step = value3.step; const r32 = step === undefined ? 0.1 : step; const startIcon = value3.startIcon; const endIcon = value3.endIcon; const minimumValue = value3.minimumValue; const r30 = minimumValue === undefined ? 0 : minimumValue; const maximumValue = value3.maximumValue; const r27 = maximumValue === undefined ? 1 : maximumValue; const env0_3 = r27; const valueLabel = value3.valueLabel; const defaultValue = value3.defaultValue; const r15 = defaultValue === undefined ? 1 : defaultValue; const onValueChange = value3.onValueChange; const onValueChange2 = onValueChange; const value8 = env0_6(value3, env0_3); const styles = useStyles(); const locale = (require(566) /* metro dependency 566: flux */).useStateFromStores([LocaleStore], function() { return LocaleStore.locale; }); const value10 = onValueChange2(env0_7.useState(_fun100545), 2); const property = value10[0]; env0_7 = property; const env0_8 = value10[1]; const [property2, env0_9] = onValueChange2(env0_7.useState(false), 2); const value13 = env0_7.useCallback(_fun100546, []); const value14 = env0_7.useCallback(_fun100547, [onValueChange]); const value15 = env0_7.useCallback(_fun100548, [onSlidingComplete]); const value16 = env0_7.useCallback(_fun100549, [value14, onSlidingComplete]); const value17 = env0_7.useCallback(_fun100550, [r15, value16]); const value18 = env0_7.useCallback(_fun100551, [value16, r27, r32, property]); const value19 = env0_7.useCallback(_fun100552, [value16, r30, r32, property]); const r18 = useTrailing?.(); const Card = (CardNativeModule).Card; const Stack = (StackNativeModule).Stack; const Stack2 = (StackNativeModule).Stack; const items3 = [ {value2} {r18} {property != null && {valueLabel ?? (require(1856) /* metro dependency 1856: NumberUtils */).formatPercent(locale, property)}} , ]; const slider = PlatformUtilsModule.isAndroid() ? styles.slider : undefined; const Slider = (SliderNativeModule).Slider; const sliderProps = {...value8}; sliderProps['accessibilityLabel'] = value2; sliderProps['step'] = r32; sliderProps['onValueChange'] = value14; sliderProps['value'] = property; sliderProps['minimumValue'] = r30; sliderProps['maximumValue'] = r27; sliderProps['onSlidingStart'] = value13; sliderProps['onSlidingComplete'] = value15; const PressableOpacity = (PressablesModule).PressableOpacity; sliderProps['startIcon'] = ( {startIcon} ); sliderProps['endIcon'] = ( {endIcon} ); items3[1] = ( ); const Button = (ButtonNativeModule).Button; const r13 = !property2 && property === r15; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; items3[2] = (