Initial commit

This commit is contained in:
janisslsm committed 2026-07-27 16:20:00 +03:00
commit af3b49f756
16065 files changed
+2938410

No files matched your search

@@ -0,0 +1,8 @@
/* Metro module 8218; source: modules/double_tap_to_react/DoubleTapToRaectConstants.tsx; dependencies: [2] */
function _fun65796(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#65796, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8403:6, offset: 0x01bdf2d2, size: 84 bytes, params: 8, frame: 15
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/double_tap_to_react/DoubleTapToRaectConstants.tsx');
exports.NITRO_UPSELL_ALERT_KEY = 'double-tap-nitro-alert';
}
@@ -0,0 +1,16 @@
/* Metro module 8225; source: modules/double_tap_to_react/native/DoubleTapChatInputBannerActionCreators.tsx; dependencies: [694, 2] */
function _fun65816(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#65816, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8410:6, offset: 0x01be092e, size: 99 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/double_tap_to_react/native/DoubleTapChatInputBannerActionCreators.tsx');
exports.updateForceShowChatInputBanner = updateForceShowChatInputBanner;
}
function updateForceShowChatInputBanner(a0) { // fn#65817, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8410:236, offset: 0x01be0991, size: 58 bytes, params: 2, frame: 14
const value = importDefault(694) /* metro dependency 694: Dispatcher */;
const dispatch = value.dispatch;
const object2 = {type: 'UPDATE_FORCE_SHOW_DOUBLE_TAP_TO_REACT_BANNER'};
copyDataProperties(object2, a0, 'UPDATE_FORCE_SHOW_DOUBLE_TAP_TO_REACT_BANNER');
Reflect.apply(dispatch, value, [object2]);
}
@@ -0,0 +1,59 @@
/* Metro module 11813; source: modules/double_tap_to_react/native/DoubleTapChatInputBannerStore.tsx; dependencies: [6, 7, 15, 17, 18, 566, 694, 2] */
function _fun90506(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#90506, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11999:6, offset: 0x0203c118, size: 287 bytes, params: 8, frame: 19
const closure = function(a0) {
env0_5 = a0.forceShow;
env0_6 = a0.forceShow ? a0.emoji : null;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = importDefault(6) /* metro dependency 6 */;
const env0_1 = importDefault(7) /* metro dependency 7 */;
const env0_2 = importDefault(15) /* metro dependency 15 */;
const env0_3 = importDefault(17) /* metro dependency 17 */;
const env0_4 = importDefault(18) /* metro dependency 18 */;
const Store = (importDefault(566) /* metro dependency 566: flux */).Store;
let value = _fun90511(Store);
value.displayName = 'DoubleTapChatInputBannerStore';
value = new value(importDefault(694) /* metro dependency 694: Dispatcher */,
{UPDATE_FORCE_SHOW_DOUBLE_TAP_TO_REACT_BANNER: closure});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/double_tap_to_react/native/DoubleTapChatInputBannerStore.tsx');
exports.default = value;
exports.handleUpdateForceShowChatInputBanner = closure;
}
function _isNativeReflectConstruct_90507() { // fn#90507, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11999:148, offset: 0x0203c237, size: 98 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_90507_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun90511(a0) { // fn#90511, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11999:453, offset: 0x0203c2c2, size: 99 bytes, params: 2, frame: 16
const closure = DoubleTapChatInputBannerStore;
env0_4(closure, a0);
return env0_1(closure, [{key: 'forceShow', get: get_90513}, {key: 'bannerEmoji', get: get_90514}]);
}
@@ -0,0 +1,135 @@
/* Metro module 11410; source: modules/double_tap_to_react/native/DoubleTapEmojiEditNudge.tsx; dependencies: [5, 31, 27, 4502, 1479, 661, 1881, 33, 4501, 697, 3829, 8217, 8220, 1481, 566, 1423, 8529, 683, 8227, 4573, 1244, 6739, 5278, 2] */
function _fun87410(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#87410, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11596:6, offset: 0x01fbdb9c, size: 347 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const dimensionsStoreAndroid = importDefault(1479) /* metro dependency 1479: DimensionsStoreAndroid */;
const env0_8 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
let value = require(1881) /* metro dependency 1881: EmojiConstants */;
const env0_9 = value.EMOJI_URL_BASE_SIZE;
const env0_10 = value.EmojiIntention;
value = require(33) /* metro dependency 33 */;
const env0_11 = value.jsx;
const env0_12 = value.jsxs;
const env0_13 = {'left': 8, 'right': 8};
const env0_14 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun87420);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/double_tap_to_react/native/DoubleTapEmojiEditNudge.tsx');
exports.DoubleTapEmojiEditNudge = DoubleTapEmojiEditNudge;
}
function DoubleTapEmojiEditNudgeFallback({location, fallback}) { // fn#87411, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11596:690, offset: 0x01fbdcf7, size: 103 bytes, params: 2, frame: 17
const DoubleTapExpandExperiment = (require(8220) /* metro dependency 8220: DoubleTapExpandExperiment */).DoubleTapExpandExperiment;
const useConfig = DoubleTapExpandExperiment.useConfig;
return Reflect.apply(useConfig, DoubleTapExpandExperiment,
[{location: 'DoubleTapEmojiEditNudge'}]).enabled ? <DoubleTapEmojiEditNudgeInner location={location} emoji={fallback} /> : null;
}
function DoubleTapEmojiEditNudgeInner({location, emoji}) { // fn#87412, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11596:912, offset: 0x01fbdd5e, size: 591 bytes, params: 2, frame: 28
const env0_2 = (require(1481) /* metro dependency 1481: AppEntryKeyContext */).useAppEntryKey();
const value2 = DimensionsStoreAndroid(_fun87413);
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const styles = useStyles(value2);
const value3 = env0_4.useMemo(_fun87415, [emoji, useReducedMotion]);
const value4 = env0_4.useCallback(_fun87416, [location]);
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const items2 = [<Text color="text-subtle" variant="text-sm/normal">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['1EUr/W'])}</Text>];
items2[1] = ((Component) => <Component style={styles.doubleTapEmojiContainer} fastImageStyle={styles.doubleTapCustomEmoji} textEmojiStyle={styles.doubleTapTextEmoji} src={value3} name={emoji.id == null ? emoji.surrogates : ''} />)(importDefault(6739) /* metro dependency 6739: Emoji */);
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
items2[2] = <PressableOpacity accessibilityRole="button" onPress={value4} hitSlop={env0_13} style={styles.editButton}><Text color="text-brand" variant="text-sm/normal">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.bt75uw)}</Text></PressableOpacity>;
return (
<View style={styles.doubleTapEmojiEditNudgeContainer}>
{items2}
</View>
);
}
function _fun87420(a0) { // fn#87420, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11596:299, offset: 0x01fbe19a, size: 200 bytes, params: 2, frame: 17
const object2 = {};
let PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object2.doubleTapEmojiContainer = {marginHorizontal: PX_4};
const INTERACTIVE_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT;
object2.doubleTapTextEmoji = {fontSize: 12 * a0, color: INTERACTIVE_TEXT_DEFAULT};
object2.doubleTapCustomEmoji = {height: 16 * a0, width: 16 * a0};
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object2.doubleTapEmojiEditNudgeContainer = {'marginTop': null, 'flexDirection': 'row', 'alignItems': 'center',
'justifyContent': 'center', 'flexWrap': 'wrap', marginTop: PX_8};
PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object2.editButton = {marginHorizontal: PX_4};
return object2;
}
function DoubleTapEmojiEditNudge({location}) { // fn#87421, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11596:2420, offset: 0x01fbe262, size: 233 bytes, params: 2, frame: 20
const DoubleTapReactionEmoji = (require(3829) /* metro dependency 3829: UserSettings */).DoubleTapReactionEmoji;
const value2 = DoubleTapReactionEmoji.useSetting();
const value3 = env0_4.useMemo(_fun87422, [value2]);
const value4 = env0_4.useMemo(_fun87423, []);
return value2.disableDoubleTap === true ? null : env0_4.useMemo(_fun87424,
[value2]) || value4 == null ? value3 != null ? <DoubleTapEmojiEditNudgeInner location={location} emoji={value3} /> : null : <DoubleTapEmojiEditNudgeFallback location={location} fallback={value4} />;
}
function _fun87413({byAppEntry}) { // fn#87413, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11596:1009, offset: 0x01fbdfad, size: 28 bytes, params: 2, frame: 2
return byAppEntry[env0_2].fontScale;
}
function _fun87415() { // fn#87415, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11596:1120, offset: 0x01fbdfc9, size: 115 bytes, params: 1, frame: 15
return emoji.id != null ? (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getEmojiURL({id: emoji.id,
size: EMOJI_URL_BASE_SIZE, animated: !useReducedMotion && emoji.animated}) : emoji.url;
}
function _fun87416() { // fn#87416, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11596:1229, offset: 0x01fbe03c, size: 101 bytes, params: 1, frame: 16
const openEmojiPickerActionSheetModule = require(8529) /* metro dependency 8529: openEmojiPickerActionSheet */;
const openEmojiPickerActionSheet = openEmojiPickerActionSheetModule.openEmojiPickerActionSheet;
const object2 = {};
const DEFAULT_REACT_EMOJI = EmojiIntention.DEFAULT_REACT_EMOJI;
object2.pickerIntention = DEFAULT_REACT_EMOJI;
const env0_0 = env1_3(_fun87418);
object2.onPressEmoji = onPressEmoji_87419;
object2.startExpanded = true;
Reflect.apply(openEmojiPickerActionSheet, openEmojiPickerActionSheetModule, [object2, 'stack']);
}
function _fun87422() { // fn#87422, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11596:2531, offset: 0x01fbe34b, size: 45 bytes, params: 1, frame: 11
const value = environment.__proto__;
return (require(8217) /* metro dependency 8217: DoubleTapToReactUtils */).disambiguatedEmojiFromSettingsValue(env0_0);
}
function _fun87423() { // fn#87423, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11596:2602, offset: 0x01fbe378, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__;
return (require(8217) /* metro dependency 8217: DoubleTapToReactUtils */).getFallbackDoubleTapDisambiguatedEmoji();
}
function _fun87424() { // fn#87424, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11596:2674, offset: 0x01fbe39d, size: 61 bytes, params: 1, frame: 5
const {emojiId, emojiName} = env0_0;
let r0 = emojiId != null && emojiId !== '0';
r0 = !r0 ? emojiName != null && emojiName !== '' : r0;
return r0;
}
function* _fun87418(a0) { // fn#87418, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11596:1334, offset: 0x01fbe0ac, size: 238 bytes, params: 2, frame: 20
if (true) {
value = environment.__proto__.__proto__.__proto__;
var binding = env3_1;
var binding2 = env3_2;
var value3 = binding(binding2[17]);
var track = value3.track;
var DOUBLE_TAP_REACT_EMOJI_UPDATED = env3_8.DOUBLE_TAP_REACT_EMOJI_UPDATED;
Reflect.apply(track, value3, [DOUBLE_TAP_REACT_EMOJI_UPDATED, {emoji_id: a0.id, emoji_name: a0.name,
emoji_animated: a0.animated, recommended: false, location: require}]);
var DoubleTapReactionEmoji = env3_0(binding2[10]).DoubleTapReactionEmoji;
yield DoubleTapReactionEmoji.updateSetting({emojiId: a0.id, emojiName: a0.name, animated: a0.animated,
disableDoubleTap: false});
if (false) {
return undefined;
}
env3_0(env3_2[18]).showDoubleTapEmojiUpdatedToast({emoji: a0});
}
}
@@ -0,0 +1,99 @@
/* Metro module 8227; source: modules/double_tap_to_react/native/DoubleTapEmojiUpdatedToast.tsx; dependencies: [31, 4502, 1881, 33, 4501, 697, 477, 566, 1423, 6739, 4573, 1244, 4559, 3869, 3857, 2] */
function _fun65824(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#65824, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8412:6, offset: 0x01be0d72, size: 479 bytes, params: 8, frame: 26
var object5;
const env0_0 = require;
const closure = ToastEmoji;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const value = undefined;
const env0_3 = importAll(31) /* metro dependency 31 */;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const env0_5 = (require(1881) /* metro dependency 1881: EmojiConstants */).EMOJI_URL_BASE_SIZE;
const env0_6 = (require(33) /* metro dependency 33 */).jsx;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
object5 = {};
const object6 = {};
let PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object6.marginLeft = PX_8;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object6.marginVertical = PX_8;
object5.toastEmoji = object6;
const value3 = 24;
object5.toastEmojiCustom = {'width': 24, 'height': 24};
const object7 = {};
const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */;
object7.fontSize = platformUtilsModule.isIOS() ? value3 : 16;
const value6 = platformUtilsModule;
object7.lineHeight = value6.isIOS() ? 32 : value;
object7.textAlign = 'center';
const INTERACTIVE_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT;
object7.color = INTERACTIVE_TEXT_DEFAULT;
object5.toastEmojiText = object7;
const object8 = {};
const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object8.marginRight = PX_12;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object8.marginVertical = PX_8;
object5.toastText = object8;
const env0_7 = Reflect.apply(createStyles, createStylesModule, [object5]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/double_tap_to_react/native/DoubleTapEmojiUpdatedToast.tsx');
exports.ToastEmoji = closure;
exports.showDoubleTapEmojiUpdatedToast = showDoubleTapEmojiUpdatedToast;
return value;
}
function ToastEmoji({emoji}) { // fn#65825, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8412:529, offset: 0x01be0f51, size: 210 bytes, params: 2, frame: 20
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const styles = useStyles();
return ((Component) => <Component style={styles.toastEmoji} fastImageStyle={styles.toastEmojiCustom} textEmojiStyle={styles.toastEmojiText} name={emoji.id == null ? emoji.surrogates : ''} src={env0_3.useMemo(_fun65827,
[emoji, useReducedMotion])} />)(importDefault(6739) /* metro dependency 6739: Emoji */);
}
function ToastText({emoji}) { // fn#65828, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8412:876, offset: 0x01be1096, size: 145 bytes, params: 2, frame: 19
const styles = useStyles();
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
return (
<Text variant="text-sm/normal" style={styles.toastText}>
{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.nKY0Fl, {emojiName: emoji.name})}
</Text>
);
}
function showDoubleTapEmojiUpdatedToast({emoji}) { // fn#65829, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8412:1210, offset: 0x01be1127, size: 230 bytes, params: 2, frame: 18
var AccessibilityAnnouncer;
var announce;
var intl;
var value;
const useIsScreenReaderEnabledNativeModule = require(4559) /* metro dependency 4559: useIsScreenReaderEnabledNative */;
const getIsScreenReaderEnabled = useIsScreenReaderEnabledNativeModule.getIsScreenReaderEnabled;
if (Reflect.apply(getIsScreenReaderEnabled, useIsScreenReaderEnabledNativeModule, [])) {
AccessibilityAnnouncer = (require(3869) /* metro dependency 3869: AccessibilityAnnouncerAndroid */).AccessibilityAnnouncer;
announce = AccessibilityAnnouncer.announce;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
Reflect.apply(announce, AccessibilityAnnouncer,
[intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t.nKY0Fl,
{emojiName: emoji.name})]);
} else {
value = importDefault(3857) /* metro dependency 3857: ToastActionCreators */;
value.open({key: 'DEFAULT_REACTION_EMOJI_UPDATED', icon: icon_65830, content: content, toastDurationMs: 3000});
}
}
function _fun65827() { // fn#65827, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8412:642, offset: 0x01be1023, size: 115 bytes, params: 1, frame: 16
return emoji.id != null ? (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getEmojiURL({id: emoji.id,
animated: !useReducedMotion && emoji.animated, size: EMOJI_URL_BASE_SIZE}) : emoji.url;
}
function showDoubleTapEmojiUpdatedToastIcon() { // fn#65830, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8412:1468, owner: showDoubleTapEmojiUpdatedToast.icon, offset: 0x01be120d, size: 35 bytes, params: 1, frame: 13
return <ToastEmoji emoji={emoji} />;
}
function showDoubleTapEmojiUpdatedToastContent() { // fn#65831, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8412:1504, owner: showDoubleTapEmojiUpdatedToast.content, offset: 0x01be1230, size: 35 bytes, params: 1, frame: 13
return <ToastText emoji={emoji} />;
}
@@ -0,0 +1,57 @@
/* Metro module 8221; source: modules/double_tap_to_react/native/DoubleTapErrorToast.tsx; dependencies: [31, 27, 1881, 33, 4501, 697, 8222, 3857, 4573, 1244, 2] */
function _fun65803(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#65803, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8406:6, offset: 0x01bdf72b, size: 325 bytes, params: 8, frame: 22
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(27) /* metro dependency 27 */).View;
const env0_4 = (require(1881) /* metro dependency 1881: EmojiConstants */).EmojiDisabledReasons;
const env0_5 = (require(33) /* metro dependency 33 */).jsx;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const object = {};
const BACKGROUND_FEEDBACK_CRITICAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_FEEDBACK_CRITICAL;
object.backgroundColor = BACKGROUND_FEEDBACK_CRITICAL;
object.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
let PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object.padding = PX_4;
PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object.marginLeft = PX_4;
const env0_6 = Reflect.apply(createStyles, createStylesModule, [{icon: object}]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/double_tap_to_react/native/DoubleTapErrorToast.tsx');
exports.showDoubleTapErrorToast = showDoubleTapErrorToast;
}
function DoubleTapErrorToastIcon() { // fn#65804, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8406:347, offset: 0x01bdf870, size: 128 bytes, params: 1, frame: 19
const styles = useStyles();
const viewBindingProps = {style: styles.icon};
viewBindingProps['aria-hidden'] = true;
const XSmallBoldIcon = (require(8222) /* metro dependency 8222: XSmallBoldIcon */).XSmallBoldIcon;
const WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE;
return (
<View {...viewBindingProps}>
<XSmallBoldIcon color={WHITE} size="xs" />
</View>
);
}
function showDoubleTapErrorToast({emojiName, reason}) { // fn#65805, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8406:629, offset: 0x01bdf8f0, size: 108 bytes, params: 2, frame: 14
const toastActionCreators = importDefault(3857) /* metro dependency 3857: ToastActionCreators */;
toastActionCreators.open({key: 'EMOJI_DOUBLE_TAP_ERROR', icon: icon_65806, content: content, toastDurationMs: 3000});
}
function showDoubleTapErrorToastIcon() { // fn#65806, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8406:734, owner: showDoubleTapErrorToast.icon, offset: 0x01bdf95c, size: 23 bytes, params: 1, frame: 13
return <DoubleTapErrorToastIcon />;
}
function showDoubleTapErrorToastContent() { // fn#65807, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8406:776, owner: showDoubleTapErrorToast.content, offset: 0x01bdf973, size: 346 bytes, params: 1, frame: 21
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const reasonBinding = reason;
const DISALLOW_EXTERNAL = EmojiDisabledReasons.DISALLOW_EXTERNAL;
return reasonBinding !== DISALLOW_EXTERNAL ? <Text variant="text-sm/normal">{emojiName != null ? intl.format((require(1244) /* metro dependency 1244: indexNative */).t.WZGLFq,
{emojiName: emojiName}) : intl.string((require(1244) /* metro dependency 1244: indexNative */).t.CL5mWi)}</Text> : emojiName != null ? <Text variant="text-sm/normal">{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.Dz4vkv,
{emojiName: emojiName})}</Text> : <Text variant="text-sm/normal">{emojiName != null ? intl.format((require(1244) /* metro dependency 1244: indexNative */).t.WZGLFq,
{emojiName: emojiName}) : intl.string((require(1244) /* metro dependency 1244: indexNative */).t.CL5mWi)}</Text>;
}
@@ -0,0 +1,11 @@
/* Metro module 8220; source: modules/double_tap_to_react/native/DoubleTapExpandExperiment.tsx; dependencies: [1854, 2] */
function _fun65802(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#65802, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8405:6, offset: 0x01bdf69a, size: 145 bytes, params: 8, frame: 20
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2026-02-double-tap-expand', 'kind': 'user',
defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/double_tap_to_react/native/DoubleTapExpandExperiment.tsx');
exports.DoubleTapExpandExperiment = value;
}
@@ -0,0 +1,59 @@
/* Metro module 8223; source: modules/double_tap_to_react/native/DoubleTapNitroAlert.tsx; dependencies: [31, 27, 8218, 661, 8224, 33, 4501, 7007, 4497, 4500, 7684, 1244, 2] */
function _fun65810(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#65810, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8408:6, offset: 0x01bdfb57, size: 283 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importAll(31) /* metro dependency 31 */;
const env0_3 = (require(27) /* metro dependency 27 */).View;
const env0_4 = (require(8218) /* metro dependency 8218: DoubleTapToRaectConstants */).NITRO_UPSELL_ALERT_KEY;
const env0_5 = (require(661) /* metro dependency 661: Constants */).UserSettingsSections;
const env0_6 = (require(8224) /* metro dependency 8224: SettingsConstants */).MobileSetting;
const value = require(33) /* metro dependency 33 */;
const env0_7 = value.jsx;
const env0_8 = value.Fragment;
const env0_9 = value.jsxs;
const env0_10 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({icon: {'alignItems': 'center',
'justifyContent': 'center'}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/double_tap_to_react/native/DoubleTapNitroAlert.tsx');
exports.default = DoubleTapNitroAlert;
}
function DoubleTapNitroAlert({emojiName}) { // fn#65811, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8408:429, offset: 0x01bdfc72, size: 516 bytes, params: 2, frame: 26
const styles = useStyles();
const binding = env0_2;
const value2 = binding.useCallback(function() {
require(dependencyMap[7]).openUserSettings({screen: UserSettingsSections.TEXT,
params: {initialSetting: MobileSetting.DOUBLE_TAP_EMOJI}});
}, []);
const value3 = binding.useCallback(function() {
require(dependencyMap[7]).openUserSettings({screen: UserSettingsSections.PREMIUM}, _fun65814);
}, []);
const AlertModal = (require(4500) /* metro dependency 4500: AlertModalNative */).AlertModal;
const object2 = {};
const CircleErrorIcon = (require(7684) /* metro dependency 7684: CircleErrorIcon */).CircleErrorIcon;
object2.header = <View style={styles.icon}><CircleErrorIcon size="custom" style={{'width': 40,
'height': 40}} /></View>;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const HRAWfC = (require(1244) /* metro dependency 1244: indexNative */).t.HRAWfC;
object2.title = Reflect.apply(string, intl, [HRAWfC]);
object2.content = intl.format((require(1244) /* metro dependency 1244: indexNative */).t['3u/Je4'],
{emojiName: emojiName, onRenewNitro: value3});
const jsxRuntimeEnv0_8Binding = jsxRuntimeEnv0_8;
const AlertActionButton = (require(4500) /* metro dependency 4500: AlertModalNative */).AlertActionButton;
string = intl.string;
const LIIHRy = (require(1244) /* metro dependency 1244: indexNative */).t.LIIHRy;
object2.actions = <><AlertActionButton onPress={value2} text={Reflect.apply(string, intl,
[LIIHRy])} key="confirm" /><AlertActionButton variant="secondary" text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['Nr6v2+'])} key="cancel" /></>;
return <AlertModal {...object2} />;
}
function _fun65813() { // fn#65813, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8408:613, offset: 0x01bdfec3, size: 65 bytes, params: 1, frame: 14
const openUserSettingsModule = require(7007) /* metro dependency 7007: openUserSettings */;
const openUserSettings = openUserSettingsModule.openUserSettings;
const PREMIUM = UserSettingsSections.PREMIUM;
Reflect.apply(openUserSettings, openUserSettingsModule, [{screen: PREMIUM}, function() {
require(dependencyMap[8]).dismissAlert(NITRO_UPSELL_ALERT_KEY);
}]);
}
@@ -0,0 +1,86 @@
/* Metro module 8226; source: modules/double_tap_to_react/native/DoubleTapReminderToast.tsx; dependencies: [31, 1376, 33, 4501, 697, 4573, 1244, 3968, 1365, 3829, 8217, 3857, 8227, 2] */
function _fun65818(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#65818, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8411:6, offset: 0x01be09cb, size: 258 bytes, params: 8, frame: 22
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(1376) /* metro dependency 1376: DismissibleContentConstants */).ContentDismissActionType;
const env0_4 = (require(33) /* metro dependency 33 */).jsx;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const object = {};
const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object.marginRight = PX_12;
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object.marginVertical = PX_8;
const env0_5 = Reflect.apply(createStyles, createStylesModule, [{toastText: object}]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/double_tap_to_react/native/DoubleTapReminderToast.tsx');
exports.maybeShowDoubleTapReminderToast = maybeShowDoubleTapReminderToast;
}
function DoubleTapReminderContent({emoji}) { // fn#65819, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8411:282, offset: 0x01be0acd, size: 161 bytes, params: 2, frame: 19
const styles = useStyles();
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const format = intl.format;
const C2tQIV = (require(1244) /* metro dependency 1244: indexNative */).t.C2tQIV;
return (
<Text variant="text-sm/normal" style={styles.toastText}>
{Reflect.apply(format, intl, [C2tQIV, {protipHook: protipHook, emojiName: emoji.name}])}
</Text>
);
}
function maybeShowDoubleTapReminderToast(a0) { // fn#65821, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8411:684, offset: 0x01be0bb4, size: 354 bytes, params: 2, frame: 21
var r1;
var setting;
var disableDoubleTap;
var value4;
var moduleValue4;
const env0_0 = a0;
const dismissibleContentUnsafeUtilsModule = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
const UNSAFE_isDismissibleContentDismissed = dismissibleContentUnsafeUtilsModule.UNSAFE_isDismissibleContentDismissed;
const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent;
const DOUBLE_TAP_TO_REACT_REMINDER = DismissibleContent.DOUBLE_TAP_TO_REACT_REMINDER;
if (!Reflect.apply(UNSAFE_isDismissibleContentDismissed, dismissibleContentUnsafeUtilsModule,
[DOUBLE_TAP_TO_REACT_REMINDER])) {
setting = (require(3829) /* metro dependency 3829: UserSettings */).DoubleTapReactionEmoji.getSetting();
disableDoubleTap = setting.disableDoubleTap;
r1 = disableDoubleTap != null && disableDoubleTap;
value4 = (require(8217) /* metro dependency 8217: DoubleTapToReactUtils */).disambiguatedEmojiFromSettingsValue(setting);
r1 = !r1 && value4 != null;
r1 = r1 && (require(8217) /* metro dependency 8217: DoubleTapToReactUtils */).areEmojisEqual(value4, a0);
if (r1) {
(importDefault(3857) /* metro dependency 3857: ToastActionCreators */).open({key: 'DOUBLE_TAP_TO_REACT_REMINDER',
icon: icon_65822, content: content, toastDurationMs: 4000});
moduleValue4 = dismissibleContentUnsafeUtilsModule;
moduleValue4.UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.DOUBLE_TAP_TO_REACT_REMINDER,
{dismissAction: ContentDismissActionType.AUTO_DISMISS, forceTrack: true});
}
}
}
function DoubleTapReminderContentProtipHook(a0) { // fn#65820, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8411:430, owner: DoubleTapReminderContent.protipHook, offset: 0x01be0b6e, size: 70 bytes, params: 2, frame: 15
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<Text
variant="text-sm/bold"
color="icon-feedback-info"
key="doubleTapReminder"
>
{a0}
</Text>
);
}
function maybeShowDoubleTapReminderToastIcon() { // fn#65822, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8411:1034, owner: maybeShowDoubleTapReminderToast.icon, offset: 0x01be0d16, size: 57 bytes, params: 1, frame: 14
const ToastEmoji = (require(8227) /* metro dependency 8227: DoubleTapEmojiUpdatedToast */).ToastEmoji;
return <ToastEmoji emoji={env0_0} />;
}
function maybeShowDoubleTapReminderToastContent() { // fn#65823, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8411:1079, owner: maybeShowDoubleTapReminderToast.content, offset: 0x01be0d4f, size: 35 bytes, params: 1, frame: 13
return <DoubleTapReminderContent emoji={env0_0} />;
}
@@ -0,0 +1,522 @@
/* Metro module 11848; source: modules/double_tap_to_react/native/DoubleTapToReactActionSheet.tsx; dependencies: [5, 57, 31, 27, 4502, 6540, 661, 1881, 33, 4501, 477, 697, 4017, 4504, 4594, 566, 4577, 3829, 3797, 8217, 1423, 6739, 683, 6789, 8227, 4080, 6805, 4573, 1244, 11814, 11849, 4578, 2] */
function _fun90778(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#90778, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:6, offset: 0x02045403, size: 1038 bytes, params: 8, frame: 25
var object6;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const value = undefined;
const env0_3 = importDefault(5) /* metro dependency 5 */;
const env0_4 = importDefault(57) /* metro dependency 57 */;
const env0_5 = importAll(31) /* metro dependency 31 */;
const env0_6 = (require(27) /* metro dependency 27 */).View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const emojiStore = importDefault(6540) /* metro dependency 6540: EmojiStore */;
const env0_9 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
const env0_10 = (require(1881) /* metro dependency 1881: EmojiConstants */).EMOJI_URL_BASE_SIZE;
const value2 = require(33) /* metro dependency 33 */;
const env0_11 = value2.jsx;
const env0_12 = value2.jsxs;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
object6 = {};
const value4 = 48;
object6.emoji = {'width': 48, 'height': 48, 'zIndex': 2};
object6.selectedCustomEmoji = {'width': 48, 'height': 48};
const object7 = {};
const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */;
object7.fontSize = platformUtilsModule.isIOS() ? value4 : 36;
const value7 = platformUtilsModule;
object7.lineHeight = value7.isIOS() ? 56 : value;
object7.textAlign = 'center';
const INTERACTIVE_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT;
object7.color = INTERACTIVE_TEXT_DEFAULT;
object6.selectedTextEmoji = object7;
const object10 = {};
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object10.marginLeft = PX_16;
object10.fontSize = 40;
const value9 = platformUtilsModule;
object10.lineHeight = value9.isIOS() ? 56 : value;
object6.selectedEmojiText = object10;
const object11 = {'flexDirection': 'column', 'alignItems': 'center'};
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object11.paddingHorizontal = PX_4;
const PX_32 = (importDefault(697) /* metro dependency 697: native */).space.PX_32;
object11.paddingTop = PX_32;
const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object11.paddingBottom = PX_12;
object6.content = object11;
const object12 = {flexDirection: 'row'};
const CARD_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CARD_BACKGROUND_DEFAULT;
object12.backgroundColor = CARD_BACKGROUND_DEFAULT;
const BORDER_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_STRONG;
object12.borderColor = BORDER_STRONG;
object12.borderWidth = 4;
let PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object12.paddingVertical = PX_8;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object12.paddingHorizontal = PX_16;
object12.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.xl;
object12.justifyContent = 'center';
object12.alignItems = 'center';
object6.emojiContainer = object12;
object6.alignCenter = {textAlign: 'center'};
let PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object6.emojiSelectRow = {marginVertical: PX_24};
const object13 = {'marginBottom': null, 'flexDirection': 'row', 'alignItems': 'center'};
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object13.marginBottom = PX_8;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object13.gap = PX_8;
object6.header = object13;
const object14 = {};
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object14.marginTop = PX_8;
PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object14.marginBottom = PX_24;
object6.emojiName = object14;
object6.burstContainer = {'position': 'absolute', 'top': 0, 'bottom': 0, 'left': 0, 'right': 0, 'zIndex': 0};
const env0_13 = Reflect.apply(createStyles, createStylesModule, [object6]);
object6 = {code: 'function DoubleTapToReactActionSheetTsx1(){const{sizeValue,left,rotationValue,top,positionValue,opacityValue}=this.__closure;return{position:\'absolute\',transform:[{scale:sizeValue.get()},{rotate:(left===true?-1:1)*rotationValue.get()+"deg"}],top:top===true?-positionValue.get():positionValue.get(),left:left===true?-positionValue.get()*1.5:positionValue.get()*1.5,opacity:opacityValue.get()};}'};
object6 = {code: 'function DoubleTapToReactActionSheetTsx2(){const{interpolate,sharedSaveValue}=this.__closure;return{transform:[{scale:interpolate(sharedSaveValue.get(),[0,1],[1,1.3])},{translateY:interpolate(sharedSaveValue.get(),[0,1],[0,-20])}]};}'};
object6 = {code: 'function DoubleTapToReactActionSheetTsx3(){const{scaleChangeValue,opacityChangeValue}=this.__closure;return{transform:[{scale:scaleChangeValue.get()}],opacity:opacityChangeValue.get()};}'};
object6 = {code: 'function DoubleTapToReactActionSheetTsx4(){const{runOnJS,setAnimateConfetti}=this.__closure;return runOnJS(setAnimateConfetti)(true);}'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/double_tap_to_react/native/DoubleTapToReactActionSheet.tsx');
exports.default = DoubleTapToReactActionSheet;
return value;
}
function EmojiConfetti(a0) { // fn#90779, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:1826, offset: 0x02045811, size: 332 bytes, params: 2, frame: 25
const emojiComponent = a0.emojiComponent;
const top = a0.top;
a0.bottom;
const left = a0.left;
a0.right;
const env0_2 = a0.leading;
const value2 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(0);
const value3 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(0);
const value4 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(0.2);
const value5 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(0);
(require(4594) /* metro dependency 4594: useMountEffect */).useMountLayoutEffect(_fun90780);
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = EmojiConfettiS;
closure.__closure = {sizeValue: value4, left: left, rotationValue: value3, top: top, positionValue: value2,
opacityValue: value5};
closure.__workletHash = 1455873119263;
closure.__initData = env0_14;
const value6 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const View = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
return (
<View style={value6}>
{emojiComponent}
</View>
);
}
function EmojiBurstAnimation({emojiComponent}) { // fn#90782, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:3278, offset: 0x02045d20, size: 194 bytes, params: 2, frame: 20
const styles = useStyles();
return (
<View style={styles.burstContainer}>
<EmojiConfetti
emojiComponent={emojiComponent}
top
left
leading
/>
<EmojiConfetti
emojiComponent={emojiComponent}
top
right
/>
<EmojiConfetti
emojiComponent={emojiComponent}
bottom
left
/>
<EmojiConfetti
emojiComponent={emojiComponent}
bottom
right
/>
</View>
);
}
function DoubleTapToReactActionSheet({emoji}) { // fn#90783, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:4283, offset: 0x02045de2, size: 1574 bytes, params: 2, frame: 37
const styles = useStyles();
let binding = env0_5;
let useState = binding.useState;
const value2 = Reflect.apply(useState, binding, [false]);
const binding2 = env0_4;
const value3 = binding2(value2, 2);
const property = value3[0];
const env0_0 = value3[1];
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
useState = binding.useState;
const value4 = binding2(Reflect.apply(useState, binding, [emoji]), 2);
const property2 = value4[0];
const env0_3 = value4[1];
var env0_4 = binding.useRef(true);
useState = binding.useState;
const value5 = binding2(Reflect.apply(useState, binding, [false]), 2);
const property3 = value5[0];
var env0_5 = property3;
const env0_6 = value5[1];
const env0_7 = binding.useRef(null);
const value7 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(0);
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
let useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
let closure = DoubleTapToReactActionSheetF;
closure.__closure = {interpolate: reanimatedRexportModule.interpolate, sharedSaveValue: value7};
closure.__workletHash = 14159749218638;
closure.__initData = env0_17;
const value8 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const value9 = reanimatedRexportModule.useSharedValue(1);
const value10 = reanimatedRexportModule.useSharedValue(1);
const moduleValue6 = reanimatedRexportModule;
useAnimatedStyle = moduleValue6.useAnimatedStyle;
closure = DoubleTapToReactActionSheetW;
closure.__closure = {scaleChangeValue: value9, opacityChangeValue: value10};
closure.__workletHash = 17229591239241;
closure.__initData = env0_18;
const value11 = Reflect.apply(useAnimatedStyle, moduleValue6, [closure]);
const value12 = binding.useCallback(_fun90787, [value9, value10, useReducedMotion, property3]);
const value13 = binding.useMemo(_fun90789, [property2]);
const value16 = ((Component) => <Component style={styles.emoji} fastImageStyle={styles.selectedCustomEmoji} textEmojiStyle={styles.selectedTextEmoji} name={property2.id == null ? property2.surrogates : ''} src={binding.useMemo(_fun90790,
[property2, useReducedMotion])} />)(importDefault(6739) /* metro dependency 6739: Emoji */);
binding = env0_5;
const value18 = binding.useCallback(env0_3(_fun90792), [value13, property2]);
const value19 = binding.useCallback(_fun90794, [useReducedMotion, value7, value18]);
const value20 = binding.useCallback(_fun90797, [value18]);
const ActionSheet = (require(6805) /* metro dependency 6805: ActionSheetNative */).ActionSheet;
const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const view = <View2 style={[value8,
value11]}>{value16}{useReducedMotion ? null : property ? <EmojiBurstAnimation emojiComponent={value16} /> : null}</View2>;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const items4 = [<View style={styles.emojiContainer}>{view}<Text variant="text-lg/semibold" style={styles.selectedEmojiText} color="interactive-text-default">{'1'}</Text></View>];
items4[1] = <Text variant="text-sm/normal" color="text-subtle" style={styles.emojiName}>{':' + property2.name + ':'}</Text>;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const F6lRAI = t.F6lRAI;
const text = <Text style={styles.alignCenter} variant="text-lg/bold" color="mobile-text-heading-primary">{Reflect.apply(string,
intl, [F6lRAI])}</Text>;
const NewBadge = (require(11814) /* metro dependency 11814: components */).NewBadge;
items4[2] = <View style={styles.header}>{text}<NewBadge /></View>;
items4[3] = <Text style={styles.alignCenter} variant="text-md/medium" color="text-default">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.yIax8g)}</Text>;
items4[4] = ((Component) => <Component style={styles.emojiSelectRow} selectedEmoji={property2} onPressEmoji={value12} />)(importDefault(11849) /* metro dependency 11849: SelectDoubleTapEmojiRow */);
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const value25 = (require(8217) /* metro dependency 8217: DoubleTapToReactUtils */).areEmojisEqual(property2, emoji);
string = intl.string;
items4[5] = <Button grow size="lg" text={value25 ? Reflect.apply(string, intl,
[t['NX+WJN']]) : Reflect.apply(string, intl,
[t.tdsiO9])} variant="primary" onPress={value19} disabled={property3} />;
return (
<ActionSheet onDismiss={value20}>
<View style={styles.content}>
{items4}
</View>
</ActionSheet>
);
}
function _fun90780() { // fn#90780, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:2041, offset: 0x0204595d, size: 728 bytes, params: 1, frame: 34
const object2 = {};
object2.positionValue = env0_3;
object2.rotationValue = env0_4;
object2.sizeValue = env0_5;
object2.opacityValue = env0_6;
object2.leading = leading;
const positionValue = object2.positionValue;
const rotationValue = object2.rotationValue;
const sizeValue = object2.sizeValue;
const opacityValue = object2.opacityValue;
const leading2 = object2.leading;
const value = 0;
const r14 = leading2 ? value : 50 + 150 * global.Math.random();
let set = positionValue.set;
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
let withSequence = reanimatedRexportModule.withSequence;
const timingModule = require(4504) /* metro dependency 4504: timing */;
let withTiming = timingModule.withTiming;
const value5 = Reflect.apply(withTiming, timingModule, [value, {duration: r14}]);
const moduleValue3 = timingModule;
withTiming = moduleValue3.withTiming;
let Math = global.Math;
const value7 = 10 * Math.random();
const Easing = reanimatedRexportModule.Easing;
const out = Easing.out;
const Easing2 = reanimatedRexportModule.Easing;
Reflect.apply(set, positionValue, [Reflect.apply(withSequence, reanimatedRexportModule, [value5,
Reflect.apply(withTiming, moduleValue3, [value7 + 35, {duration: 600, easing: Reflect.apply(out, Easing,
[Easing2.ease])}])])]);
set = rotationValue.set;
const moduleValue4 = reanimatedRexportModule;
withSequence = moduleValue4.withSequence;
const moduleValue5 = timingModule;
const value8 = moduleValue5.withTiming(value, {duration: r14});
const moduleValue6 = timingModule;
withTiming = moduleValue6.withTiming;
Math = global.Math;
Reflect.apply(set, rotationValue, [Reflect.apply(withSequence, moduleValue4, [value8, Reflect.apply(withTiming,
moduleValue6, [40 * Math.random() + 20, {duration: 600, easing: Easing.ease}])])]);
set = sizeValue.set;
const moduleValue7 = reanimatedRexportModule;
withSequence = moduleValue7.withSequence;
const moduleValue8 = timingModule;
const value11 = moduleValue8.withTiming(value, {duration: r14});
const moduleValue9 = timingModule;
withTiming = moduleValue9.withTiming;
Math = global.Math;
const value14 = Reflect.apply(withTiming, moduleValue9, [0.3 * Math.random() + 0.5, {duration: 240}]);
const moduleValue10 = timingModule;
Reflect.apply(set, sizeValue, [Reflect.apply(withSequence, moduleValue7, [value11, value14,
moduleValue10.withTiming(0.5, {duration: 360})])]);
set = opacityValue.set;
const moduleValue11 = reanimatedRexportModule;
withSequence = moduleValue11.withSequence;
const moduleValue12 = timingModule;
const value15 = moduleValue12.withTiming(value, {duration: r14});
const value16 = timingModule.withTiming(1, {duration: 360});
const moduleValue14 = timingModule;
Reflect.apply(set, opacityValue, [Reflect.apply(withSequence, moduleValue11, [value15, value16,
moduleValue14.withTiming(value, {duration: 240})])]);
}
function EmojiConfettiS() { // fn#90781, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:2892, owner: EmojiConfetti.S, offset: 0x02045c35, size: 235 bytes, params: 1, frame: 15
const object2 = {position: 'absolute'};
let binding = env0_5;
let get = binding.get;
const items2 = [{scale: Reflect.apply(get, binding, [])}];
const r6 = left !== true ? 1 : -1;
binding = env0_4;
get = binding.get;
items2[1] = {rotate: r6 * Reflect.apply(get, binding, []) + 'deg'};
object2.transform = items2;
object2.top = top === true ? -env0_3.get() : env0_3.get();
object2.left = left === true ? 1.5 * -env0_3.get() : 1.5 * env0_3.get();
object2.opacity = env0_6.get();
return object2;
}
function DoubleTapToReactActionSheetF() { // fn#90785, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:4617, owner: DoubleTapToReactActionSheet.f, offset: 0x02046408, size: 169 bytes, params: 1, frame: 22
const object = {};
let value = environment.__proto__;
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const interpolate = value.interpolate;
const binding = env0_8;
object.scale = Reflect.apply(interpolate, value, [binding.get(), [0, 1], [1, 1.3]]);
const items2 = [object];
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
items2[1] = {translateY: value.interpolate(binding.get(), [0, 1], [0, -20])};
return {transform: items2};
}
function DoubleTapToReactActionSheetW() { // fn#90786, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:4961, owner: DoubleTapToReactActionSheet.w, offset: 0x020464b1, size: 56 bytes, params: 1, frame: 12
const object3 = {};
const object4 = {};
object4.scale = env0_9.get();
object3.transform = [object4];
object3.opacity = env0_10.get();
return object3;
}
function _fun90787(a0, a1) { // fn#90787, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:5144, offset: 0x020464e9, size: 329 bytes, params: 3, frame: 27
var environment;
var binding;
var set;
var value2;
var moduleValue;
var withSequence;
var value3;
var moduleValue3;
var withSpring;
var value4;
var moduleValue5;
const env0_0 = a0;
const env0_1 = a1;
var value;
if (!env0_5) {
binding = env0_9;
set = binding.set;
if (useReducedMotion) {
Reflect.apply(set, binding, [1]);
binding = env0_10;
binding.set(1);
} else {
value2 = environment.__proto__;
moduleValue = require(4017) /* metro dependency 4017: ReanimatedRexport */;
withSequence = moduleValue.withSequence;
value3 = (require(4504) /* metro dependency 4504: timing */).withTiming(0.7, {duration: 0});
moduleValue3 = require(4577) /* metro dependency 4577: spring */;
withSpring = moduleValue3.withSpring;
Reflect.apply(set, binding, [Reflect.apply(withSequence, moduleValue, [value3, Reflect.apply(withSpring,
moduleValue3, [1, {'stiffness': 1500, 'damping': 60, 'mass': 3}])])]);
binding = env0_10;
set = binding.set;
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
withSequence = value.withSequence;
value4 = (require(4504) /* metro dependency 4504: timing */).withTiming(0.6, {duration: 0});
moduleValue5 = require(4577) /* metro dependency 4577: spring */;
withSpring = moduleValue5.withSpring;
Reflect.apply(set, binding, [Reflect.apply(withSequence, value, [value4, Reflect.apply(withSpring,
moduleValue5,
[1,
{'duration': 200, 'dampingRatio': 0.45, 'mass': 10, 'overshootClamping': true}])])]);
}
global.setTimeout(_fun90788, 0);
}
}
function _fun90789() { // fn#90789, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:5522, offset: 0x02046657, size: 167 bytes, params: 1, frame: 18
var r0;
let value = environment.__proto__;
const DoubleTapReactionEmoji = (require(3829) /* metro dependency 3829: UserSettings */).DoubleTapReactionEmoji;
const {emojiId, emojiName} = DoubleTapReactionEmoji.getSetting();
const value3 = null;
const r4 = value3 != emojiId ? EmojiStore.getCustomEmojiById(emojiId) : value3 != emojiName ? (importDefault(3797) /* metro dependency 3797: UnicodeEmojis */).getByName(emojiName) : value3;
const value6 = value3 == r4;
if (value6) {
r0 = value6;
} else {
value = require(8217) /* metro dependency 8217: DoubleTapToReactUtils */;
value = !value.areEmojisEqual(r4, env0_2);
r0 = value;
}
return r0;
}
function _fun90790() { // fn#90790, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:5739, offset: 0x020466fe, size: 115 bytes, params: 1, frame: 16
return env0_2.id != null ? (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getEmojiURL({id: env0_2.id,
animated: !useReducedMotion && env0_2.animated, size: EMOJI_URL_BASE_SIZE}) : env0_2.url;
}
function* _fun90792() { // fn#90792, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:5990, offset: 0x0204677c, size: 276 bytes, params: 1, frame: 21
var environment;
var value3;
var binding;
var DoubleTapReactionEmoji;
var object2;
var value6;
if (true) {
value = environment.__proto__;
if (env1_11) {
value3 = environment.__proto__.__proto__;
DoubleTapReactionEmoji = env2_0(env2_2[17]).DoubleTapReactionEmoji;
yield DoubleTapReactionEmoji.updateSetting({emojiId: dependencyMap.id, emojiName: dependencyMap.name,
animated: dependencyMap.animated, disableDoubleTap: false});
if (false) {
return undefined;
}
value6 = environment.__proto__.__proto__;
}
binding = env2_1;
var binding2 = env2_2;
var value7 = binding(binding2[22]);
var track = value7.track;
var DOUBLE_TAP_REACT_EMOJI_UPDATED = env2_9.DOUBLE_TAP_REACT_EMOJI_UPDATED;
object2 = {};
object2.emoji_id = dependencyMap.id;
object2.emoji_name = dependencyMap.name;
object2.emoji_animated = dependencyMap.animated;
object2.recommended = env1_4.current;
var DOUBLE_TAP_TO_REACT_ACTION_SHEET = binding(binding2[23]).DOUBLE_TAP_TO_REACT_ACTION_SHEET;
object2.location = DOUBLE_TAP_TO_REACT_ACTION_SHEET;
Reflect.apply(track, value7, [DOUBLE_TAP_REACT_EMOJI_UPDATED, object2]);
global.setTimeout(_fun90793, 500);
}
}
function _fun90794() { // fn#90794, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:6414, offset: 0x020468c4, size: 438 bytes, params: 1, frame: 32
var environment;
var value2;
var moduleValue;
var withSequence;
var withTiming;
var object3;
var value3;
var moduleValue3;
var Easing;
var value4;
var moduleValue4;
var closure;
var object4;
var value5;
var moduleValue5;
env0_6(true);
const binding = env0_8;
const set = binding.set;
if (useReducedMotion) {
Reflect.apply(set, binding, [0]);
} else {
value2 = environment.__proto__;
moduleValue = require(4017) /* metro dependency 4017: ReanimatedRexport */;
withSequence = moduleValue.withSequence;
value3 = (require(4504) /* metro dependency 4504: timing */).withTiming(0, {duration: 0});
moduleValue3 = require(4504) /* metro dependency 4504: timing */;
withTiming = moduleValue3.withTiming;
object3 = {duration: 100};
Easing = (require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing;
object3.easing = Easing.out((require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing.quad);
value4 = Reflect.apply(withTiming, moduleValue3, [1, object3]);
moduleValue4 = require(4504) /* metro dependency 4504: timing */;
withTiming = moduleValue4.withTiming;
closure = t_90795;
object4 = {};
object4.runOnJS = (require(4017) /* metro dependency 4017: ReanimatedRexport */).runOnJS;
object4.setAnimateConfetti = env0_0;
closure.__closure = object4;
closure.__workletHash = 13953384401061;
closure.__initData = env1_19;
value5 = Reflect.apply(withTiming, moduleValue4, [1, {duration: 100}, undefined, closure]);
moduleValue5 = require(4577) /* metro dependency 4577: spring */;
Reflect.apply(set, binding, [Reflect.apply(withSequence, moduleValue, [value3, value4, value5,
moduleValue5.withSpring(0, {'stiffness': 2000, 'damping': 70, 'mass': 3})])]);
}
if (env0_7.current != null) {
global.clearTimeout(env0_7.current);
}
env0_7.current = global.setTimeout(_fun90796, useReducedMotion ? 0 : 900);
}
function _fun90797() { // fn#90797, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:6989, offset: 0x02046ae9, size: 60 bytes, params: 1, frame: 14
var clearTimeout;
var binding;
if (env0_7.current != null) {
clearTimeout = global.clearTimeout;
binding = env0_7;
clearTimeout(binding.current);
binding.current = null;
}
env0_12();
}
function _fun90788() { // fn#90788, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:5468, offset: 0x02046632, size: 37 bytes, params: 1, frame: 13
env1_3(env0_0);
env1_4.current = require;
}
function _fun90793() { // fn#90793, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:6326, offset: 0x02046890, size: 52 bytes, params: 1, frame: 12
const value = environment.__proto__.__proto__.__proto__;
return env3_0(env3_2[24]).showDoubleTapEmojiUpdatedToast({emoji: dependencyMap});
}
function t_90795() { // fn#90795, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:6641, offset: 0x02046a7a, size: 51 bytes, params: 1, frame: 12
let value = environment.__proto__.__proto__;
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
value = value.runOnJS(env1_0);
return value(true);
}
function _fun90796() { // fn#90796, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12034:6899, offset: 0x02046aad, size: 60 bytes, params: 1, frame: 12
let value = environment.__proto__;
env1_7.current = null;
env1_12();
value = environment.__proto__.__proto__;
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet();
}
@@ -0,0 +1,309 @@
/* Metro module 11812; source: modules/double_tap_to_react/native/DoubleTapToReactChatInputBanner.tsx; dependencies: [57, 31, 27, 4502, 11813, 1376, 1881, 33, 4501, 697, 477, 632, 6739, 1423, 4573, 1244, 11814, 5278, 5312, 8742, 480, 4017, 4504, 1305, 4080, 11848, 1962, 6266, 4595, 8554, 3829, 11419, 8217, 8220, 10357, 1365, 8225, 2] */
function _fun90482(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#90482, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:6, offset: 0x0203b10c, size: 793 bytes, params: 8, frame: 26
var object3;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const value = undefined;
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 accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const doubleTapChatInputBannerStore = importDefault(11813) /* metro dependency 11813: DoubleTapChatInputBannerStore */;
const env0_8 = (require(1376) /* metro dependency 1376: DismissibleContentConstants */).ContentDismissActionType;
const env0_9 = (require(1881) /* metro dependency 1881: EmojiConstants */).EMOJI_URL_BASE_SIZE;
const value2 = require(33) /* metro dependency 33 */;
const env0_10 = value2.jsx;
const env0_11 = value2.jsxs;
const env0_12 = value2.Fragment;
object3 = {cornerRadius: 0};
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
object3 = {};
const object6 = {'borderTopWidth': 1, 'borderColor': null, 'overflow': 'hidden'};
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
object6.borderColor = BORDER_SUBTLE;
let BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object6.backgroundColor = BACKGROUND_SURFACE_HIGH;
object3.animatedContainer = object6;
object3.measurement = {'opacity': 0, 'position': 'absolute'};
object3.container = {'display': 'flex', 'flexDirection': 'row', 'alignItems': 'center', 'padding': 12};
BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object3.highlight = {backgroundColor: BACKGROUND_SURFACE_HIGH};
object3.text = {'marginHorizontal': 12, 'flex': 1};
const object7 = {'borderWidth': 2, 'borderColor': null, 'backgroundColor': null, 'borderRadius': null,
'flexDirection': 'row', 'gap': 8, 'alignItems': 'center', 'justifyContent': 'center', 'padding': 12};
const BORDER_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_STRONG;
object7.borderColor = BORDER_STRONG;
const CARD_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CARD_BACKGROUND_DEFAULT;
object7.backgroundColor = CARD_BACKGROUND_DEFAULT;
object7.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
object3.emojiContainer = object7;
const value4 = 28;
object3.emoji = {'width': 28, 'height': 28};
const object8 = {};
const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */;
object8.fontSize = platformUtilsModule.isIOS() ? value4 : 22;
object8.textAlign = 'center';
const value7 = platformUtilsModule;
object8.lineHeight = value7.isIOS() ? 32 : value;
const INTERACTIVE_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT;
object8.color = INTERACTIVE_TEXT_DEFAULT;
object3.textEmoji = object8;
object3.header = {'flexDirection': 'row', 'alignItems': 'center', 'gap': 6};
object3.closeButton = {alignSelf: 'flex-start'};
const env0_14 = Reflect.apply(createStyles, createStylesModule, [object3]);
object3 = {code: 'function DoubleTapToReactChatInputBannerTsx1(){const{useReducedMotion,height,withDelay,withTiming,DECELERATED_EASING}=this.__closure;if(useReducedMotion){return{height:height.get()};}return{height:withDelay(200,withTiming(height.get(),{duration:300,easing:DECELERATED_EASING}))};}'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/double_tap_to_react/native/DoubleTapToReactChatInputBanner.tsx');
exports.DoubleTapToReactChatInputBanner = DoubleTapToReactChatInputBanner;
return value;
}
function DoubleTapToReactChatInputBannerInner({emoji, handleDismissBanner}) { // fn#90483, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:1179, offset: 0x0203b425, size: 871 bytes, params: 2, frame: 35
const styles = useStyles();
const useReducedMotion = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const value5 = ((Component) => <Component style={styles.emoji} fastImageStyle={styles.emoji} textEmojiStyle={styles.textEmoji} name={emoji.id == null ? emoji.surrogates : ''} src={emoji.id != null ? (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getEmojiURL({id: emoji.id,
animated: !useReducedMotion && emoji.animated,
size: EMOJI_URL_BASE_SIZE}) : emoji.url} />)(importDefault(6739) /* metro dependency 6739: Emoji */);
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const items2 = [<View style={styles.emojiContainer}>{value5}<Text variant="heading-xl/semibold" color="interactive-text-default">{'1'}</Text></View>];
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const text = <Text variant="text-md/semibold" color="mobile-text-heading-primary">{Reflect.apply(string, intl,
[(require(1244) /* metro dependency 1244: indexNative */).t['6RUX7d']])}</Text>;
const NewBadge = (require(11814) /* metro dependency 11814: components */).NewBadge;
items2[1] = <View style={styles.text}><View style={styles.header}>{text}<NewBadge /></View><Text variant="text-xs/medium" color="text-default">{intl.format((require(1244) /* metro dependency 1244: indexNative */).t['5/l2rR'],
{emojiName: emoji.name, emojiNameHook: emojiNameHook, tapHereHook: tapHereHook})}</Text></View>;
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
string = intl.string;
const cpT0Cq = (require(1244) /* metro dependency 1244: indexNative */).t.cpT0Cq;
const XSmallIcon = (require(5312) /* metro dependency 5312: XSmallIcon */).XSmallIcon;
items2[2] = <PressableOpacity hitSlop={8} accessibilityRole="button" accessibilityLabel={Reflect.apply(string, intl,
[cpT0Cq])} onPress={handleDismissBanner} style={styles.closeButton}><XSmallIcon size="sm" color="icon-subtle" /></PressableOpacity>;
return (
<View style={styles.container}>
{items2}
</View>
);
}
function DoubleTapToReactChatInputBannerAnimationContainer({channel, emoji, markAsDismissed}) { // fn#90487, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:2767, offset: 0x0203b812, size: 884 bytes, params: 2, frame: 30
var object2;
const styles = useStyles();
const value3 = env0_3(env0_4.useState(82), 2);
const property = value3[0];
var env0_3 = property;
var env0_4 = value3[1];
const useReducedMotion = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const [property2, env0_7] = env0_3(env0_4.useState(false), 2);
const defaultImport = importDefault(8742) /* metro dependency 8742: useTrackImpression */;
object2 = {};
const ImpressionTypes = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionTypes;
const VIEW = ImpressionTypes.VIEW;
object2.type = VIEW;
const ImpressionNames = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionNames;
const DOUBLE_TAP_REACT_UPSELL = ImpressionNames.DOUBLE_TAP_REACT_UPSELL;
object2.name = DOUBLE_TAP_REACT_UPSELL;
defaultImport(object2);
const value6 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(0);
env0_4.useEffect(_fun90489, [value6, property, property2]);
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = DoubleTapToReactChatInputBannerAnimationContainerV;
object2 = {useReducedMotion: useReducedMotion, height: value6};
object2.withDelay = reanimatedRexportModule.withDelay;
object2.withTiming = (require(4504) /* metro dependency 4504: timing */).withTiming;
const DECELERATED_EASING = (require(1305) /* metro dependency 1305: native */).DECELERATED_EASING;
object2.DECELERATED_EASING = DECELERATED_EASING;
closure.__closure = object2;
closure.__workletHash = 14971794499123;
closure.__initData = env0_15;
const value7 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const value8 = env0_4.useCallback(_fun90491, []);
const value9 = env0_4.useCallback(function() {
importDefault(dependencyMap[24]).openLazy(require(dependencyMap[26])(dependencyMap[25], dependencyMap.paths),
'DoubleTapToReactActionSheet', {emoji: emoji});
markAsDismissed(ContentDismissActionType.TAKE_ACTION);
}, [emoji, markAsDismissed]);
const value10 = env0_4.useCallback(_fun90493, [markAsDismissed]);
env0_4.useEffect(_fun90495, [(importDefault(6266) /* metro dependency 6266: usePrevious */)(channel.id), channel.id,
markAsDismissed]);
(require(4595) /* metro dependency 4595: useMountEffect */).useUnmountEffect(function() {
markAsDismissed(ContentDismissActionType.AUTO_DISMISS);
});
const jsxRuntimeEnv0_12Binding = jsxRuntimeEnv0_12;
const view = <View style={styles.measurement} onLayout={value8}><DoubleTapToReactChatInputBannerInner emoji={emoji} handleDismissBanner={value10} /></View>;
const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const items2 = [value7];
items2[1] = styles.animatedContainer;
const AnimatedPressableHighlight = (require(8554) /* metro dependency 8554: native */).AnimatedPressableHighlight;
return (
<>
{view}
<View2 style={items2}>
<AnimatedPressableHighlight
onPress={value9}
style={styles.highlight}
androidRippleConfig={env0_13}
>
<DoubleTapToReactChatInputBannerInner emoji={emoji} handleDismissBanner={value10} />
</AnimatedPressableHighlight>
</View2>
</>
);
}
function ExpandedDoubleTapToReactChatInputBanner({channel}) { // fn#90497, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:4366, offset: 0x0203bd87, size: 212 bytes, params: 2, frame: 18
const value2 = env0_4.useMemo(_fun90498, []);
const DoubleTapExpandExperiment = (require(8220) /* metro dependency 8220: DoubleTapExpandExperiment */).DoubleTapExpandExperiment;
const useConfig = DoubleTapExpandExperiment.useConfig;
return value2 != null && Reflect.apply(useConfig, DoubleTapExpandExperiment,
[{location: 'DoubleTapToReactChatInputBannerExperiment'}]).enabled ? ((Component) => <Component contentTypes={[(require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL]} bypassAutoDismiss>{children_90499}</Component>)(importDefault(10357) /* metro dependency 10357: SelectedDismissibleContent */) : null;
}
function UserTriggeredDoubleTapToReactChatInputBanner({channel}) { // fn#90500, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:4965, offset: 0x0203bee5, size: 132 bytes, params: 2, frame: 17
const bannerEmoji = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([DoubleTapChatInputBannerStore],
function() {
return DoubleTapChatInputBannerStore.bannerEmoji;
});
return bannerEmoji == null ? null : <DoubleTapToReactChatInputBannerAnimationContainer channel={channel} emoji={bannerEmoji} markAsDismissed={env0_4.useCallback(_fun90502,
[])} />;
}
function DoubleTapToReactChatInputBanner({channel}) { // fn#90503, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:5478, offset: 0x0203bfc3, size: 187 bytes, params: 2, frame: 19
const DoubleTapReactionEmoji = (require(3829) /* metro dependency 3829: UserSettings */).DoubleTapReactionEmoji;
const value2 = DoubleTapReactionEmoji.useSetting();
const forceShow = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([DoubleTapChatInputBannerStore],
function() {
return DoubleTapChatInputBannerStore.forceShow;
});
const binding = env0_4;
const useMemo = binding.useMemo;
return forceShow ? <UserTriggeredDoubleTapToReactChatInputBanner channel={channel} /> : Reflect.apply(useMemo,
binding, [_fun90505, [channel, value2]]) ? <ExpandedDoubleTapToReactChatInputBanner channel={channel} /> : null;
}
function emojiNameHook(a0, a1) { // fn#90485, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:2063, owner: DoubleTapToReactChatInputBannerInner.emojiNameHook, offset: 0x0203b78c, size: 67 bytes, params: 3, frame: 15
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<Text
variant="text-xs/bold"
color="text-strong"
key={a1}
>
{a0}
</Text>
);
}
function tapHereHook(a0, a1) { // fn#90486, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:2157, owner: DoubleTapToReactChatInputBannerInner.tapHereHook, offset: 0x0203b7cf, size: 67 bytes, params: 3, frame: 15
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<Text
variant="text-xs/medium"
color="text-brand"
key={a1}
>
{a0}
</Text>
);
}
function _fun90489() { // fn#90489, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:3162, offset: 0x0203bb86, size: 41 bytes, params: 1, frame: 12
const binding = env0_6;
const binding2 = env0_8;
const set = binding2.set;
if (binding) {
Reflect.apply(set, binding2, [0]);
} else {
Reflect.apply(set, binding2, [env0_3]);
}
}
function DoubleTapToReactChatInputBannerAnimationContainerV() { // fn#90490, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:3236, owner: DoubleTapToReactChatInputBannerAnimationContainer.v, offset: 0x0203bbaf, size: 154 bytes, params: 1, frame: 21
var value2;
var moduleValue;
var withDelay;
var moduleValue2;
var withTiming;
var object3;
var value;
const object4 = {};
if (useReducedMotion) {
object4.height = env0_8.get();
} else {
value2 = environment.__proto__;
moduleValue = require(4017) /* metro dependency 4017: ReanimatedRexport */;
withDelay = moduleValue.withDelay;
moduleValue2 = require(4504) /* metro dependency 4504: timing */;
withTiming = moduleValue2.withTiming;
value = env0_8.get();
object3 = {duration: 300};
object3.easing = (require(1305) /* metro dependency 1305: native */).DECELERATED_EASING;
value = Reflect.apply(withTiming, moduleValue2, [value, object3]);
object4.height = Reflect.apply(withDelay, moduleValue, [200, value]);
}
return object4;
}
function _fun90491({nativeEvent}) { // fn#90491, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:3600, offset: 0x0203bc49, size: 36 bytes, params: 2, frame: 11
env0_4(nativeEvent.layout.height);
}
function _fun90493() { // fn#90493, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:3793, offset: 0x0203bcde, size: 47 bytes, params: 1, frame: 13
env0_7(true);
global.setTimeout(function() {
markAsDismissed(ContentDismissActionType.USER_DISMISS);
}, 500);
}
function _fun90495() { // fn#90495, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:3890, offset: 0x0203bd2a, size: 64 bytes, params: 1, frame: 12
var markAsDismissedBinding;
if (env0_9 != null && env0_9 !== channel.id) {
markAsDismissedBinding = markAsDismissed;
value = environment.__proto__;
markAsDismissedBinding(ContentDismissActionType.AUTO_DISMISS);
}
}
function _fun90498() { // fn#90498, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:4445, offset: 0x0203be5b, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__;
return (require(8217) /* metro dependency 8217: DoubleTapToReactUtils */).getFallbackDoubleTapDisambiguatedEmoji();
}
function ExpandedDoubleTapToReactChatInputBannerChildren({visibleContent, markAsDismissed}) { // fn#90499, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:4754, owner: ExpandedDoubleTapToReactChatInputBanner.children, offset: 0x0203be80, size: 101 bytes, params: 2, frame: 17
const value = environment.__proto__;
const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent;
const DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL = DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL;
return visibleContent !== DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL ? null : <DoubleTapToReactChatInputBannerAnimationContainer channel={channel} emoji={env0_1} markAsDismissed={markAsDismissed} />;
}
function _fun90502(a0) { // fn#90502, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:5108, offset: 0x0203bf7a, size: 73 bytes, params: 2, frame: 15
const value = environment.__proto__;
(require(8225) /* metro dependency 8225: DoubleTapChatInputBannerActionCreators */).updateForceShowChatInputBanner({forceShow: false});
(require(8217) /* metro dependency 8217: DoubleTapToReactUtils */).markUserTriggeredDoubleTapUpsellDismissed(a0);
}
function _fun90505() { // fn#90505, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11998:5649, offset: 0x0203c08d, size: 139 bytes, params: 1, frame: 15
var r2;
var r0;
const binding = env0_1;
const emojiId = binding.emojiId;
const emojiName = binding.emojiName;
const value2 = binding.disableDoubleTap !== true;
if (value2) {
r2 = emojiId != null && emojiId !== '0';
r2 = !r2 ? emojiName != null && emojiName !== '' : r2;
r0 = !r2 && (channel.lastMessageId != null && (importDefault(11419) /* metro dependency 11419: canAddNewReactions */)(channel));
} else {
r0 = value2;
}
return r0;
}
@@ -0,0 +1,635 @@
/* Metro module 8217; source: modules/double_tap_to_react/native/DoubleTapToReactUtils.tsx; dependencies: [5, 31, 1371, 6540, 8218, 1376, 1881, 33, 3797, 3829, 8219, 8220, 3795, 4081, 7151, 8221, 3801, 8223, 1962, 4497, 3968, 1365, 8225, 8226, 1367, 2] */
function _fun65782(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#65782, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8402:6, offset: 0x01bde84b, size: 388 bytes, params: 8, frame: 22
const env0_0 = require;
const closure = getFallbackDoubleTapDisambiguatedEmoji;
const closure2 = reactionEmojiFromSettingsValue;
const closure3 = disambiguatedEmojiFromSettingsValue;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(1371) /* metro dependency 1371: DismissibleContentShownStateStore */).isContentShown;
const emojiStore = importDefault(6540) /* metro dependency 6540: EmojiStore */;
const env0_7 = (require(8218) /* metro dependency 8218: DoubleTapToRaectConstants */).NITRO_UPSELL_ALERT_KEY;
const env0_8 = (require(1376) /* metro dependency 1376: DismissibleContentConstants */).ContentDismissActionType;
const emojiConstantsModule = require(1881) /* metro dependency 1881: EmojiConstants */;
const env0_9 = emojiConstantsModule.EmojiDisabledReasons;
const env0_10 = emojiConstantsModule.EmojiIntention;
const env0_11 = (require(33) /* metro dependency 33 */).jsx;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/double_tap_to_react/native/DoubleTapToReactUtils.tsx');
exports.getFallbackDoubleTapDisambiguatedEmoji = closure;
exports.reactionEmojiFromSettingsValue = closure2;
exports.disambiguatedEmojiFromSettingsValue = closure3;
exports.handleAddDefaultDoubleTapReaction = handleAddDefaultDoubleTapReaction;
exports.areEmojisEqual = function(a0, a1) {
return a0.id != null ? a0.id === a1.id && a0.name === a1.name : a1.id == null ? a0.surrogates === a1.surrogates : a0.id === a1.id && a0.name === a1.name;
};
exports.markUserTriggeredDoubleTapUpsellDismissed = markUserTriggeredDoubleTapUpsellDismissed;
exports.initializeDoubleTapEmojiAndUpsell = function() {
return _initializeDoubleTapEmojiAndUpsell.apply(this, arguments);
};
exports.canUpsellDoubleTapForEmoji = canUpsellDoubleTapForEmoji;
}
function getFallbackDoubleTapDisambiguatedEmoji() { // fn#65783, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8402:289, offset: 0x01bde9cf, size: 54 bytes, params: 1, frame: 11
let value = importDefault(3797) /* metro dependency 3797: UnicodeEmojis */;
value = value.getByName('heart');
const value2 = null;
return value2 != value ? value : value2;
}
function reactionEmojiFromSettingsValue({emojiName, emojiId, animated}) { // fn#65784, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8402:396, offset: 0x01bdea05, size: 153 bytes, params: 2, frame: 18
var r0;
var r5;
let value = undefined;
const r3 = emojiId == null || emojiId === '0' ? value : emojiId;
if (emojiName == null) {
r5 = value;
} else if (emojiName === '') {
r5 = value;
} else {
if (r3 != null) {
r0 = emojiName;
} else {
value = importDefault(3797) /* metro dependency 3797: UnicodeEmojis */;
value = value.convertNameToSurrogate(emojiName);
r0 = value;
}
r5 = r0;
}
return {name: r5 ?? '', id: r3, animated: animated != null && animated};
}
function disambiguatedEmojiFromSettingsValue({emojiName, emojiId}) { // fn#65785, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8402:630, offset: 0x01bdea9e, size: 144 bytes, params: 2, frame: 15
var r1;
let value = null;
const r6 = value == emojiId || emojiId === '0' ? undefined : emojiId;
const r4 = value == emojiName || emojiName === '' ? undefined : emojiName;
let r0 = value != r6 ? EmojiStore.getCustomEmojiById(r6) : value;
if (value == r0) {
if (value != r4) {
value = importDefault(3797) /* metro dependency 3797: UnicodeEmojis */;
value = value.getByName(r4);
r1 = value;
} else {
r1 = value;
}
r0 = r1;
}
return r0;
}
function _initializeDoubleTapEmojiAndUpsell() { // fn#65786, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8402:853, offset: 0x01bdeb2e, size: 50 bytes, params: 1, frame: 14
return env0_3(_fun65788).apply(this, arguments);
}
function handleAddDefaultDoubleTapReaction(a0, a1) { // fn#65789, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8402:2044, offset: 0x01bded38, size: 1117 bytes, params: 3, frame: 29
var r4;
var r5;
var r7;
var r11;
var reactionEmojiFromSettingsValueBinding;
var object2;
var value6;
var id;
var value7;
const DoubleTapExpandExperiment = (require(8220) /* metro dependency 8220: DoubleTapExpandExperiment */).DoubleTapExpandExperiment;
var getConfig;
var value8;
var reactions;
var emojiUnavailableReason;
var moduleValue2;
var moduleValue3;
var moduleValue4;
const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent;
var moduleValue6;
var removeReaction;
var value;
const value2 = undefined;
const DoubleTapReactionEmoji = (require(3829) /* metro dependency 3829: UserSettings */).DoubleTapReactionEmoji;
const setting = DoubleTapReactionEmoji.getSetting();
const value4 = null;
const disableDoubleTap = value4 == setting ? value2 : setting.disableDoubleTap;
const value5 = true;
if (value5 !== disableDoubleTap) {
var moduleValue = require(8219) /* metro dependency 8219: canReactToMessage */;
if (moduleValue.canReactToMessage(a0, a1)) {
reactionEmojiFromSettingsValueBinding = reactionEmojiFromSettingsValue;
r4 = value4 != setting ? setting : {};
value6 = reactionEmojiFromSettingsValueBinding(r4);
if (value4 == setting) {
getConfig = DoubleTapExpandExperiment.getConfig;
object2 = {location: 'handleAddDefaultDoubleTapReaction'};
if (Reflect.apply(getConfig, DoubleTapExpandExperiment, [object2]).enabled) {
value8 = (importDefault(3797) /* metro dependency 3797: UnicodeEmojis */).convertNameToSurrogate('heart');
r5 = value8 === '' ? value4 : {name: value8, id: value2, animated: false};
if (value4 == r5) {
return value2;
}
r4 = value5;
r7 = r5;
reactions = a0.reactions;
if (reactions.some(_fun65790)) {
value = require(4081) /* metro dependency 4081: HapticUtilsNative */;
value.triggerHapticFeedback((require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes.IMPACT_LIGHT);
value = require(7151) /* metro dependency 7151: ReactionActionCreators */;
removeReaction = value.removeReaction;
object2 = {};
id = a1.id;
object2.channelId = id;
id = a0.id;
object2.messageId = id;
object2.emoji = r7;
object2.location = (require(7151) /* metro dependency 7151: ReactionActionCreators */).ReactionLocations.DOUBLE_TAP;
Reflect.apply(removeReaction, value, [object2]);
return value2;
}
r11 = r4 ? getFallbackDoubleTapDisambiguatedEmoji() : disambiguatedEmojiFromSettingsValue(value4 != setting ? setting : {});
if (value4 != r11) {
if (value4 == r11) {
moduleValue2 = require(4081) /* metro dependency 4081: HapticUtilsNative */;
moduleValue2.triggerHapticFeedback((require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes.IMPACT_LIGHT);
moduleValue3 = require(7151) /* metro dependency 7151: ReactionActionCreators */;
moduleValue3.addReaction(a1.id, a0.id, r7,
(require(7151) /* metro dependency 7151: ReactionActionCreators */).ReactionLocations.DOUBLE_TAP);
moduleValue4 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue4.UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.DOUBLE_TAP_TO_REACT_REMINDER,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION});
(require(8225) /* metro dependency 8225: DoubleTapChatInputBannerActionCreators */).updateForceShowChatInputBanner({forceShow: false});
if (isContentShown(DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL)) {
moduleValue6 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue6.UNSAFE_markDismissibleContentAsDismissed((require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION, forceTrack: value5});
}
return value2;
}
emojiUnavailableReason = (importDefault(3801) /* metro dependency 3801: EmojiUtils */).getEmojiUnavailableReason({emoji: r11,
channel: a1, intention: EmojiIntention.REACTION});
if (emojiUnavailableReason === EmojiDisabledReasons.PREMIUM_LOCKED) {
(require(4497) /* metro dependency 4497: useAlertStoreNative */).openAlert(NITRO_UPSELL_ALERT_KEY,
((Component) => <Component emojiName={r11.name} />)(env0_4.lazy(_fun65791)));
return value2;
}
if (value4 != emojiUnavailableReason) {
(require(8221) /* metro dependency 8221: DoubleTapErrorToast */).showDoubleTapErrorToast({emojiName: r11.name,
reason: emojiUnavailableReason});
return value2;
}
moduleValue2 = require(4081) /* metro dependency 4081: HapticUtilsNative */;
moduleValue2.triggerHapticFeedback((require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes.IMPACT_LIGHT);
moduleValue3 = require(7151) /* metro dependency 7151: ReactionActionCreators */;
moduleValue3.addReaction(a1.id, a0.id, r7,
(require(7151) /* metro dependency 7151: ReactionActionCreators */).ReactionLocations.DOUBLE_TAP);
moduleValue4 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue4.UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.DOUBLE_TAP_TO_REACT_REMINDER,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION});
(require(8225) /* metro dependency 8225: DoubleTapChatInputBannerActionCreators */).updateForceShowChatInputBanner({forceShow: false});
if (isContentShown(DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL)) {
moduleValue6 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue6.UNSAFE_markDismissibleContentAsDismissed((require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION, forceTrack: value5});
}
return value2;
}
if (!r4) {
(require(8221) /* metro dependency 8221: DoubleTapErrorToast */).showDoubleTapErrorToast({emojiName: value4 == setting ? value2 : setting.emojiName});
}
return value2;
}
return value2;
}
id = value6.id;
value7 = false;
if (value4 == id) {
if (value6.name !== '') {
r4 = value7;
r7 = value6;
reactions = a0.reactions;
if (reactions.some(_fun65790)) {
value = require(4081) /* metro dependency 4081: HapticUtilsNative */;
value.triggerHapticFeedback((require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes.IMPACT_LIGHT);
value = require(7151) /* metro dependency 7151: ReactionActionCreators */;
removeReaction = value.removeReaction;
object2 = {};
id = a1.id;
object2.channelId = id;
id = a0.id;
object2.messageId = id;
object2.emoji = r7;
object2.location = (require(7151) /* metro dependency 7151: ReactionActionCreators */).ReactionLocations.DOUBLE_TAP;
Reflect.apply(removeReaction, value, [object2]);
return value2;
}
r11 = r4 ? getFallbackDoubleTapDisambiguatedEmoji() : disambiguatedEmojiFromSettingsValue(value4 != setting ? setting : {});
if (value4 != r11) {
if (value4 == r11) {
moduleValue2 = require(4081) /* metro dependency 4081: HapticUtilsNative */;
moduleValue2.triggerHapticFeedback((require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes.IMPACT_LIGHT);
moduleValue3 = require(7151) /* metro dependency 7151: ReactionActionCreators */;
moduleValue3.addReaction(a1.id, a0.id, r7,
(require(7151) /* metro dependency 7151: ReactionActionCreators */).ReactionLocations.DOUBLE_TAP);
moduleValue4 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue4.UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.DOUBLE_TAP_TO_REACT_REMINDER,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION});
(require(8225) /* metro dependency 8225: DoubleTapChatInputBannerActionCreators */).updateForceShowChatInputBanner({forceShow: false});
if (isContentShown(DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL)) {
moduleValue6 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue6.UNSAFE_markDismissibleContentAsDismissed((require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION, forceTrack: value5});
}
return value2;
}
emojiUnavailableReason = (importDefault(3801) /* metro dependency 3801: EmojiUtils */).getEmojiUnavailableReason({emoji: r11,
channel: a1, intention: EmojiIntention.REACTION});
if (emojiUnavailableReason === EmojiDisabledReasons.PREMIUM_LOCKED) {
(require(4497) /* metro dependency 4497: useAlertStoreNative */).openAlert(NITRO_UPSELL_ALERT_KEY,
((Component) => <Component emojiName={r11.name} />)(env0_4.lazy(_fun65791)));
return value2;
}
if (value4 != emojiUnavailableReason) {
(require(8221) /* metro dependency 8221: DoubleTapErrorToast */).showDoubleTapErrorToast({emojiName: r11.name,
reason: emojiUnavailableReason});
return value2;
}
moduleValue2 = require(4081) /* metro dependency 4081: HapticUtilsNative */;
moduleValue2.triggerHapticFeedback((require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes.IMPACT_LIGHT);
moduleValue3 = require(7151) /* metro dependency 7151: ReactionActionCreators */;
moduleValue3.addReaction(a1.id, a0.id, r7,
(require(7151) /* metro dependency 7151: ReactionActionCreators */).ReactionLocations.DOUBLE_TAP);
moduleValue4 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue4.UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.DOUBLE_TAP_TO_REACT_REMINDER,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION});
(require(8225) /* metro dependency 8225: DoubleTapChatInputBannerActionCreators */).updateForceShowChatInputBanner({forceShow: false});
if (isContentShown(DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL)) {
moduleValue6 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue6.UNSAFE_markDismissibleContentAsDismissed((require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION, forceTrack: value5});
}
return value2;
}
if (!r4) {
(require(8221) /* metro dependency 8221: DoubleTapErrorToast */).showDoubleTapErrorToast({emojiName: value4 == setting ? value2 : setting.emojiName});
}
return value2;
}
getConfig = DoubleTapExpandExperiment.getConfig;
object2 = {location: 'handleAddDefaultDoubleTapReaction'};
if (Reflect.apply(getConfig, DoubleTapExpandExperiment, [object2]).enabled) {
value8 = (importDefault(3797) /* metro dependency 3797: UnicodeEmojis */).convertNameToSurrogate('heart');
r5 = value8 === '' ? value4 : {name: value8, id: value2, animated: false};
if (value4 == r5) {
return value2;
}
r4 = value5;
r7 = r5;
reactions = a0.reactions;
if (reactions.some(_fun65790)) {
value = require(4081) /* metro dependency 4081: HapticUtilsNative */;
value.triggerHapticFeedback((require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes.IMPACT_LIGHT);
value = require(7151) /* metro dependency 7151: ReactionActionCreators */;
removeReaction = value.removeReaction;
object2 = {};
id = a1.id;
object2.channelId = id;
id = a0.id;
object2.messageId = id;
object2.emoji = r7;
object2.location = (require(7151) /* metro dependency 7151: ReactionActionCreators */).ReactionLocations.DOUBLE_TAP;
Reflect.apply(removeReaction, value, [object2]);
return value2;
}
r11 = r4 ? getFallbackDoubleTapDisambiguatedEmoji() : disambiguatedEmojiFromSettingsValue(value4 != setting ? setting : {});
if (value4 != r11) {
if (value4 == r11) {
moduleValue2 = require(4081) /* metro dependency 4081: HapticUtilsNative */;
moduleValue2.triggerHapticFeedback((require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes.IMPACT_LIGHT);
moduleValue3 = require(7151) /* metro dependency 7151: ReactionActionCreators */;
moduleValue3.addReaction(a1.id, a0.id, r7,
(require(7151) /* metro dependency 7151: ReactionActionCreators */).ReactionLocations.DOUBLE_TAP);
moduleValue4 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue4.UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.DOUBLE_TAP_TO_REACT_REMINDER,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION});
(require(8225) /* metro dependency 8225: DoubleTapChatInputBannerActionCreators */).updateForceShowChatInputBanner({forceShow: false});
if (isContentShown(DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL)) {
moduleValue6 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue6.UNSAFE_markDismissibleContentAsDismissed((require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION, forceTrack: value5});
}
return value2;
}
emojiUnavailableReason = (importDefault(3801) /* metro dependency 3801: EmojiUtils */).getEmojiUnavailableReason({emoji: r11,
channel: a1, intention: EmojiIntention.REACTION});
if (emojiUnavailableReason === EmojiDisabledReasons.PREMIUM_LOCKED) {
(require(4497) /* metro dependency 4497: useAlertStoreNative */).openAlert(NITRO_UPSELL_ALERT_KEY,
((Component) => <Component emojiName={r11.name} />)(env0_4.lazy(_fun65791)));
return value2;
}
if (value4 != emojiUnavailableReason) {
(require(8221) /* metro dependency 8221: DoubleTapErrorToast */).showDoubleTapErrorToast({emojiName: r11.name,
reason: emojiUnavailableReason});
return value2;
}
moduleValue2 = require(4081) /* metro dependency 4081: HapticUtilsNative */;
moduleValue2.triggerHapticFeedback((require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes.IMPACT_LIGHT);
moduleValue3 = require(7151) /* metro dependency 7151: ReactionActionCreators */;
moduleValue3.addReaction(a1.id, a0.id, r7,
(require(7151) /* metro dependency 7151: ReactionActionCreators */).ReactionLocations.DOUBLE_TAP);
moduleValue4 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue4.UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.DOUBLE_TAP_TO_REACT_REMINDER,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION});
(require(8225) /* metro dependency 8225: DoubleTapChatInputBannerActionCreators */).updateForceShowChatInputBanner({forceShow: false});
if (isContentShown(DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL)) {
moduleValue6 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue6.UNSAFE_markDismissibleContentAsDismissed((require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION, forceTrack: value5});
}
return value2;
}
if (!r4) {
(require(8221) /* metro dependency 8221: DoubleTapErrorToast */).showDoubleTapErrorToast({emojiName: value4 == setting ? value2 : setting.emojiName});
}
return value2;
}
return value2;
}
r4 = value7;
r7 = value6;
reactions = a0.reactions;
if (reactions.some(_fun65790)) {
value = require(4081) /* metro dependency 4081: HapticUtilsNative */;
value.triggerHapticFeedback((require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes.IMPACT_LIGHT);
value = require(7151) /* metro dependency 7151: ReactionActionCreators */;
removeReaction = value.removeReaction;
object2 = {};
id = a1.id;
object2.channelId = id;
id = a0.id;
object2.messageId = id;
object2.emoji = r7;
object2.location = (require(7151) /* metro dependency 7151: ReactionActionCreators */).ReactionLocations.DOUBLE_TAP;
Reflect.apply(removeReaction, value, [object2]);
return value2;
}
r11 = r4 ? getFallbackDoubleTapDisambiguatedEmoji() : disambiguatedEmojiFromSettingsValue(value4 != setting ? setting : {});
if (value4 != r11) {
if (value4 == r11) {
moduleValue2 = require(4081) /* metro dependency 4081: HapticUtilsNative */;
moduleValue2.triggerHapticFeedback((require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes.IMPACT_LIGHT);
moduleValue3 = require(7151) /* metro dependency 7151: ReactionActionCreators */;
moduleValue3.addReaction(a1.id, a0.id, r7,
(require(7151) /* metro dependency 7151: ReactionActionCreators */).ReactionLocations.DOUBLE_TAP);
moduleValue4 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue4.UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.DOUBLE_TAP_TO_REACT_REMINDER,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION});
(require(8225) /* metro dependency 8225: DoubleTapChatInputBannerActionCreators */).updateForceShowChatInputBanner({forceShow: false});
if (isContentShown(DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL)) {
moduleValue6 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue6.UNSAFE_markDismissibleContentAsDismissed((require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION, forceTrack: value5});
}
return value2;
}
emojiUnavailableReason = (importDefault(3801) /* metro dependency 3801: EmojiUtils */).getEmojiUnavailableReason({emoji: r11,
channel: a1, intention: EmojiIntention.REACTION});
if (emojiUnavailableReason === EmojiDisabledReasons.PREMIUM_LOCKED) {
(require(4497) /* metro dependency 4497: useAlertStoreNative */).openAlert(NITRO_UPSELL_ALERT_KEY,
((Component) => <Component emojiName={r11.name} />)(env0_4.lazy(_fun65791)));
return value2;
}
if (value4 != emojiUnavailableReason) {
(require(8221) /* metro dependency 8221: DoubleTapErrorToast */).showDoubleTapErrorToast({emojiName: r11.name,
reason: emojiUnavailableReason});
return value2;
}
moduleValue2 = require(4081) /* metro dependency 4081: HapticUtilsNative */;
moduleValue2.triggerHapticFeedback((require(4081) /* metro dependency 4081: HapticUtilsNative */).HapticFeedbackTypes.IMPACT_LIGHT);
moduleValue3 = require(7151) /* metro dependency 7151: ReactionActionCreators */;
moduleValue3.addReaction(a1.id, a0.id, r7,
(require(7151) /* metro dependency 7151: ReactionActionCreators */).ReactionLocations.DOUBLE_TAP);
moduleValue4 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue4.UNSAFE_markDismissibleContentAsDismissed(DismissibleContent.DOUBLE_TAP_TO_REACT_REMINDER,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION});
(require(8225) /* metro dependency 8225: DoubleTapChatInputBannerActionCreators */).updateForceShowChatInputBanner({forceShow: false});
if (isContentShown(DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL)) {
moduleValue6 = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
moduleValue6.UNSAFE_markDismissibleContentAsDismissed((require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.DOUBLE_TAP_TO_REACT_EXPANDED_UPSELL,
{dismissAction: ContentDismissActionType.INDIRECT_ACTION, forceTrack: value5});
}
return value2;
}
if (!r4) {
(require(8221) /* metro dependency 8221: DoubleTapErrorToast */).showDoubleTapErrorToast({emojiName: value4 == setting ? value2 : setting.emojiName});
}
return value2;
}
}
return value2;
}
function markUserTriggeredDoubleTapUpsellDismissed(a0) { // fn#65793, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8402:4121, offset: 0x01bdf24d, size: 80 bytes, params: 2, frame: 15
const value = require(3968) /* metro dependency 3968: DismissibleContentUnsafeUtils */;
const UNSAFE_markDismissibleContentAsDismissed = value.UNSAFE_markDismissibleContentAsDismissed;
const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent;
const DOUBLE_TAP_TO_REACT_UPSELL = DismissibleContent.DOUBLE_TAP_TO_REACT_UPSELL;
return Reflect.apply(UNSAFE_markDismissibleContentAsDismissed, value, [DOUBLE_TAP_TO_REACT_UPSELL,
{dismissAction: a0, forceTrack: true}]);
}
function canUpsellDoubleTapForEmoji(a0, a1) { // fn#65795, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8402:4496, offset: 0x01bdf29d, size: 53 bytes, params: 3, frame: 12
var r0;
var isFrequentlyUsedReactionEmojiWithoutFetchingLatest;
const isFavoriteEmojiWithoutFetchingLatest2 = EmojiStore.getDisambiguatedEmojiContext(a0).isFavoriteEmojiWithoutFetchingLatest(a1);
if (isFavoriteEmojiWithoutFetchingLatest2) {
r0 = isFavoriteEmojiWithoutFetchingLatest2;
} else {
isFrequentlyUsedReactionEmojiWithoutFetchingLatest = isFrequentlyUsedReactionEmojiWithoutFetchingLatest.isFrequentlyUsedReactionEmojiWithoutFetchingLatest(a1);
r0 = isFrequentlyUsedReactionEmojiWithoutFetchingLatest;
}
return r0;
}
function* _fun65788(a0) { // fn#65788, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8402:944, offset: 0x01bdeb6b, size: 461 bytes, params: 2, frame: 19
var binding2;
var value6;
var UNSAFE_isDismissibleContentDismissed;
var DismissibleContent;
var DOUBLE_TAP_TO_REACT_UPSELL;
var value7;
var DoubleTapExpandExperiment;
var binding3;
var requestMarkDismissibleContentAsShown;
if (false) {
return undefined;
}
value = environment.__proto__.__proto__;
let binding = env2_0;
const value3 = undefined;
let DoubleTapReactionEmoji = binding(env2_2[9]).DoubleTapReactionEmoji;
const setting = DoubleTapReactionEmoji.getSetting();
const disableDoubleTap = setting == null ? value3 : setting.disableDoubleTap;
let r2 = disableDoubleTap != null && disableDoubleTap;
if (!r2) {
if ((setting == null ? value3 : setting.emojiId) != null) {
env2_0(env2_2[23]).maybeShowDoubleTapReminderToast(a0);
return value3;
}
if ((setting == null ? value3 : setting.emojiName) == null) {
binding = env2_0;
binding2 = env2_2;
value6 = binding(binding2[20]);
UNSAFE_isDismissibleContentDismissed = value6.UNSAFE_isDismissibleContentDismissed;
DismissibleContent = binding(binding2[21]).DismissibleContent;
DOUBLE_TAP_TO_REACT_UPSELL = DismissibleContent.DOUBLE_TAP_TO_REACT_UPSELL;
value7 = Reflect.apply(UNSAFE_isDismissibleContentDismissed, value6, [DOUBLE_TAP_TO_REACT_UPSELL]);
if (value7) {
r2 = value7;
} else {
DoubleTapExpandExperiment = env2_0(env2_2[11]).DoubleTapExpandExperiment;
r2 = DoubleTapExpandExperiment.getConfig({location: 'initializeDoubleTapEmojiAndUpsell'}).enabled;
}
if (r2) {
return value3;
}
binding = env2_0;
DoubleTapReactionEmoji = binding(env2_2[9]).DoubleTapReactionEmoji;
yield DoubleTapReactionEmoji.updateSetting({emojiId: a0.id, emojiName: a0.name, animated: a0.animated,
disableDoubleTap: false});
if (false) {
return undefined;
}
binding = env2_0;
binding3 = env2_2;
value = binding(binding3[24]);
requestMarkDismissibleContentAsShown = value.requestMarkDismissibleContentAsShown;
DismissibleContent = binding(binding3[21]).DismissibleContent;
DOUBLE_TAP_TO_REACT_UPSELL = DismissibleContent.DOUBLE_TAP_TO_REACT_UPSELL;
Reflect.apply(requestMarkDismissibleContentAsShown, value, [DOUBLE_TAP_TO_REACT_UPSELL]);
value = binding(binding3[22]);
value.updateForceShowChatInputBanner({forceShow: true, emoji: a0});
return value3;
}
binding = env2_0;
value = binding(env2_2[23]);
value.maybeShowDoubleTapReminderToast(a0);
}
return value3;
}
function _fun65790(a0) { // fn#65790, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8402:2622, offset: 0x01bdf195, size: 64 bytes, params: 2, frame: 14
let value = environment.__proto__;
value = Reflect.apply((require(3795) /* metro dependency 3795: ReactionUtils */).emojiEquals, value, [a0.emoji,
env0_0]);
return value && a0.me;
}
function _fun65791() { // fn#65791, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8402:3112, offset: 0x01bdf1d5, size: 45 bytes, params: 1, frame: 13
const value = environment.__proto__;
return require(dependencyMap[18])(dependencyMap[17], dependencyMap.paths);
}
@@ -0,0 +1,207 @@
/* Metro module 11849; source: modules/double_tap_to_react/native/SelectDoubleTapEmojiRow.tsx; dependencies: [31, 27, 4502, 6276, 1881, 33, 4501, 477, 697, 566, 5278, 6739, 1423, 8533, 1478, 3801, 8217, 8529, 7152, 7950, 2] */
function _fun90798(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#90798, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12035:6, offset: 0x02046b25, size: 837 bytes, params: 8, frame: 27
var object3;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const value = undefined;
const value2 = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const env0_6 = (require(6276) /* metro dependency 6276: ActionSheetConstants */).ACTION_SHEET_MAX_WIDTH;
const emojiConstantsModule = require(1881) /* metro dependency 1881: EmojiConstants */;
const env0_7 = emojiConstantsModule.EMOJI_URL_BASE_SIZE;
const env0_8 = emojiConstantsModule.EmojiIntention;
const value4 = require(33) /* metro dependency 33 */;
const env0_9 = value4.jsx;
const env0_10 = value4.Fragment;
const env0_11 = value4.jsxs;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
object3 = {};
const value6 = 24;
object3.emoji = {'width': 24, 'height': 24};
object3.customEmoji = {'width': 24, 'height': 24};
const object5 = {};
const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */;
const isIOS2 = platformUtilsModule.isIOS();
const value8 = 20;
object5.fontSize = isIOS2 ? value6 : value8;
const value9 = platformUtilsModule;
object5.lineHeight = value9.isIOS() ? 28 : value;
object5.textAlign = 'center';
const INTERACTIVE_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_DEFAULT;
object5.color = INTERACTIVE_TEXT_DEFAULT;
object3.textEmoji = object5;
let PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object3.emojiRow = {flexDirection: 'row', gap: PX_8};
const object7 = {'borderRadius': null, 'borderWidth': 2, 'borderColor': 'transparent'};
object7.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
object3.emojiPressable = object7;
let BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND;
object3.selectedEmojiPressable = {borderColor: BACKGROUND_BRAND};
const object8 = {};
object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object8.padding = PX_8;
object8.margin = 2;
object3.emojiWrapper = object8;
const BACKGROUND_MOD_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_STRONG;
object3.selectedEmojiWrapper = {backgroundColor: BACKGROUND_MOD_STRONG};
const REDESIGN_BUTTON_TERTIARY_TEXT = (importDefault(697) /* metro dependency 697: native */).colors.REDESIGN_BUTTON_TERTIARY_TEXT;
object3.chooseEmojiButton = {color: REDESIGN_BUTTON_TERTIARY_TEXT};
const object10 = {'backgroundColor': null, 'height': 24, 'width': 24, 'position': 'absolute', 'right': -8,
'bottom': -8, 'borderRadius': null, 'alignItems': 'center', 'justifyContent': 'center', 'borderColor': null,
'borderWidth': 2, 'boxSizing': 'content-box'};
BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND;
object10.backgroundColor = BACKGROUND_BRAND;
object10.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const MOBILE_ACTIONSHEET_BACKGROUND = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_ACTIONSHEET_BACKGROUND;
object10.borderColor = MOBILE_ACTIONSHEET_BACKGROUND;
object3.customReactionOverlay = object10;
const CONTROL_PRIMARY_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_PRIMARY_TEXT_DEFAULT;
object3.selectedCustomReactionIcon = {'height': 12, 'width': 12, color: CONTROL_PRIMARY_TEXT_DEFAULT};
const env0_12 = Reflect.apply(createStyles, createStylesModule, [object3]);
const env0_13 = value2.memo(_fun90799);
const value11 = value2.memo(_fun90802);
require(dependencyMap[value8]).fileFinishedImporting('modules/double_tap_to_react/native/SelectDoubleTapEmojiRow.tsx');
exports.default = value11;
return value;
}
function _fun90799({emoji, onPress, selected}) { // fn#90799, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12035:1336, offset: 0x02046e6a, size: 421 bytes, params: 2, frame: 27
const styles = useStyles();
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
return (
<PressableOpacity
accessibilityRole="button"
disabled={emoji == null}
onPress={function() {
return onPress(emoji);
}}
style={[styles.emojiPressable, selected ? styles.selectedEmojiPressable : undefined]}
>
<View style={[styles.emojiWrapper, selected ? styles.selectedEmojiWrapper : undefined]}>
{((Component) => <Component style={styles.emoji} fastImageStyle={styles.customEmoji} textEmojiStyle={styles.textEmoji} name={emoji.id == null ? emoji.surrogates : ''} src={emoji.id != null ? (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getEmojiURL({id: emoji.id,
animated: !useReducedMotion && emoji.animated,
size: EMOJI_URL_BASE_SIZE}) : emoji.url} />)(importDefault(6739) /* metro dependency 6739: Emoji */)}
</View>
</PressableOpacity>
);
}
function _fun90802({selectedEmoji, onPressEmoji, style}) { // fn#90802, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12035:1897, offset: 0x0204700f, size: 912 bytes, params: 2, frame: 36
var r11;
const ReactionIcon = (require(7950) /* metro dependency 7950: ReactionIcon */).ReactionIcon;
var color;
var jsxRuntimeEnv0_10Binding;
var Emoji;
var id;
var items5;
var selectedCustomReactionIcon;
const styles = useStyles();
const value2 = (require(8533) /* metro dependency 8533: EmojiPickerUtils */).useFrequentlyUsedReactionEmojis(undefined);
const width = (importDefault(1478) /* metro dependency 1478: useWindowDimensionsNative */)().width;
let Math = global.Math;
const value3 = Math.min(width, ACTION_SHEET_MAX_WIDTH);
Math = global.Math;
const value4 = Math.floor(value3 / 60);
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const value6 = value2.filter(function(a0) {
return !importDefault(dependencyMap[15]).isEmojiFilteredOrLocked({emoji: a0, channel: undefined,
intention: EmojiIntention.DEFAULT_REACT_EMOJI});
}).slice(0, value4 - 1);
const binding = env0_3;
const value7 = binding.useMemo(_fun90805, [value6, selectedEmoji]);
const env0_4 = binding.useCallback(function(a0) {
onPressEmoji(a0, true);
}, [onPressEmoji]);
const env0_5 = binding.useCallback(function(a0) {
onPressEmoji(a0, false);
}, [onPressEmoji]);
const items2 = [style];
items2[1] = styles.emojiRow;
const value8 = value6.map(_fun90809);
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const object = {accessibilityRole: 'button', onPress: onPress_90810};
const value9 = value7 === -1;
object.style = [styles.emojiPressable, value9 && styles.selectedEmojiPressable];
const items4 = [styles.emojiWrapper];
items4[1] = value9 && styles.selectedEmojiWrapper;
if (value9) {
jsxRuntimeEnv0_10Binding = jsxRuntimeEnv0_10;
Emoji = importDefault(6739) /* metro dependency 6739: Emoji */;
var defaultImportProps = {style: styles.emoji, fastImageStyle: styles.customEmoji,
textEmojiStyle: styles.textEmoji};
id = selectedEmoji.id;
defaultImportProps.name = id == null ? selectedEmoji.surrogates : '';
id = selectedEmoji.id;
defaultImportProps.src = id != null ? (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getEmojiURL({id: selectedEmoji.id,
animated: !useReducedMotion && selectedEmoji.animated, size: EMOJI_URL_BASE_SIZE}) : selectedEmoji.url;
items5 = [<Emoji {...defaultImportProps} />];
selectedCustomReactionIcon = styles.selectedCustomReactionIcon;
color = selectedCustomReactionIcon.color;
selectedCustomReactionIcon = styles.selectedCustomReactionIcon;
items5[1] = <View style={styles.customReactionOverlay}><ReactionIcon color={color} style={selectedCustomReactionIcon} /></View>;
r11 = <>{items5}</>;
} else {
r11 = <ReactionIcon color={styles.chooseEmojiButton.color} />;
}
return (
<View style={items2}>
{value8}
<PressableOpacity {...object}>
<View style={items4}>
{r11}
</View>
</PressableOpacity>
</View>
);
}
function _fun90805() { // fn#90805, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12035:2257, offset: 0x020473e5, size: 29 bytes, params: 1, frame: 11
return env0_2.findIndex(_fun90806);
}
function _fun90809(a0, a1) { // fn#90809, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12035:2438, offset: 0x0204745f, size: 68 bytes, params: 3, frame: 17
var r0;
let value = null;
if (value != a0) {
value = environment.__proto__;
value = ((Component) => <Component emoji={a0} selected={a1 === env0_3} onPress={env0_4} key={a1} />)(env1_13);
r0 = value;
} else {
r0 = value;
}
return r0;
}
function onPress_90810() { // fn#90810, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12035:2566, offset: 0x020474a3, size: 112 bytes, params: 1, frame: 17
const openEmojiPickerActionSheetModule = require(8529) /* metro dependency 8529: openEmojiPickerActionSheet */;
const openEmojiPickerActionSheet = openEmojiPickerActionSheetModule.openEmojiPickerActionSheet;
const object2 = {};
object2.onPressEmoji = env0_5;
object2.channel = undefined;
const DEFAULT_REACT_EMOJI = EmojiIntention.DEFAULT_REACT_EMOJI;
object2.pickerIntention = DEFAULT_REACT_EMOJI;
const ReactionTypes = (require(7152) /* metro dependency 7152: MessageReactionsTypes */).ReactionTypes;
const NORMAL = ReactionTypes.NORMAL;
object2.reactionType = NORMAL;
object2.startExpanded = true;
Reflect.apply(openEmojiPickerActionSheet, openEmojiPickerActionSheetModule, [object2, 'stack']);
}
function _fun90806(a0) { // fn#90806, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12035:2274, offset: 0x02047402, size: 49 bytes, params: 2, frame: 13
let value = environment.__proto__.__proto__;
value = require(8217) /* metro dependency 8217: DoubleTapToReactUtils */;
return value.areEmojisEqual(selectedEmoji, a0);
}