This commit is contained in:
janisslsm committed 2026-07-28 01:06:53 +03:00
1 parent af3b49f756
commit 1781d25a15
22448 files changed
+2731829 -2650550

No files matched your search

@@ -1,15 +1,19 @@
/* Metro module 10388; source: modules/premium/gifting/native/views/GiftingBadgeIcon.tsx; dependencies: [31, 27, 33, 2] */
import * as FileImportTrackerModule from '../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
function _fun80474(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#80474, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10574:6, offset: 0x01e7c8c5, size: 145 bytes, params: 8, frame: 18
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_0 = (require(27) /* metro dependency 27 */).Image;
const env0_1 = (require(33) /* metro dependency 33 */).jsx;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/gifting/native/views/GiftingBadgeIcon.tsx');
ReactModule;
(FileImportTrackerModule).fileFinishedImporting('modules/premium/gifting/native/views/GiftingBadgeIcon.tsx');
exports.default = GiftingBadgeIcon;
function GiftingBadgeIcon({icon, size, style}) { // fn#80475, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10574:235, offset: 0x01e7c956, size: 77 bytes, params: 2, frame: 16
return <Image source={{uri: icon}} style={[{width: size, height: size}, style]} />;
}
}
function GiftingBadgeIcon({icon, size, style}) { // fn#80475, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10574:235, offset: 0x01e7c956, size: 77 bytes, params: 2, frame: 16
return <Image source={{uri: icon}} style={[{width: size, height: size}, style]} />;
}
global.__d(_fun80474, 10388, [31, 27, 33, 2]) /* metro module 10388, dependencies: [31, 27, 33, 2] */;
@@ -1,60 +1,78 @@
/* Metro module 10471; source: modules/premium/gifting/native/views/GiftingBadgeLevelUpProgress.tsx; dependencies: [31, 27, 7670, 33, 4501, 697, 10388, 4573, 1244, 2320, 2] */
import GiftingBadgeMessages from '../../GiftingBadge.messages.js'; /* Metro dependency 2320 */
import * as FileImportTrackerModule from '../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as IndexNativeModule from '../../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as TextModule from '../../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as BadgeDirectoryStoreModule from '../../../../badges/BadgeDirectoryStore.tsx'; /* Metro dependency 7670 */
function _fun81023(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#81023, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10657:6, offset: 0x01e95d44, size: 453 bytes, params: 8, frame: 23
var object2;
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(7670) /* metro dependency 7670: BadgeDirectoryStore */).getSingleRequirementThreshold;
let value = require(33) /* metro dependency 33 */;
ReactModule;
let value = JsxRuntimeModule;
const env0_5 = value.jsx;
const env0_6 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
object = {};
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object2.container = {gap: PX_4, width: '100%'};
object.container = {gap: PX_4, width: '100%'};
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object2.barRow = {'flexDirection': 'row', 'alignItems': 'center', gap: PX_8};
const object3 = {'flex': 1, 'height': 6, 'borderRadius': null, 'backgroundColor': null, 'overflow': 'hidden'};
object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
object.barRow = {'flexDirection': 'row', 'alignItems': 'center', gap: PX_8};
const object4 = {'flex': 1, 'height': 6, 'borderRadius': null, 'backgroundColor': null, 'overflow': 'hidden'};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const BACKGROUND_MOD_NORMAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_NORMAL;
object3.backgroundColor = BACKGROUND_MOD_NORMAL;
object2.progressBarTrack = object3;
const object6 = {height: 6};
object6.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
object4.backgroundColor = BACKGROUND_MOD_NORMAL;
object.progressBarTrack = object4;
const object5 = {height: 6};
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND;
object6.backgroundColor = BACKGROUND_BRAND;
object2.progressBarFill = object6;
object2.labels = {'flexDirection': 'row', 'justifyContent': 'flex-end'};
const env0_7 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/gifting/native/views/GiftingBadgeLevelUpProgress.tsx');
object5.backgroundColor = BACKGROUND_BRAND;
object.progressBarFill = object5;
object.labels = {'flexDirection': 'row', 'justifyContent': 'flex-end'};
const env0_7 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/premium/gifting/native/views/GiftingBadgeLevelUpProgress.tsx');
exports.default = GiftingBadgeLevelUpProgress;
}
function GiftingBadgeLevelUpProgress({progress, currentTier, newTier, style}) { // fn#81024, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10657:747, offset: 0x01e95f09, size: 568 bytes, params: 2, frame: 31
const styles = useStyles();
const singleRequirementThreshold = getSingleRequirementThreshold(newTier);
const r21 = singleRequirementThreshold > 0 ? global.Math.min(global.Math.max(progress / singleRequirementThreshold * 100, 0), 100) : 100;
const items3 = [styles.container, style];
const items2 = [currentTier?.simple_icon_url != null && ((Component) => <Component icon={currentTier.simple_icon_url} size={24} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */)];
items2[1] = <View style={styles.progressBarTrack}><View style={[styles.progressBarFill,
{width: '' + r21 + '%'}]} /></View>;
items2[2] = newTier.simple_icon_url != null && ((Component) => <Component icon={newTier.simple_icon_url} size={24} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */);
const view = <View style={styles.barRow}>{items2}</View>;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
return (
<View style={items3}>
{view}
<View style={styles.labels}>
<Text variant="text-xs/normal" color="text-muted">
{intl.format((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).iIpfQe,
{count: progress, threshold: singleRequirementThreshold})}
</Text>
function GiftingBadgeLevelUpProgress({progress, currentTier, newTier, style}) { // fn#81024, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10657:747, offset: 0x01e95f09, size: 568 bytes, params: 2, frame: 31
const styles = useStyles();
const singleRequirementThreshold = getSingleRequirementThreshold(newTier);
const r21 = singleRequirementThreshold > 0 ? global.Math.min(global.Math.max(progress / singleRequirementThreshold * 100, 0), 100) : 100;
const items3 = [styles.container, style];
const items2 = [
currentTier?.simple_icon_url != null && ((Component) => <Component icon={currentTier.simple_icon_url} size={24} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */),
];
items2[1] = (
<View style={styles.progressBarTrack}>
<View style={[styles.progressBarFill, {width: '' + r21 + '%'}]} />
</View>
</View>
);
);
items2[2] = newTier.simple_icon_url != null && ((Component) => <Component icon={newTier.simple_icon_url} size={24} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */);
const view = (
<View style={styles.barRow}>
{items2}
</View>
);
const Text = (TextModule).Text;
const intl = (IndexNativeModule).intl;
return (
<View style={items3}>
{view}
<View style={styles.labels}>
<Text variant="text-xs/normal" color="text-muted">
{intl.format((GiftingBadgeMessages).iIpfQe,
{count: progress, threshold: singleRequirementThreshold})}
</Text>
</View>
</View>
);
}
}
global.__d(_fun81023, 10471, [31, 27, 7670, 33, 4501, 697, 10388, 4573, 1244, 2320,
2]) /* metro module 10471, dependencies: [31, 27, 7670, 33, 4501, 697, 10388, 4573, 1244, 2320, 2] */;
@@ -1,87 +1,109 @@
/* Metro module 10470; source: modules/premium/gifting/native/views/GiftingBadgeProgress.tsx; dependencies: [31, 27, 7670, 33, 4501, 697, 10388, 4573, 1244, 2320, 2] */
import * as FileImportTrackerModule from '../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as TextModule from '../../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as BadgeDirectoryStoreModule from '../../../../badges/BadgeDirectoryStore.tsx'; /* Metro dependency 7670 */
function _fun81020(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#81020, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10656:6, offset: 0x01e95860, size: 501 bytes, params: 8, frame: 23
var object2;
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(7670) /* metro dependency 7670: BadgeDirectoryStore */).getSingleRequirementThreshold;
let value = require(33) /* metro dependency 33 */;
ReactModule;
let value = JsxRuntimeModule;
const env0_5 = value.jsx;
const env0_6 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
object = {};
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.container = {'flexDirection': 'row', 'alignItems': 'center', padding: PX_16};
const object6 = {flex: 1};
object.container = {'flexDirection': 'row', 'alignItems': 'center', padding: PX_16};
const object3 = {flex: 1};
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object6.paddingHorizontal = PX_8;
object3.paddingHorizontal = PX_8;
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object6.gap = PX_4;
object2.content = object6;
const object7 = {height: 6};
object7.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
object3.gap = PX_4;
object.content = object3;
const object4 = {height: 6};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const BACKGROUND_MOD_NORMAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_NORMAL;
object7.backgroundColor = BACKGROUND_MOD_NORMAL;
object7.overflow = 'hidden';
object2.progressBarTrack = object7;
const object8 = {height: 6};
object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
object4.backgroundColor = BACKGROUND_MOD_NORMAL;
object4.overflow = 'hidden';
object.progressBarTrack = object4;
const object5 = {height: 6};
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND;
object8.backgroundColor = BACKGROUND_BRAND;
object2.progressBarFill = object8;
object5.backgroundColor = BACKGROUND_BRAND;
object.progressBarFill = object5;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.labels = {'flexDirection': 'row', 'justifyContent': 'flex-end', 'alignItems': 'center', minHeight: PX_16};
const env0_7 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/gifting/native/views/GiftingBadgeProgress.tsx');
object.labels = {'flexDirection': 'row', 'justifyContent': 'flex-end', 'alignItems': 'center', minHeight: PX_16};
const env0_7 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/premium/gifting/native/views/GiftingBadgeProgress.tsx');
exports.default = GiftingBadgeProgress;
}
function GiftingBadgeProgressBar({percent}) { // fn#81021, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10656:186, offset: 0x01e95a55, size: 164 bytes, params: 2, frame: 25
const styles = useStyles();
const items2 = [styles.progressBarFill];
const Math = global.Math;
const min = Math.min;
const Math2 = global.Math;
let value = Math2.max(percent, 0);
value = Reflect.apply(min, Math, [value, 100]);
items2[1] = {width: '' + value + '%'};
return (
<View style={styles.progressBarTrack}>
<View style={items2} />
</View>
);
}
function GiftingBadgeProgress({progress, currentTier, nextTier, iconSize, title}) { // fn#81022, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10656:1003, offset: 0x01e95af9, size: 587 bytes, params: 2, frame: 36
var r16;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
var intl;
iconSize = iconSize === undefined ? 24 : iconSize;
const styles = useStyles();
const singleRequirementThreshold = getSingleRequirementThreshold(nextTier);
const r17 = nextTier != null && singleRequirementThreshold > 0 ? global.Math.min(global.Math.max(progress / singleRequirementThreshold * 100, 0), 100) : 100;
const items3 = [currentTier?.simple_icon_url != null && ((Component) => <Component icon={currentTier.simple_icon_url} size={iconSize} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */)];
const items2 = [title != null && <Text variant="text-md/semibold">{title}</Text>];
items2[1] = <GiftingBadgeProgressBar percent={r17} />;
const value13 = nextTier != null;
if (value13) {
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r16 = <Text variant="text-xs/normal" color="text-muted">{intl.format((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).iIpfQe,
{count: progress, threshold: singleRequirementThreshold})}</Text>;
} else {
r16 = value13;
function GiftingBadgeProgressBar({percent}) { // fn#81021, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10656:186, offset: 0x01e95a55, size: 164 bytes, params: 2, frame: 25
const styles = useStyles();
const items2 = [styles.progressBarFill];
const Math = global.Math;
const min = Math.min;
const Math2 = global.Math;
let value = Math2.max(percent, 0);
value = Reflect.apply(min, Math, [value, 100]);
items2[1] = {width: '' + value + '%'};
return (
<View style={styles.progressBarTrack}>
<View style={items2} />
</View>
);
}
items2[2] = <View style={styles.labels}>{r16}</View>;
items3[1] = <View style={styles.content}>{items2}</View>;
items3[2] = nextTier?.simple_icon_url != null && ((Component) => <Component icon={nextTier.simple_icon_url} size={iconSize} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */);
return (
<View style={styles.container}>
{items3}
</View>
);
function GiftingBadgeProgress({progress, currentTier, nextTier, iconSize, title}) { // fn#81022, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10656:1003, offset: 0x01e95af9, size: 587 bytes, params: 2, frame: 36
var r16;
const Text = (TextModule).Text;
var intl;
iconSize = iconSize === undefined ? 24 : iconSize;
const styles = useStyles();
const singleRequirementThreshold = getSingleRequirementThreshold(nextTier);
const r17 = nextTier != null && singleRequirementThreshold > 0 ? global.Math.min(global.Math.max(progress / singleRequirementThreshold * 100, 0), 100) : 100;
const items3 = [
currentTier?.simple_icon_url != null && ((Component) => <Component icon={currentTier.simple_icon_url} size={iconSize} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */),
];
const items2 = [
title != null && <Text variant="text-md/semibold">{title}</Text>,
];
items2[1] = <GiftingBadgeProgressBar percent={r17} />;
const value13 = nextTier != null;
if (value13) {
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r16 = (
<Text variant="text-xs/normal" color="text-muted">
{intl.format((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).iIpfQe,
{count: progress, threshold: singleRequirementThreshold})}
</Text>
);
} else {
r16 = value13;
}
items2[2] = (
<View style={styles.labels}>
{r16}
</View>
);
items3[1] = (
<View style={styles.content}>
{items2}
</View>
);
items3[2] = nextTier?.simple_icon_url != null && ((Component) => <Component icon={nextTier.simple_icon_url} size={iconSize} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */);
return (
<View style={styles.container}>
{items3}
</View>
);
}
}
global.__d(_fun81020, 10470, [31, 27, 7670, 33, 4501, 697, 10388, 4573, 1244, 2320,
2]) /* metro module 10470, dependencies: [31, 27, 7670, 33, 4501, 697, 10388, 4573, 1244, 2320, 2] */;
@@ -1,69 +1,84 @@
/* Metro module 10396; source: modules/premium/gifting/native/views/GiftingBadgeProgressBanner.tsx; dependencies: [31, 27, 33, 4501, 697, 6771, 8742, 480, 10388, 4573, 1244, 2320, 2] */
import GiftingBadgeMessages from '../../GiftingBadge.messages.js'; /* Metro dependency 2320 */
import UseAnalyticsLocations from '../../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import UseTrackImpression from '../../../../app_analytics/useTrackImpression.tsx'; /* Metro dependency 8742 */
import * as FileImportTrackerModule from '../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as AnalyticsUtilsModule from '../../../../../external/discord_common/js/packages/analytics-utils/AnalyticsUtils.tsx'; /* Metro dependency 480 */
import * as IndexNativeModule from '../../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as TextModule from '../../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
function _fun80503(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#80503, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10582:6, offset: 0x01e7e2b1, size: 409 bytes, params: 8, frame: 22
var object4;
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;
let value = require(33) /* metro dependency 33 */;
ReactModule;
let value = JsxRuntimeModule;
const env0_4 = value.jsx;
const env0_5 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object4 = {};
const object5 = {'flexDirection': 'row', 'alignItems': 'center', 'padding': null, 'backgroundColor': null,
object = {};
const object2 = {'flexDirection': 'row', 'alignItems': 'center', 'padding': null, 'backgroundColor': null,
'borderRadius': null, 'borderWidth': 1, 'borderStyle': 'solid'};
let PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object5.padding = PX_8;
object2.padding = PX_8;
const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object5.backgroundColor = BACKGROUND_SURFACE_HIGH;
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object2.backgroundColor = BACKGROUND_SURFACE_HIGH;
object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
const BORDER_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_MUTED;
object5.borderColor = BORDER_MUTED;
object2.borderColor = BORDER_MUTED;
const SHADOW_LOW = (importDefault(697) /* metro dependency 697: native */).shadows.SHADOW_LOW;
copyDataProperties(object5, SHADOW_LOW, undefined);
object4.container = object5;
const object6 = {'alignItems': 'center', 'justifyContent': 'center'};
copyDataProperties(object2, SHADOW_LOW, undefined);
object.container = object2;
const object3 = {'alignItems': 'center', 'justifyContent': 'center'};
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object6.padding = PX_8;
object3.padding = PX_8;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object6.marginInlineEnd = PX_8;
object4.iconContainer = object6;
const env0_6 = Reflect.apply(createStyles, value, [object4]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/gifting/native/views/GiftingBadgeProgressBanner.tsx');
object3.marginInlineEnd = PX_8;
object.iconContainer = object3;
const env0_6 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/premium/gifting/native/views/GiftingBadgeProgressBanner.tsx');
exports.default = GiftingBadgeProgressBanner;
function GiftingBadgeProgressBanner({giftsToNextTier, nextTierName, nextTierIcon, analyticsLocation}) { // fn#80504, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10582:674, offset: 0x01e7e44a, size: 467 bytes, params: 2, frame: 25
const styles = useStyles();
const defaultImport = UseAnalyticsLocations;
const r4 = analyticsLocation != null ? [analyticsLocation] : [];
let object = [];
arraySpread(object, r4, 0, undefined);
const analyticsLocations = apply(defaultImport, object, undefined, undefined).analyticsLocations;
const defaultImport2 = UseTrackImpression;
object = {};
const ImpressionNames = (AnalyticsUtilsModule).ImpressionNames;
const GIFTING_BADGE_PROGRESS_BANNER = ImpressionNames.GIFTING_BADGE_PROGRESS_BANNER;
object.name = GIFTING_BADGE_PROGRESS_BANNER;
const ImpressionTypes = (AnalyticsUtilsModule).ImpressionTypes;
const VIEW = ImpressionTypes.VIEW;
object.type = VIEW;
object.properties = {gifts_to_next_tier: giftsToNextTier, next_tier: nextTierName,
location_stack: analyticsLocations};
defaultImport2(object, {trackOnInitialLoad: true});
const view = (
<View style={styles.iconContainer}>
{nextTierIcon != null && ((Component) => <Component icon={nextTierIcon} size={24} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */)}
</View>
);
const Text = (TextModule).Text;
const intl = (IndexNativeModule).intl;
return (
<View style={styles.container}>
{view}
<Text variant="text-md/semibold">
{intl.formatToPlainString((GiftingBadgeMessages)['0+xfd9'],
{giftsRemaining: giftsToNextTier, nextTier: nextTierName})}
</Text>
</View>
);
}
}
function GiftingBadgeProgressBanner({giftsToNextTier, nextTierName, nextTierIcon, analyticsLocation}) { // fn#80504, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10582:674, offset: 0x01e7e44a, size: 467 bytes, params: 2, frame: 25
const styles = useStyles();
const defaultImport = importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */;
const r4 = analyticsLocation != null ? [analyticsLocation] : [];
let object = [];
arraySpread(object, r4, 0, undefined);
const analyticsLocations = apply(defaultImport, object, undefined, undefined).analyticsLocations;
const defaultImport2 = importDefault(8742) /* metro dependency 8742: useTrackImpression */;
object = {};
const ImpressionNames = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionNames;
const GIFTING_BADGE_PROGRESS_BANNER = ImpressionNames.GIFTING_BADGE_PROGRESS_BANNER;
object.name = GIFTING_BADGE_PROGRESS_BANNER;
const ImpressionTypes = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionTypes;
const VIEW = ImpressionTypes.VIEW;
object.type = VIEW;
object.properties = {gifts_to_next_tier: giftsToNextTier, next_tier: nextTierName,
location_stack: analyticsLocations};
defaultImport2(object, {trackOnInitialLoad: true});
const view = <View style={styles.iconContainer}>{nextTierIcon != null && ((Component) => <Component icon={nextTierIcon} size={24} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */)}</View>;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
return (
<View style={styles.container}>
{view}
<Text variant="text-md/semibold">
{intl.formatToPlainString((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */)['0+xfd9'],
{giftsRemaining: giftsToNextTier, nextTier: nextTierName})}
</Text>
</View>
);
}
global.__d(_fun80503, 10396, [31, 27, 33, 4501, 697, 6771, 8742, 480, 10388, 4573, 1244, 2320,
2]) /* metro module 10396, dependencies: [31, 27, 33, 4501, 697, 6771, 8742, 480, 10388, 4573, 1244, 2320, 2] */;
@@ -1,145 +1,229 @@
/* Metro module 15293; source: modules/premium/gifting/native/views/GiftingBadgesCoachmarkActionSheet.tsx; dependencies: [31, 27, 7670, 1376, 33, 4501, 697, 4080, 4008, 6275, 10388, 4573, 1244, 2320, 4578, 10381, 6789, 15294, 10112, 566, 7635, 2] */
import Native from '../../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import ActionSheetActionCreators from '../../../../action_sheet/native/ActionSheetActionCreators.tsx'; /* Metro dependency 4080 */
import AnalyticsLocation from '../../../../app_analytics/AnalyticsLocation.tsx'; /* Metro dependency 6789 */
import BadgeDirectoryStore from '../../../../badges/BadgeDirectoryStore.tsx'; /* Metro dependency 7670 */
import * as FileImportTrackerModule from '../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as FluxModule from '../../../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import * as IndexNativeModule from '../../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as DismissibleContentConstantsModule from '../../../../dismissible_content/DismissibleContentConstants.tsx'; /* Metro dependency 1376 */
import * as TextModule from '../../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as ButtonNativeModule from '../../../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */
import * as BottomSheetNativeModule from '../../../../../design/components/Sheet/native/BottomSheet.native.tsx'; /* Metro dependency 6275 */
import * as BadgeIdModule from '../../../../../external/discord_common/js/shared/shared-constants/BadgeId.tsx'; /* Metro dependency 7635 */
import * as GiftIconModule from '../../../../../design/components/Icon/native/redesign/generated/GiftIcon.tsx'; /* Metro dependency 10112 */
function _fun116950(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#116950, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15490:6, offset: 0x0249d24d, size: 437 bytes, params: 8, frame: 23
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
let value = ReactNativeModule;
const env0_4 = value.Image;
const env0_5 = value.View;
const badgeDirectoryStore = importDefault(7670) /* metro dependency 7670: BadgeDirectoryStore */;
const env0_7 = (require(1376) /* metro dependency 1376: DismissibleContentConstants */).ContentDismissActionType;
value = require(33) /* metro dependency 33 */;
const env0_8 = value.jsx;
const env0_9 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
const PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object2.container = {'alignItems': 'center', 'paddingHorizontal': 20, 'paddingBottom': 20, gap: PX_24};
const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.graphicContainer = {'height': 188, 'width': 335, 'alignItems': 'center', 'justifyContent': 'center',
object = {};
const PX_24 = (Native).space.PX_24;
object.container = {'alignItems': 'center', 'paddingHorizontal': 20, 'paddingBottom': 20, gap: PX_24};
const PX_16 = (Native).space.PX_16;
object.graphicContainer = {'height': 188, 'width': 335, 'alignItems': 'center', 'justifyContent': 'center',
padding: PX_16};
object2.newBadgeImage = {'width': '100%', 'height': '100%', 'objectFit': 'contain'};
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object2.textContainer = {gap: PX_8};
object2.text = {textAlign: 'center'};
object2.footer = {width: '100%'};
const env0_10 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/gifting/native/views/GiftingBadgesCoachmarkActionSheet.tsx');
object.newBadgeImage = {'width': '100%', 'height': '100%', 'objectFit': 'contain'};
const PX_8 = (Native).space.PX_8;
object.textContainer = {gap: PX_8};
object.text = {textAlign: 'center'};
object.footer = {width: '100%'};
const env0_10 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/premium/gifting/native/views/GiftingBadgesCoachmarkActionSheet.tsx');
exports.default = GiftingBadgesCoachmarkActionSheet;
}
function HasBadgeCoachmark({markAsDismissed, currentTier, giftCount}) { // fn#116951, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15490:589, offset: 0x0249d402, size: 729 bytes, params: 2, frame: 39
const styles = useStyles();
const value2 = env0_3.useCallback(_fun116952, [markAsDismissed]);
const value3 = env0_3.useCallback(function() {
markAsDismissed(ContentDismissActionType.USER_DISMISS);
}, [markAsDismissed]);
const BottomSheet = (require(6275) /* metro dependency 6275: BottomSheetNative */).BottomSheet;
const items2 = [<View style={styles.graphicContainer}>{currentTier.simple_icon_url != null && ((Component) => <Component icon={currentTier.simple_icon_url} size={120} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */)}</View>];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
let text = styles.text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const text2 = <Text style={text} variant="heading-xl/bold" color="text-strong">{intl.format((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */)['a+jfuy'],
{tierName: currentTier.name ?? ''})}</Text>;
text = styles.text;
const formatToPlainString = intl.formatToPlainString;
const QxRA6w = (importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).QxRA6w;
items2[1] = <View style={styles.textContainer}>{text2}<Text style={text} variant="text-sm/medium" color="text-default">{Reflect.apply(formatToPlainString,
intl, [QxRA6w, {giftCount: giftCount ?? 0}])}</Text></View>;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const string = intl.string;
const RzWDqY = (require(1244) /* metro dependency 1244: indexNative */).t.RzWDqY;
items2[2] = <View style={styles.footer}><Button grow text={Reflect.apply(string, intl,
[RzWDqY])} onPress={value2} /></View>;
return (
<BottomSheet startExpanded onDismiss={value3}>
<View style={styles.container}>
{items2}
function HasBadgeCoachmark({markAsDismissed, currentTier, giftCount}) { // fn#116951, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15490:589, offset: 0x0249d402, size: 729 bytes, params: 2, frame: 39
const styles = useStyles();
const value2 = ReactModule.useCallback(_fun116952, [markAsDismissed]);
const value3 = ReactModule.useCallback(function() {
markAsDismissed(ContentDismissActionType.USER_DISMISS);
}, [markAsDismissed]);
const BottomSheet = (BottomSheetNativeModule).BottomSheet;
const items2 = [
<View style={styles.graphicContainer}>
{currentTier.simple_icon_url != null && ((Component) => <Component icon={currentTier.simple_icon_url} size={120} />)(importDefault(10388) /* metro dependency 10388: GiftingBadgeIcon */)}
</View>,
];
const Text = (TextModule).Text;
let text = styles.text;
const intl = (IndexNativeModule).intl;
const text2 = (
<Text
style={text}
variant="heading-xl/bold"
color="text-strong"
>
{intl.format((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */)['a+jfuy'],
{tierName: currentTier.name ?? ''})}
</Text>
);
text = styles.text;
const formatToPlainString = intl.formatToPlainString;
const QxRA6w = (importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).QxRA6w;
items2[1] = (
<View style={styles.textContainer}>
{text2}
<Text
style={text}
variant="text-sm/medium"
color="text-default"
>
{Reflect.apply(formatToPlainString, intl, [QxRA6w, {giftCount: giftCount ?? 0}])}
</Text>
</View>
</BottomSheet>
);
}
function NewBadgeCoachmark({markAsDismissed}) { // fn#116954, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15490:1556, offset: 0x0249d745, size: 690 bytes, params: 2, frame: 36
const styles = useStyles();
const value2 = env0_3.useCallback(_fun116955, [markAsDismissed]);
const value3 = env0_3.useCallback(function() {
markAsDismissed(ContentDismissActionType.USER_DISMISS);
}, [markAsDismissed]);
const BottomSheet = (require(6275) /* metro dependency 6275: BottomSheetNative */).BottomSheet;
const object = {};
object.uri = importDefault(15294) /* metro dependency 15294: new_gifting_badgesPng */;
const items2 = [<View style={styles.graphicContainer}><Image source={object} style={styles.newBadgeImage} /></View>];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const Q2RQka = (importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).Q2RQka;
items2[1] = <View style={styles.textContainer}><Text style={styles.text} variant="heading-xl/bold" color="mobile-text-heading-primary">{Reflect.apply(string,
intl,
[Q2RQka])}</Text><Text style={styles.text} variant="text-sm/medium" color="text-muted">{(require(1244) /* metro dependency 1244: indexNative */).intl.string((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */)['3EQnkg'])}</Text></View>;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
string = intl.string;
const DZnomS = (importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).DZnomS;
const GiftIcon = (require(10112) /* metro dependency 10112: GiftIcon */).GiftIcon;
const CONTROL_PRIMARY_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_PRIMARY_TEXT_DEFAULT;
items2[2] = <View style={styles.footer}><Button grow text={Reflect.apply(string, intl,
[DZnomS])} icon={<GiftIcon size="sm" color={CONTROL_PRIMARY_TEXT_DEFAULT} />} onPress={value2} /></View>;
return (
<BottomSheet startExpanded onDismiss={value3}>
<View style={styles.container}>
{items2}
);
const Button = (ButtonNativeModule).Button;
const string = intl.string;
const RzWDqY = (IndexNativeModule).t.RzWDqY;
items2[2] = (
<View style={styles.footer}>
<Button
grow
text={Reflect.apply(string, intl, [RzWDqY])}
onPress={value2}
/>
</View>
</BottomSheet>
);
}
);
return (
<BottomSheet startExpanded onDismiss={value3}>
<View style={styles.container}>
{items2}
</View>
</BottomSheet>
);
function _fun116952() { // fn#116952, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15490:692, offset: 0x0249d6db, size: 106 bytes, params: 1, frame: 13
let value = environment.__proto__;
(ActionSheetActionCreators).hideActionSheet();
const markAsDismissedBinding = markAsDismissed;
const TAKE_ACTION = ContentDismissActionType.TAKE_ACTION;
markAsDismissedBinding(TAKE_ACTION);
value = require(4008) /* metro dependency 4008: RootNavigationRefNative */;
value = value.getRootNavigationRef();
if (value != null) {
value.navigate('you');
}
}
function GiftingBadgesCoachmarkActionSheet({markAsDismissed}) { // fn#116957, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15490:2638, offset: 0x0249da6e, size: 141 bytes, params: 2, frame: 18
const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([BadgeDirectoryStore],
_fun116958);
const currentTier = value2.currentTier;
return currentTier != null ? <HasBadgeCoachmark markAsDismissed={markAsDismissed} currentTier={currentTier} giftCount={value2.giftCount} /> : <NewBadgeCoachmark markAsDismissed={markAsDismissed} />;
}
function _fun116952() { // fn#116952, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15490:692, offset: 0x0249d6db, size: 106 bytes, params: 1, frame: 13
let value = environment.__proto__;
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet();
const markAsDismissedBinding = markAsDismissed;
const TAKE_ACTION = ContentDismissActionType.TAKE_ACTION;
markAsDismissedBinding(TAKE_ACTION);
value = require(4008) /* metro dependency 4008: RootNavigationRefNative */;
value = value.getRootNavigationRef();
if (value != null) {
value.navigate('you');
}
function NewBadgeCoachmark({markAsDismissed}) { // fn#116954, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15490:1556, offset: 0x0249d745, size: 690 bytes, params: 2, frame: 36
const styles = useStyles();
const value2 = ReactModule.useCallback(_fun116955, [markAsDismissed]);
const value3 = ReactModule.useCallback(function() {
markAsDismissed(ContentDismissActionType.USER_DISMISS);
}, [markAsDismissed]);
const BottomSheet = (BottomSheetNativeModule).BottomSheet;
const object2 = {};
object2.uri = importDefault(15294) /* metro dependency 15294: new_gifting_badgesPng */;
const items2 = [
<View style={styles.graphicContainer}>
<Image source={object2} style={styles.newBadgeImage} />
</View>,
];
const Text = (TextModule).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const Q2RQka = (importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).Q2RQka;
items2[1] = (
<View style={styles.textContainer}>
<Text
style={styles.text}
variant="heading-xl/bold"
color="mobile-text-heading-primary"
>
{Reflect.apply(string, intl, [Q2RQka])}
</Text>
<Text
style={styles.text}
variant="text-sm/medium"
color="text-muted"
>
{(require(1244) /* metro dependency 1244: indexNative */).intl.string((importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */)['3EQnkg'])}
</Text>
</View>
);
const Button = (ButtonNativeModule).Button;
string = intl.string;
const DZnomS = (importDefault(2320) /* metro dependency 2320: GiftingBadgeMessages */).DZnomS;
const GiftIcon = (GiftIconModule).GiftIcon;
const CONTROL_PRIMARY_TEXT_DEFAULT = (Native).colors.CONTROL_PRIMARY_TEXT_DEFAULT;
items2[2] = (
<View style={styles.footer}>
<Button
grow
text={Reflect.apply(string, intl, [DZnomS])}
icon={<GiftIcon size="sm" color={CONTROL_PRIMARY_TEXT_DEFAULT} />}
onPress={value2}
/>
</View>
);
return (
<BottomSheet startExpanded onDismiss={value3}>
<View style={styles.container}>
{items2}
</View>
</BottomSheet>
);
function _fun116955() { // fn#116955, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15490:1631, offset: 0x0249d9f7, size: 119 bytes, params: 1, frame: 15
let value = environment.__proto__;
(ActionSheetActionCreators).hideActionSheet();
const markAsDismissedBinding = markAsDismissed;
const TAKE_ACTION = ContentDismissActionType.TAKE_ACTION;
markAsDismissedBinding(TAKE_ACTION);
value = require(10381) /* metro dependency 10381: openGiftModal */;
const openGiftModal = value.openGiftModal;
const GIFTING_BADGE_COACHMARK = (AnalyticsLocation).GIFTING_BADGE_COACHMARK;
Reflect.apply(openGiftModal, value, [{analyticsLocations: [GIFTING_BADGE_COACHMARK]}]);
}
}
function GiftingBadgesCoachmarkActionSheet({markAsDismissed}) { // fn#116957, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15490:2638, offset: 0x0249da6e, size: 141 bytes, params: 2, frame: 18
const value2 = (FluxModule).useStateFromStoresObject([BadgeDirectoryStore],
_fun116958);
const currentTier = value2.currentTier;
return (
currentTier != null
? (
<HasBadgeCoachmark
markAsDismissed={markAsDismissed}
currentTier={currentTier}
giftCount={value2.giftCount}
/>
)
: (
<NewBadgeCoachmark markAsDismissed={markAsDismissed} />
)
);
function _fun116958() { // fn#116958, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15490:2747, offset: 0x0249dafb, size: 112 bytes, params: 1, frame: 16
const object = {};
let value = environment.__proto__;
const badgeDirectoryStoreBinding = BadgeDirectoryStore;
const getCurrentTier = badgeDirectoryStoreBinding.getCurrentTier;
value = undefined;
const BadgeId = (BadgeIdModule).BadgeId;
let GIFTING = BadgeId.GIFTING;
object.currentTier = Reflect.apply(getCurrentTier, badgeDirectoryStoreBinding, [GIFTING]);
const getSingleRequirementProgress = badgeDirectoryStoreBinding.getSingleRequirementProgress;
GIFTING = BadgeId.GIFTING;
const value2 = Reflect.apply(getSingleRequirementProgress, badgeDirectoryStoreBinding, [GIFTING]);
object.giftCount = value2 == null ? value : value2.current;
return object;
}
}
}
function _fun116955() { // fn#116955, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15490:1631, offset: 0x0249d9f7, size: 119 bytes, params: 1, frame: 15
let value = environment.__proto__;
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet();
const markAsDismissedBinding = markAsDismissed;
const TAKE_ACTION = ContentDismissActionType.TAKE_ACTION;
markAsDismissedBinding(TAKE_ACTION);
value = require(10381) /* metro dependency 10381: openGiftModal */;
const openGiftModal = value.openGiftModal;
const GIFTING_BADGE_COACHMARK = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).GIFTING_BADGE_COACHMARK;
Reflect.apply(openGiftModal, value, [{analyticsLocations: [GIFTING_BADGE_COACHMARK]}]);
}
function _fun116958() { // fn#116958, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15490:2747, offset: 0x0249dafb, size: 112 bytes, params: 1, frame: 16
const object2 = {};
let value = environment.__proto__;
const getCurrentTier = BadgeDirectoryStore.getCurrentTier;
value = undefined;
const BadgeId = (require(7635) /* metro dependency 7635: BadgeId */).BadgeId;
let GIFTING = BadgeId.GIFTING;
object2.currentTier = Reflect.apply(getCurrentTier, BadgeDirectoryStore, [GIFTING]);
const getSingleRequirementProgress = BadgeDirectoryStore.getSingleRequirementProgress;
GIFTING = BadgeId.GIFTING;
const value2 = Reflect.apply(getSingleRequirementProgress, BadgeDirectoryStore, [GIFTING]);
object2.giftCount = value2 == null ? value : value2.current;
return object2;
}
global.__d(_fun116950, 15293, [31, 27, 7670, 1376, 33, 4501, 697, 4080, 4008, 6275, 10388, 4573, 1244, 2320, 4578,
10381, 6789, 15294, 10112, 566, 7635,
2]) /* metro module 15293, dependencies: [31, 27, 7670, 1376, 33, 4501, 697, 4080, 4008, 6275, 10388, 4573, 1244, 2320, 4578, 10381, 6789, 15294, 10112, 566, 7635, 2] */;
@@ -1,35 +1,41 @@
/* Metro module 10462; source: modules/premium/gifting/native/views/GiftingRewardPreviewAvatar.tsx; dependencies: [31, 4502, 1878, 33, 566, 1305, 2] */
import UserStore from '../../../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import AccessibilityStore from '../../../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */
import * as FileImportTrackerModule from '../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as NativeModule from '../../../../../design/void/native.tsx'; /* Metro dependency 1305 */
function _fun80977(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#80977, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10648:6, offset: 0x01e93073, size: 166 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const env0_4 = (require(33) /* metro dependency 33 */).jsx;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/gifting/native/views/GiftingRewardPreviewAvatar.tsx');
ReactModule;
(FileImportTrackerModule).fileFinishedImporting('modules/premium/gifting/native/views/GiftingRewardPreviewAvatar.tsx');
exports.default = GiftingRewardPreviewAvatar;
function GiftingRewardPreviewAvatar(a0) { // fn#80978, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10648:249, offset: 0x01e93119, size: 203 bytes, params: 2, frame: 20
const value2 = undefined;
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const r6 = a0.asset != null ? {asset: a0.asset} : value2;
const Avatar = (NativeModule).Avatar;
return (
<Avatar
user={currentUser}
guildId={value2}
avatarDecoration={r6}
animate={!useReducedMotion}
{...a0}
/>
);
}
}
function GiftingRewardPreviewAvatar(a0) { // fn#80978, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10648:249, offset: 0x01e93119, size: 203 bytes, params: 2, frame: 20
const value2 = undefined;
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const r6 = a0.asset != null ? {asset: a0.asset} : value2;
const Avatar = (require(1305) /* metro dependency 1305: native */).Avatar;
return (
<Avatar
user={currentUser}
guildId={value2}
avatarDecoration={r6}
animate={!useReducedMotion}
{...a0}
/>
);
}
global.__d(_fun80977, 10462, [31, 4502, 1878, 33, 566, 1305,
2]) /* metro module 10462, dependencies: [31, 4502, 1878, 33, 566, 1305, 2] */;
@@ -1,126 +1,171 @@
/* Metro module 15280; source: modules/premium/gifting/native/views/promotions/GiftingPromotionCoachmark.tsx; dependencies: [31, 27, 4502, 661, 1376, 33, 4501, 697, 566, 10390, 6771, 6789, 4080, 10381, 6275, 477, 7601, 5475, 4573, 4578, 1244, 2] */
import ActionSheetActionCreators from '../../../../../action_sheet/native/ActionSheetActionCreators.tsx'; /* Metro dependency 4080 */
import AccessibilityStore from '../../../../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */
import UseAnalyticsLocations from '../../../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import AnalyticsLocation from '../../../../../app_analytics/AnalyticsLocation.tsx'; /* Metro dependency 6789 */
import * as FileImportTrackerModule from '../../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../../../Constants.tsx'; /* Metro dependency 661 */
import * as DismissibleContentConstantsModule from '../../../../../dismissible_content/DismissibleContentConstants.tsx'; /* Metro dependency 1376 */
import * as TextModule from '../../../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as OpenGiftModalModule from '../../../../native/utils/openGiftModal.tsx'; /* Metro dependency 10381 */
function _fun116880(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#116880, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15477:6, offset: 0x0249972b, size: 467 bytes, params: 8, frame: 23
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
let value = require(661) /* metro dependency 661: Constants */;
let value = ConstantsModule;
const env0_6 = value.AnalyticsSections;
const env0_7 = value.AnalyticsObjects;
const env0_8 = value.AnalyticsPages;
const env0_9 = (require(1376) /* metro dependency 1376: DismissibleContentConstants */).ContentDismissActionType;
value = require(33) /* metro dependency 33 */;
const env0_10 = value.jsx;
const env0_11 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
object = {};
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.container = {alignItems: 'center', padding: PX_16};
const object4 = {};
object.container = {alignItems: 'center', padding: PX_16};
const object3 = {};
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object4.gap = PX_8;
object3.gap = PX_8;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object4.paddingHorizontal = PX_16;
object3.paddingHorizontal = PX_16;
const PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object4.paddingVertical = PX_24;
object2.textContainer = object4;
object2.text = {textAlign: 'center'};
const object6 = {'height': 188, 'width': 335};
object6.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object2.imageShared = object6;
object2.imageWrapperAndroid = {overflow: 'hidden'};
const env0_12 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/gifting/native/views/promotions/GiftingPromotionCoachmark.tsx');
object3.paddingVertical = PX_24;
object.textContainer = object3;
object.text = {textAlign: 'center'};
const object5 = {'height': 188, 'width': 335};
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object.imageShared = object5;
object.imageWrapperAndroid = {overflow: 'hidden'};
const env0_12 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/premium/gifting/native/views/promotions/GiftingPromotionCoachmark.tsx');
exports.default = GiftingPromotionCoachmarkActionSheet;
}
function GiftingPromotionCoachmarkActionSheet({coachmarkComponent, markAsDismissed}) { // fn#116881, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15477:717, offset: 0x024998fe, size: 778 bytes, params: 2, frame: 32
var r8;
var r9;
var r0;
var BottomSheet;
var value6;
var moduleValue3;
var object;
var imageShared;
var APNGDecorationNativeComponent;
var items2;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
var text;
var items3;
var Button;
var intl;
const styles = useStyles();
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const value4 = (require(10390) /* metro dependency 10390: MarketingComponentHooks */).useThemeAndReducedMotionAwareAssetUrl(coachmarkComponent?.asset);
const defaultImport = importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */;
const GIFTING_PROMOTION_COACHMARK = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).GIFTING_PROMOTION_COACHMARK;
const analyticsLocations = defaultImport(GIFTING_PROMOTION_COACHMARK).analyticsLocations;
const binding = env0_3;
const useCallback = binding.useCallback;
if (coachmarkComponent == null) {
r0 = null;
} else {
BottomSheet = (require(6275) /* metro dependency 6275: BottomSheetNative */).BottomSheet;
var viewBindingProps = {style: styles.container};
value6 = value4 != null;
if (value6) {
moduleValue3 = require(477) /* metro dependency 477: PlatformUtils */;
if (moduleValue3.isAndroid()) {
if (useReducedMotion) {
r8 = ((Component) => <Component source={{uri: value4}} style={styles.imageShared} />)(importDefault(5475) /* metro dependency 5475: FastImage */);
} else {
object = {};
imageShared = styles.imageShared;
object.style = [imageShared, styles.imageWrapperAndroid];
APNGDecorationNativeComponent = importDefault(7601) /* metro dependency 7601: APNGDecorationNativeComponent */;
imageShared = styles.imageShared;
r8 = <View {...object}><APNGDecorationNativeComponent url={value4} style={imageShared} /></View>;
}
} else {
r8 = ((Component) => <Component source={{uri: value4}} style={styles.imageShared} />)(importDefault(5475) /* metro dependency 5475: FastImage */);
}
r9 = r8;
function GiftingPromotionCoachmarkActionSheet({coachmarkComponent, markAsDismissed}) { // fn#116881, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15477:717, offset: 0x024998fe, size: 778 bytes, params: 2, frame: 32
var r8;
var r9;
var r0;
var BottomSheet;
var value6;
var moduleValue3;
var object2;
var imageShared;
var APNGDecorationNativeComponent;
var items2;
const Text = (TextModule).Text;
var text;
var items3;
var Button;
var intl;
const styles = useStyles();
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const value4 = (require(10390) /* metro dependency 10390: MarketingComponentHooks */).useThemeAndReducedMotionAwareAssetUrl(coachmarkComponent?.asset);
const defaultImport = UseAnalyticsLocations;
const GIFTING_PROMOTION_COACHMARK = (AnalyticsLocation).GIFTING_PROMOTION_COACHMARK;
const analyticsLocations = defaultImport(GIFTING_PROMOTION_COACHMARK).analyticsLocations;
const useCallback = ReactModule.useCallback;
if (coachmarkComponent == null) {
r0 = null;
} else {
r9 = value6;
BottomSheet = (require(6275) /* metro dependency 6275: BottomSheetNative */).BottomSheet;
var viewBindingProps = {style: styles.container};
value6 = value4 != null;
if (value6) {
moduleValue3 = require(477) /* metro dependency 477: PlatformUtils */;
if (moduleValue3.isAndroid()) {
if (useReducedMotion) {
r8 = ((Component) => <Component source={{uri: value4}} style={styles.imageShared} />)(importDefault(5475) /* metro dependency 5475: FastImage */);
} else {
object2 = {};
imageShared = styles.imageShared;
object2.style = [imageShared, styles.imageWrapperAndroid];
APNGDecorationNativeComponent = importDefault(7601) /* metro dependency 7601: APNGDecorationNativeComponent */;
imageShared = styles.imageShared;
r8 = (
<View {...object2}>
<APNGDecorationNativeComponent url={value4} style={imageShared} />
</View>
);
}
} else {
r8 = ((Component) => <Component source={{uri: value4}} style={styles.imageShared} />)(importDefault(5475) /* metro dependency 5475: FastImage */);
}
r9 = r8;
} else {
r9 = value6;
}
items2 = [r9];
var viewBinding3Props = {style: styles.textContainer};
text = styles.text;
items3 = [
<Text
style={text}
variant="heading-xl/extrabold"
color="mobile-text-heading-primary"
>
{coachmarkComponent.header}
</Text>,
];
text = styles.text;
items3[1] = (
<Text
style={text}
variant="text-md/normal"
color="text-default"
>
{coachmarkComponent.body}
</Text>
);
items2[1] = (
<View {...viewBinding3Props}>
{items3}
</View>
);
Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
items2[2] = (
<Button
grow
text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.RzWDqY)}
onPress={Reflect.apply(useCallback, ReactModule, [_fun116883, [analyticsLocations, markAsDismissed]])}
/>
);
r0 = (
<BottomSheet
startExpanded
onDismiss={function() {
return markAsDismissed(ContentDismissActionType.USER_DISMISS);
}}
>
<View {...viewBindingProps}>
{items2}
</View>
</BottomSheet>
);
}
items2 = [r9];
var viewBinding3Props = {style: styles.textContainer};
text = styles.text;
items3 = [<Text style={text} variant="heading-xl/extrabold" color="mobile-text-heading-primary">{coachmarkComponent.header}</Text>];
text = styles.text;
items3[1] = <Text style={text} variant="text-md/normal" color="text-default">{coachmarkComponent.body}</Text>;
items2[1] = <View {...viewBinding3Props}>{items3}</View>;
Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
items2[2] = <Button grow text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.RzWDqY)} onPress={Reflect.apply(useCallback,
binding, [_fun116883, [analyticsLocations, markAsDismissed]])} />;
r0 = <BottomSheet startExpanded onDismiss={function() {
return markAsDismissed(ContentDismissActionType.USER_DISMISS);
}}><View {...viewBindingProps}>{items2}</View></BottomSheet>;
return r0;
function _fun116883() { // fn#116883, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15477:1031, offset: 0x02499c08, size: 149 bytes, params: 1, frame: 16
(ActionSheetActionCreators).hideActionSheet();
const markAsDismissedBinding = markAsDismissed;
const TAKE_ACTION = ContentDismissActionType.TAKE_ACTION;
markAsDismissedBinding(TAKE_ACTION);
const openGiftModal = OpenGiftModalModule.openGiftModal;
const PREMUIM_UPSELL_GIFTING_PROMOTION = AnalyticsPages.PREMUIM_UPSELL_GIFTING_PROMOTION;
const FOOTER = AnalyticsSections.FOOTER;
const BUTTON_CTA = AnalyticsObjects.BUTTON_CTA;
Reflect.apply(openGiftModal, OpenGiftModalModule, [{analyticsLocation: {page: PREMUIM_UPSELL_GIFTING_PROMOTION,
section: FOOTER, object: BUTTON_CTA}, analyticsLocations: analyticsLocations}]);
}
}
return r0;
}
function _fun116883() { // fn#116883, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15477:1031, offset: 0x02499c08, size: 149 bytes, params: 1, frame: 16
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet();
const markAsDismissedBinding = markAsDismissed;
const TAKE_ACTION = ContentDismissActionType.TAKE_ACTION;
markAsDismissedBinding(TAKE_ACTION);
const openGiftModalModule = require(10381) /* metro dependency 10381: openGiftModal */;
const openGiftModal = openGiftModalModule.openGiftModal;
const PREMUIM_UPSELL_GIFTING_PROMOTION = AnalyticsPages.PREMUIM_UPSELL_GIFTING_PROMOTION;
const FOOTER = AnalyticsSections.FOOTER;
const BUTTON_CTA = AnalyticsObjects.BUTTON_CTA;
Reflect.apply(openGiftModal, openGiftModalModule, [{analyticsLocation: {page: PREMUIM_UPSELL_GIFTING_PROMOTION,
section: FOOTER, object: BUTTON_CTA}, analyticsLocations: analyticsLocations}]);
}
global.__d(_fun116880, 15280, [31, 27, 4502, 661, 1376, 33, 4501, 697, 566, 10390, 6771, 6789, 4080, 10381, 6275,
477, 7601, 5475, 4573, 4578, 1244,
2]) /* metro module 15280, dependencies: [31, 27, 4502, 661, 1376, 33, 4501, 697, 566, 10390, 6771, 6789, 4080, 10381, 6275, 477, 7601, 5475, 4573, 4578, 1244, 2] */;
@@ -1,115 +1,146 @@
/* Metro module 10457; source: modules/premium/gifting/native/views/promotions/GiftingSKUCardsGrid.tsx; dependencies: [31, 27, 5126, 1902, 33, 4501, 697, 7594, 3874, 8461, 5278, 10050, 7596, 9294, 4573, 1244, 2] */
import * as FileImportTrackerModule from '../../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as IndexNativeModule from '../../../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as NameplateRecordModule from '../../../../../collectibles/records/NameplateRecord.tsx'; /* Metro dependency 1902 */
import * as UseA11yRolesNativeModule from '../../../../../../external/discord_common/js/packages/design/hooks/useA11yRolesNative.tsx'; /* Metro dependency 3874 */
import * as CreateStylesModule from '../../../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as TextModule from '../../../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as AvatarDecorationRecordModule from '../../../../../collectibles/records/AvatarDecorationRecord.tsx'; /* Metro dependency 5126 */
import * as PressablesModule from '../../../../../../design/void/Pressables/native/Pressables.tsx'; /* Metro dependency 5278 */
import * as UseCurrentUserModule from '../../../../../collectibles/hooks/useCurrentUser.tsx'; /* Metro dependency 7594 */
import * as UseFetchCollectiblesProductModule from '../../../../../collectibles/hooks/useFetchCollectiblesProduct.tsx'; /* Metro dependency 8461 */
function _fun80944(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#80944, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10643:6, offset: 0x01e90adb, size: 561 bytes, params: 8, frame: 24
var object3;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const value = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const env0_5 = (require(5126) /* metro dependency 5126: AvatarDecorationRecord */).isAvatarDecorationRecord;
const env0_6 = (require(1902) /* metro dependency 1902: NameplateRecord */).isNameplateRecord;
const value2 = require(33) /* metro dependency 33 */;
const env0_7 = value2.jsx;
const env0_8 = value2.jsxs;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
object3 = {};
const object4 = {'height': 178, 'width': 150, 'display': 'flex', 'flexDirection': 'column', 'alignItems': 'center',
const createStyles = CreateStylesModule.createStyles;
object = {};
const object2 = {'height': 178, 'width': 150, 'display': 'flex', 'flexDirection': 'column', 'alignItems': 'center',
'justifyContent': 'center', 'borderWidth': 1, 'borderRadius': null, 'overflow': 'hidden'};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
object4.borderColor = BORDER_SUBTLE;
object2.borderColor = BORDER_SUBTLE;
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object4.margin = PX_4;
object3.card = object4;
object3.overlayContainer = {'position': 'absolute', 'top': 10, 'zIndex': 2, 'display': 'flex',
object2.margin = PX_4;
object.card = object2;
object.overlayContainer = {'position': 'absolute', 'top': 10, 'zIndex': 2, 'display': 'flex',
'justifyContent': 'center', 'alignItems': 'center', 'width': '100%', 'height': '75%'};
const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND;
object3.selected = {borderColor: BACKGROUND_BRAND};
object3.claimed = {opacity: 0.4};
object3.checkmark = {'position': 'absolute', 'opacity': 1, 'fontWeight': 'bold'};
object3.checkmarkContainer = {'position': 'absolute', 'top': 10, 'zIndex': 3, 'display': 'flex',
object.selected = {borderColor: BACKGROUND_BRAND};
object.claimed = {opacity: 0.4};
object.checkmark = {'position': 'absolute', 'opacity': 1, 'fontWeight': 'bold'};
object.checkmarkContainer = {'position': 'absolute', 'top': 10, 'zIndex': 3, 'display': 'flex',
'justifyContent': 'center', 'alignItems': 'center', 'width': '100%', 'height': '75%'};
const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object3.textContainer = {'position': 'absolute', 'bottom': 20, 'left': 0, 'right': 0, 'paddingHorizontal': null,
object.textContainer = {'position': 'absolute', 'bottom': 20, 'left': 0, 'right': 0, 'paddingHorizontal': null,
'alignItems': 'flex-start', paddingHorizontal: PX_16};
const env0_9 = Reflect.apply(createStyles, createStylesModule, [object3]);
const env0_10 = value.memo(_fun80945);
const env0_11 = createStylesModule.createStyles({grid: {'flexDirection': 'row', 'flexWrap': 'wrap',
const env0_9 = Reflect.apply(createStyles, CreateStylesModule, [object]);
const env0_10 = ReactModule.memo(_fun80945);
const env0_11 = CreateStylesModule.createStyles({grid: {'flexDirection': 'row', 'flexWrap': 'wrap',
'justifyContent': 'center'}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/gifting/native/views/promotions/GiftingSKUCardsGrid.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/premium/gifting/native/views/promotions/GiftingSKUCardsGrid.tsx');
exports.default = GiftingSKUCardsGrid;
}
function _fun80945({rewardSkuId, claimed, onSelect, isSelected}) { // fn#80945, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10643:1027, offset: 0x01e90d0c, size: 823 bytes, params: 2, frame: 29
const styles = useStyles();
const value3 = (require(7594) /* metro dependency 7594: useCurrentUser */).useCurrentUser();
const env0_3 = value3;
const {accessibilityRole,
accessibilityState} = (require(3874) /* metro dependency 3874: useA11yRolesNative */).useRadioA11yNative({selected: isSelected});
const useFetchCollectiblesProductModule = require(8461) /* metro dependency 8461: useFetchCollectiblesProduct */;
const useFetchCollectiblesProduct = useFetchCollectiblesProductModule.useFetchCollectiblesProduct;
const product = Reflect.apply(useFetchCollectiblesProduct, useFetchCollectiblesProductModule, [rewardSkuId]).product;
const value5 = env0_3.useMemo(_fun80946, [isSelected, value3]);
if (product == null) {
return null;
}
const property = product.items[0];
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const items2 = [styles.card];
items2[1] = isSelected && styles.selected;
const view = <View style={[styles.overlayContainer,
claimed && styles.claimed]}>{isNameplateRecord(property) ? ((Component) => <Component item={property} animate={isSelected} />)(importDefault(10050) /* metro dependency 10050: NameplateCardPreview */) : isAvatarDecorationRecord(property) ? ((Component) => <Component item={property} size={100} animate={isSelected} avatarSource={value5} />)(importDefault(7596) /* metro dependency 7596: AvatarDecorationSampleV2 */) : undefined}</View>;
const r6 = claimed && <View style={styles.checkmarkContainer}>{((CheckmarkLargeBoldIcon) => <CheckmarkLargeBoldIcon size="lg" style={styles.checkmark} />)((require(9294) /* metro dependency 9294: CheckmarkLargeBoldIcon */).CheckmarkLargeBoldIcon)}</View>;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const text = <Text variant="heading-sm/bold" color="mobile-text-heading-primary" lineClamp={1} accessibilityRole="header">{product.name}</Text>;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
return (
<PressableOpacity
style={items2}
onPress={function() {
return onSelect(rewardSkuId);
}}
activeOpacity={0.8}
disabled={claimed}
accessibilityRole={accessibilityRole}
accessibilityState={accessibilityState}
>
{view}
{r6}
<View style={styles.textContainer}>
{text}
<Text
variant="text-xs/semibold"
color="mobile-text-heading-primary"
lineClamp={1}
>
{claimed ? Reflect.apply(string, intl, [t['6cfuDj']]) : Reflect.apply(string, intl, [t.QQsaCc])}
</Text>
function _fun80945({rewardSkuId, claimed, onSelect, isSelected}) { // fn#80945, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10643:1027, offset: 0x01e90d0c, size: 823 bytes, params: 2, frame: 29
const styles = useStyles();
const value3 = (UseCurrentUserModule).useCurrentUser();
const env0_3 = value3;
const {accessibilityRole,
accessibilityState} = (UseA11yRolesNativeModule).useRadioA11yNative({selected: isSelected});
const useFetchCollectiblesProduct = UseFetchCollectiblesProductModule.useFetchCollectiblesProduct;
const product = Reflect.apply(useFetchCollectiblesProduct, UseFetchCollectiblesProductModule, [rewardSkuId]).product;
const value5 = env0_3.useMemo(_fun80946, [isSelected, value3]);
if (product == null) {
return null;
}
const property = product.items[0];
const PressableOpacity = (PressablesModule).PressableOpacity;
const items2 = [styles.card];
items2[1] = isSelected && styles.selected;
const view = (
<View style={[styles.overlayContainer, claimed && styles.claimed]}>
{
isNameplateRecord(property)
? ((Component) => <Component item={property} animate={isSelected} />)(importDefault(10050) /* metro dependency 10050: NameplateCardPreview */)
: (
isAvatarDecorationRecord(property)
? ((Component) => <Component item={property} size={100} animate={isSelected} avatarSource={value5} />)(importDefault(7596) /* metro dependency 7596: AvatarDecorationSampleV2 */)
: undefined
)
}
</View>
</PressableOpacity>
);
}
);
const r6 = claimed && <View style={styles.checkmarkContainer}>{((CheckmarkLargeBoldIcon) => <CheckmarkLargeBoldIcon size="lg" style={styles.checkmark} />)((require(9294) /* metro dependency 9294: CheckmarkLargeBoldIcon */).CheckmarkLargeBoldIcon)}</View>;
const Text = (TextModule).Text;
const text = (
<Text
variant="heading-sm/bold"
color="mobile-text-heading-primary"
lineClamp={1}
accessibilityRole="header"
>
{product.name}
</Text>
);
const intl = (IndexNativeModule).intl;
const string = intl.string;
const t = (IndexNativeModule).t;
return (
<PressableOpacity
style={items2}
onPress={function() {
return onSelect(rewardSkuId);
}}
activeOpacity={0.8}
disabled={claimed}
accessibilityRole={accessibilityRole}
accessibilityState={accessibilityState}
>
{view}
{r6}
<View style={styles.textContainer}>
{text}
<Text
variant="text-xs/semibold"
color="mobile-text-heading-primary"
lineClamp={1}
>
{claimed ? Reflect.apply(string, intl, [t['6cfuDj']]) : Reflect.apply(string, intl, [t.QQsaCc])}
</Text>
</View>
</PressableOpacity>
);
function _fun80946() { // fn#80946, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10643:1274, offset: 0x01e91043, size: 38 bytes, params: 1, frame: 16
return isSelected ? env0_3.getAvatarSource(null, true, 100) : undefined;
}
function GiftingSKUCardsGrid({rewardsToDisplay, claimableRewards, onSelect, highlightedSkuId}) { // fn#80948, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10643:2376, offset: 0x01e91069, size: 103 bytes, params: 2, frame: 16
const styles = useStyles();
return (
<View style={styles.grid}>
{rewardsToDisplay.map(_fun80949)}
</View>
);
}
}
function _fun80946() { // fn#80946, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10643:1274, offset: 0x01e91043, size: 38 bytes, params: 1, frame: 16
return isSelected ? env0_3.getAvatarSource(null, true, 100) : undefined;
}
function GiftingSKUCardsGrid({rewardsToDisplay, claimableRewards, onSelect, highlightedSkuId}) { // fn#80948, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10643:2376, offset: 0x01e91069, size: 103 bytes, params: 2, frame: 16
const styles = useStyles();
return (
<View style={styles.grid}>
{rewardsToDisplay.map(_fun80949)}
</View>
);
function _fun80949(a0) { // fn#80949, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10643:2527, offset: 0x01e910d0, size: 93 bytes, params: 2, frame: 18
const env0_0 = a0;
const binding = env1_10;
const claimableRewardsBinding = claimableRewards;
return ((Component) => <Component rewardSkuId={a0} claimed={!claimableRewardsBinding.some(_fun80950)} isSelected={highlightedSkuId === a0} onSelect={onSelect} key={a0} />)(binding);
function _fun80950(a0) { // fn#80950, offset: 0x00fcba1c, size: 16 bytes, params: 2, frame: 2
return a0 === env0_0;
}
}
}
function _fun80949(a0) { // fn#80949, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10643:2527, offset: 0x01e910d0, size: 93 bytes, params: 2, frame: 18
const env0_0 = a0;
const binding = env1_10;
const claimableRewardsBinding = claimableRewards;
return ((Component) => <Component rewardSkuId={a0} claimed={!claimableRewardsBinding.some(_fun80950)} isSelected={highlightedSkuId === a0} onSelect={onSelect} key={a0} />)(binding);
}
global.__d(_fun80944, 10457, [31, 27, 5126, 1902, 33, 4501, 697, 7594, 3874, 8461, 5278, 10050, 7596, 9294, 4573,
1244,
2]) /* metro module 10457, dependencies: [31, 27, 5126, 1902, 33, 4501, 697, 7594, 3874, 8461, 5278, 10050, 7596, 9294, 4573, 1244, 2] */;
@@ -1,12 +1,18 @@
/* Metro module 10456; source: modules/premium/gifting/native/views/promotions/GiftingSKUSelectScreen.tsx; dependencies: [57, 31, 27, 33, 4501, 697, 1585, 4573, 1244, 10457, 4578, 2] */
import Module00057 from '../../../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import UseSafeAreaInsetsNative from '../../../../../safe_area/useSafeAreaInsets.native.tsx'; /* Metro dependency 1585 */
import GiftingSKUCardsGrid from './GiftingSKUCardsGrid.tsx'; /* Metro dependency 10457 */
import * as FileImportTrackerModule from '../../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as TextModule from '../../../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as ButtonNativeModule from '../../../../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */
function _fun80934(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#80934, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10642:6, offset: 0x01e904d6, size: 451 bytes, params: 8, frame: 23
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
let value = ReactNativeModule;
const env0_5 = value.View;
const env0_6 = value.ScrollView;
value = require(33) /* metro dependency 33 */;
@@ -14,109 +20,155 @@ function _fun80934(global, require, importDefault, importAll, module, exports, d
const env0_8 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
object = {};
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
object2.container = {flex: 1, backgroundColor: BACKGROUND_BASE_LOW};
object2.scroll = {flex: 1};
object.container = {flex: 1, backgroundColor: BACKGROUND_BASE_LOW};
object.scroll = {flex: 1};
let PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object2.contentContainer = {'display': 'flex', 'flexDirection': 'column', padding: PX_24};
object.contentContainer = {'display': 'flex', 'flexDirection': 'column', padding: PX_24};
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object2.header = {textAlign: 'center', padding: PX_8};
object2.subtitle = {textAlign: 'center'};
const object3 = {};
object.header = {textAlign: 'center', padding: PX_8};
object.subtitle = {textAlign: 'center'};
const object4 = {};
const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object3.marginHorizontal = PX_16;
object4.marginHorizontal = PX_16;
PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object3.marginBottom = PX_24;
object2.buttonContainer = object3;
object4.marginBottom = PX_24;
object.buttonContainer = object4;
PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object2.headerContainer = {marginBottom: PX_24};
const env0_9 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/gifting/native/views/promotions/GiftingSKUSelectScreen.tsx');
object.headerContainer = {marginBottom: PX_24};
const env0_9 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/premium/gifting/native/views/promotions/GiftingSKUSelectScreen.tsx');
exports.default = GiftingSKUSelectScreen;
}
function GiftingSKUSelectScreen({defaultHighlightedReward, allRewards, claimableRewards, onSelect}) { // fn#80935, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10642:717, offset: 0x01e90699, size: 804 bytes, params: 2, frame: 35
const styles = useStyles();
const bottom = (UseSafeAreaInsetsNative)().bottom;
const binding = env0_4;
let useState = binding.useState;
let value2 = Reflect.apply(useState, binding, [defaultHighlightedReward]);
const value3 = Module00057(value2, 2);
const property = value3[0];
var env0_4 = value3[1];
useState = binding.useState;
const value4 = Module00057(Reflect.apply(useState, binding, [false]), 2);
const property2 = value4[0];
const env0_6 = value4[1];
const value5 = binding.useCallback(function() {
var value2 = claimableRewards.find(_fun80937);
if (value2 != null) {
onSelect(value2);
}
}, [onSelect, property, claimableRewards]);
const value6 = binding.useCallback(_fun80938, []);
const value7 = binding.useMemo(_fun80939, [property, claimableRewards]);
binding.useEffect(_fun80941, [property, claimableRewards, property2, defaultHighlightedReward, value7]);
const Text = (TextModule).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let value = (
<Text
style={styles.header}
variant="heading-xl/extrabold"
color="mobile-text-heading-primary"
accessibilityRole="header"
>
{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['+ByEeM'])}
</Text>
);
value = (
<View style={styles.headerContainer}>
{value}
<Text
style={styles.subtitle}
variant="text-md/medium"
color="text-default"
>
{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.vPeaOS)}
</Text>
</View>
);
const items3 = [
<ScrollView style={styles.scroll} contentContainerStyle={styles.contentContainer}>
{value}
{((Component) => <Component rewardsToDisplay={allRewards} claimableRewards={claimableRewards} onSelect={value6} highlightedSkuId={property} />)(GiftingSKUCardsGrid)}
</ScrollView>,
];
const items4 = [styles.buttonContainer];
items4[1] = {paddingBottom: bottom};
const Button = (ButtonNativeModule).Button;
items3[1] = (
<View style={items4}>
<Button
text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['3d0Nmb'])}
onPress={value5}
disabled={property == null || !value7}
/>
</View>
);
return (
<View style={styles.container}>
{items3}
</View>
);
function _fun80936() { // fn#80936, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10642:947, offset: 0x01e909bd, size: 48 bytes, params: 1, frame: 12
const value2 = claimableRewards.find(_fun80937);
if (value2 != null) {
onSelect(value2);
}
function _fun80937(a0) { // fn#80937, offset: 0x01e909ed, size: 16 bytes, params: 2, frame: 2
return a0 === env1_3;
}
function GiftingSKUSelectScreen({defaultHighlightedReward, allRewards, claimableRewards, onSelect}) { // fn#80935, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10642:717, offset: 0x01e90699, size: 804 bytes, params: 2, frame: 35
const styles = useStyles();
const bottom = (importDefault(1585) /* metro dependency 1585: useSafeAreaInsetsNative */)().bottom;
const binding = env0_4;
let useState = binding.useState;
let value2 = Reflect.apply(useState, binding, [defaultHighlightedReward]);
const binding2 = env0_3;
const value3 = binding2(value2, 2);
const property = value3[0];
var env0_4 = value3[1];
useState = binding.useState;
const value4 = binding2(Reflect.apply(useState, binding, [false]), 2);
const property2 = value4[0];
const env0_6 = value4[1];
const value5 = binding.useCallback(function() {
var value2 = claimableRewards.find(_fun80937);
if (value2 != null) {
onSelect(value2);
}
}, [onSelect, property, claimableRewards]);
const value6 = binding.useCallback(_fun80938, []);
const value7 = binding.useMemo(_fun80939, [property, claimableRewards]);
binding.useEffect(_fun80941, [property, claimableRewards, property2, defaultHighlightedReward, value7]);
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let value = <Text style={styles.header} variant="heading-xl/extrabold" color="mobile-text-heading-primary" accessibilityRole="header">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['+ByEeM'])}</Text>;
value = <View style={styles.headerContainer}>{value}<Text style={styles.subtitle} variant="text-md/medium" color="text-default">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.vPeaOS)}</Text></View>;
const items3 = [<ScrollView style={styles.scroll} contentContainerStyle={styles.contentContainer}>{value}{((Component) => <Component rewardsToDisplay={allRewards} claimableRewards={claimableRewards} onSelect={value6} highlightedSkuId={property} />)(importDefault(10457) /* metro dependency 10457: GiftingSKUCardsGrid */)}</ScrollView>];
const items4 = [styles.buttonContainer];
items4[1] = {paddingBottom: bottom};
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
items3[1] = <View style={items4}><Button text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['3d0Nmb'])} onPress={value5} disabled={property == null || !value7} /></View>;
return (
<View style={styles.container}>
{items3}
</View>
);
}
function _fun80936() { // fn#80936, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10642:947, offset: 0x01e909bd, size: 48 bytes, params: 1, frame: 12
const value2 = claimableRewards.find(_fun80937);
if (value2 != null) {
onSelect(value2);
}
}
function _fun80938(a0) { // fn#80938, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10642:1019, offset: 0x01e909fd, size: 30 bytes, params: 2, frame: 12
env0_4(a0);
env0_6(true);
}
function _fun80938(a0) { // fn#80938, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10642:1019, offset: 0x01e909fd, size: 30 bytes, params: 2, frame: 12
env0_4(a0);
env0_6(true);
}
function _fun80939() { // fn#80939, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10642:1053, offset: 0x01e90a1b, size: 42 bytes, params: 1, frame: 12
return Module00057 != null && claimableRewards.some(_fun80940);
function _fun80940(a0) { // fn#80940, offset: 0x01e909ed, size: 16 bytes, params: 2, frame: 2
return a0 === env1_3;
}
function _fun80939() { // fn#80939, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10642:1053, offset: 0x01e90a1b, size: 42 bytes, params: 1, frame: 12
return env0_3 != null && claimableRewards.some(_fun80940);
}
}
function _fun80941() { // fn#80941, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10642:1113, offset: 0x01e90a45, size: 134 bytes, params: 1, frame: 13
var r4;
var binding;
if (claimableRewards.length === 0) {
env0_4(undefined);
} else if (env0_7) {
claimableRewardsBinding = claimableRewards;
if (!claimableRewardsBinding.some(_fun80942)) {
binding = env0_5;
r4 = !binding && defaultHighlightedReward != null;
r4 = r4 && claimableRewards.some(function(a0) {
function _fun80941() { // fn#80941, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10642:1113, offset: 0x01e90a45, size: 134 bytes, params: 1, frame: 13
var r4;
var binding;
if (claimableRewards.length === 0) {
env0_4(undefined);
} else if (env0_7) {
claimableRewardsBinding = claimableRewards;
if (!claimableRewardsBinding.some(_fun80942)) {
binding = env0_5;
r4 = !binding && defaultHighlightedReward != null;
r4 = r4 && claimableRewards.some(function(a0) {
return a0 === defaultHighlightedReward;
});
binding = env0_4;
binding(r4 ? defaultHighlightedReward : undefined);
}
} else {
binding = env0_5;
r4 = !binding && defaultHighlightedReward != null;
r4 = r4 && claimableRewards.some(_fun80943);
binding = env0_4;
binding(r4 ? defaultHighlightedReward : undefined);
}
function _fun80942(a0) { // fn#80942, offset: 0x01e909ed, size: 16 bytes, params: 2, frame: 2
return a0 === env1_3;
}
function _fun80943(a0) { // fn#80943, offset: 0x01e90acb, size: 16 bytes, params: 2, frame: 2
return a0 === defaultHighlightedReward;
});
binding = env0_4;
binding(r4 ? defaultHighlightedReward : undefined);
}
}
} else {
binding = env0_5;
r4 = !binding && defaultHighlightedReward != null;
r4 = r4 && claimableRewards.some(_fun80943);
binding = env0_4;
binding(r4 ? defaultHighlightedReward : undefined);
}
}
function _fun80937(a0) { // fn#80937, offset: 0x01e909ed, size: 16 bytes, params: 2, frame: 2
return a0 === env1_3;
}
global.__d(_fun80934, 10456, [57, 31, 27, 33, 4501, 697, 1585, 4573, 1244, 10457, 4578,
2]) /* metro module 10456, dependencies: [57, 31, 27, 33, 4501, 697, 1585, 4573, 1244, 10457, 4578, 2] */;