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,193 @@
/* Metro module 12020; source: modules/contact_sync/native/components/AddPhoneScreens.tsx; dependencies: [5, 57, 31, 27, 1878, 11994, 33, 4501, 5314, 697, 1484, 4573, 1244, 9015, 9016, 11993, 632, 5459, 44, 9024, 9010, 2] */
function _fun92320(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92320, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:6, offset: 0x02084a62, size: 437 bytes, params: 8, frame: 24
var object2;
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 = importDefault(57) /* metro dependency 57 */;
const env0_5 = importAll(31) /* metro dependency 31 */;
const env0_6 = (require(27) /* metro dependency 27 */).View;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const env0_8 = (require(11994) /* metro dependency 11994: ContactSyncModalStore */).useContactSyncModalStore;
let value = require(33) /* metro dependency 33 */;
const env0_9 = value.jsx;
const env0_10 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
const NAV_BAR_HEIGHT = (require(5314) /* metro dependency 5314: NavigatorConstantsNative */).NAV_BAR_HEIGHT;
object2.container = {paddingTop: NAV_BAR_HEIGHT + 32};
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
object2.redesignContainer = {flex: 1, backgroundColor: BACKGROUND_BASE_LOW, paddingTop: NAV_BAR_HEIGHT + 32};
object2.header = {alignItems: 'center'};
object2.title = {textAlign: 'center'};
object2.subtitle = {'marginTop': 8, 'lineHeight': 18, 'textAlign': 'center'};
const env0_11 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/AddPhoneScreens.tsx');
exports.AddPhoneScreen = AddPhoneScreen;
exports.VerifyPhoneScreen = VerifyPhoneScreen;
exports.VerifyPasswordScreen = VerifyPasswordScreen;
}
function AddPhoneScreen() { // fn#92321, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:625, offset: 0x02084c17, size: 371 bytes, params: 1, frame: 26
const env0_0 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation();
const styles = useStyles();
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const Xgb497 = (require(1244) /* metro dependency 1244: indexNative */).t.Xgb497;
const view = <View style={styles.header}><Text style={styles.title} accessibilityRole="header" variant="heading-xl/extrabold" color="mobile-text-heading-primary">{Reflect.apply(string,
intl,
[Xgb497])}</Text><Text style={styles.subtitle} variant="text-sm/medium" color="text-default">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.qFmzyo)}</Text></View>;
const AddPhone = importDefault(9015) /* metro dependency 9015: AddPhone */;
const ChangePhoneReason = (require(9016) /* metro dependency 9016: PhoneActionCreators */).ChangePhoneReason;
const CONTACT_SYNC = ChangePhoneReason.CONTACT_SYNC;
return (
<AddPhone
style={styles.container}
reason={CONTACT_SYNC}
header={view}
onComplete={onComplete}
/>
);
}
function VerifyPhoneScreen() { // fn#92323, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:1186, offset: 0x02084dbb, size: 336 bytes, params: 1, frame: 23
const styles = useStyles();
const 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];
useState = binding.useState;
const value4 = binding2(Reflect.apply(useState, binding, []), 2);
const property2 = value4[0];
const env0_1 = value4[1];
const phone = useContactSyncModalStore().phone;
binding.useEffect(_fun92325, [(require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation(),
phone, (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([UserStore],
_fun92324)]);
const value7 = _fun92329();
(importDefault(44) /* metro dependency 44 */)(phone != null,
"Phone shouldn't be null when trying to verify the code");
return ((Component) => <Component phone={phone} loading={property} error={property2} backgroundStyle={styles.redesignContainer} disableKeyboardAvoidingView onCodeEnteredIntercept={value7} onVerified={onVerified} />)(importDefault(9024) /* metro dependency 9024: VerifyPhone */);
}
function VerifyPasswordScreen() { // fn#92334, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:2149, offset: 0x020850d4, size: 307 bytes, params: 1, frame: 22
const binding = env0_5;
const [property, env0_0] = env0_4(binding.useState(false), 2);
const value4 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation();
const styles = useStyles();
const phoneToken = useContactSyncModalStore().phoneToken;
binding.useEffect(_fun92336, [value4,
(require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([UserStore], _fun92335)]);
(importDefault(44) /* metro dependency 44 */)(phoneToken != null,
"Phone token shouldn't be null when trying to verify the password");
return ((Component) => <Component hideUnverifiedBanner parentLoading={property} style={styles.redesignContainer} onSubmit={onSubmit} onError={onError} onSuccess={function() {
}} />)(importDefault(9010) /* metro dependency 9010: UserSettingsConfirmPassword */);
}
function AddPhoneScreenOnComplete(a0) { // fn#92322, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:1134, owner: AddPhoneScreen.onComplete, offset: 0x02084d8a, size: 49 bytes, params: 2, frame: 13
const value = environment.__proto__;
return (require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */).submitPhone(a0, env0_0);
}
function _fun92324() { // fn#92324, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:1377, offset: 0x02084f0b, size: 35 bytes, params: 1, frame: 10
const value = environment.__proto__;
return UserStore.getCurrentUser()?.phone;
}
function _fun92325() { // fn#92325, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:1455, offset: 0x02084f2e, size: 90 bytes, params: 1, frame: 14
var environment;
var value2;
var moduleValue;
if (env0_3 != null) {
value2 = environment.__proto__;
moduleValue = require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */;
moduleValue.handlePhoneVerificationComplete(env0_3, env0_2).then(_fun92326);
}
return _fun92328;
}
function _fun92329() { // fn#92329, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:1645, offset: 0x02084feb, size: 36 bytes, params: 1, frame: 12
const env0_0 = env1_3(_fun92331);
return _fun92332;
}
function onVerified(a0) { // fn#92333, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:2080, owner: VerifyPhoneScreen.onVerified, offset: 0x020850a3, size: 49 bytes, params: 2, frame: 14
const value = environment.__proto__;
(require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */).verifyPhoneWithPassword(a0, env0_2);
}
function _fun92336() { // fn#92336, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:2395, offset: 0x02085207, size: 90 bytes, params: 1, frame: 14
var environment;
var value2;
var moduleValue;
if (env0_3 != null) {
value2 = environment.__proto__;
moduleValue = require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */;
moduleValue.handlePhoneVerificationComplete(env0_3, env0_1).then(_fun92337);
}
return _fun92339;
}
function VerifyPasswordScreenOnSubmit(a0) { // fn#92340, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:2749, owner: VerifyPasswordScreen.onSubmit, offset: 0x02085297, size: 86 bytes, params: 2, frame: 17
env0_0(true);
const defaultImport = importDefault(9016) /* metro dependency 9016: PhoneActionCreators */;
const addPhone = defaultImport.addPhone;
const phoneTokenBinding = phoneToken;
const ChangePhoneReason = (require(9016) /* metro dependency 9016: PhoneActionCreators */).ChangePhoneReason;
const CONTACT_SYNC = ChangePhoneReason.CONTACT_SYNC;
return Reflect.apply(addPhone, defaultImport, [phoneTokenBinding, a0, CONTACT_SYNC]);
}
function _fun92326() { // fn#92326, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:1539, offset: 0x02084f88, size: 54 bytes, params: 1, frame: 12
var environment;
let value = environment.__proto__.__proto__;
value = require(5459) /* metro dependency 5459: RunAfterInteractionsUtils */;
value = value.runAfterInteractions(_fun92327);
}
function _fun92328() { // fn#92328, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:1592, offset: 0x02084fd0, size: 27 bytes, params: 1, frame: 9
const binding = env0_0;
if (binding != null) {
binding.cancel();
}
}
function* _fun92331(a0) { // fn#92331, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:1665, offset: 0x0208501a, size: 137 bytes, params: 2, frame: 16
if (false) {
return undefined;
}
value = environment.__proto__.__proto__;
require(true);
importDefault(undefined);
const value4 = env3_0(env3_2[15]);
yield value4.verifyPhone(a0);
const value5 = undefined;
if (false) {
return value5;
}
const codeIntercepted = value5.codeIntercepted;
const addedPhone = value5.addedPhone;
importDefault(value5.error);
if (!(addedPhone && codeIntercepted)) {
require(false);
}
return codeIntercepted;
}
function _fun92337() { // fn#92337, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:2479, offset: 0x02085261, size: 54 bytes, params: 1, frame: 12
var environment;
let value = environment.__proto__.__proto__;
value = require(5459) /* metro dependency 5459: RunAfterInteractionsUtils */;
value = value.runAfterInteractions(_fun92338);
}
function _fun92327() { // fn#92327, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12206:1577, offset: 0x02084fbe, size: 18 bytes, params: 1, frame: 11
return env2_0(false);
}
@@ -0,0 +1,27 @@
/* Metro module 12019; source: modules/contact_sync/native/components/ContactSyncBackToLanding.tsx; dependencies: [1484, 5282, 11993, 2] */
function _fun92317(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92317, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12205:6, offset: 0x0208495c, size: 96 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/ContactSyncBackToLanding.tsx');
exports.default = ContactSyncBackToLanding;
}
function ContactSyncBackToLanding(a0) { // fn#92318, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12205:203, offset: 0x020849bc, size: 87 bytes, params: 2, frame: 16
const env0_0 = a0;
const env0_1 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation();
const value = require(5282) /* metro dependency 5282: NavigatorHeaderNative */;
const getHeaderBackButton = value.getHeaderBackButton;
return Reflect.apply(getHeaderBackButton, value, [_fun92319, true])(a0);
}
function _fun92319() { // fn#92319, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12205:306, offset: 0x02084a13, size: 79 bytes, params: 1, frame: 12
var value2;
if (env0_0.navigateToLandingPage != null) {
env0_0.navigateToLandingPage();
} else {
value2 = environment.__proto__;
(require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */).goBackToLanding(env0_1);
}
}
@@ -0,0 +1,50 @@
/* Metro module 12011; source: modules/contact_sync/native/components/ContactSyncError.tsx; dependencies: [31, 33, 4501, 4017, 4504, 4573, 2] */
function _fun92283(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92283, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12197:6, offset: 0x02082b30, size: 214 bytes, params: 8, frame: 20
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(33) /* metro dependency 33 */).jsx;
const env0_4 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({container: {justifyContent: 'center'},
error: {'paddingHorizontal': 16, 'textAlign': 'center'}});
object = {code: 'function ContactSyncErrorTsx1(){const{withTiming,hasError,ERROR_HEIGHT}=this.__closure;return{height:withTiming(hasError?ERROR_HEIGHT:0)};}'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/ContactSyncError.tsx');
exports.default = ContactSyncError;
}
function ContactSyncError({style, error}) { // fn#92284, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12197:482, offset: 0x02082c06, size: 272 bytes, params: 2, frame: 23
const styles = useStyles();
const r12 = error != null && error !== '';
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = ContactSyncErrorL;
const object2 = {};
object2.withTiming = (require(4504) /* metro dependency 4504: timing */).withTiming;
object2.hasError = r12;
object2.ERROR_HEIGHT = 44;
closure.__closure = object2;
closure.__workletHash = 14558247431913;
closure.__initData = env0_5;
const value4 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const View = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const items2 = [styles.container, style, value4];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<View style={items2}>
<Text
variant="text-sm/medium"
color="text-feedback-critical"
style={styles.error}
>
{error}
</Text>
</View>
);
}
function ContactSyncErrorL() { // fn#92285, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12197:588, owner: ContactSyncError.l, offset: 0x02082d16, size: 58 bytes, params: 1, frame: 13
let value = environment.__proto__;
value = require(4504) /* metro dependency 4504: timing */;
return {height: value.withTiming(env0_0 ? 44 : 0)};
}
@@ -0,0 +1,89 @@
/* Metro module 12017; source: modules/contact_sync/native/components/ContactSyncInviteFriends.tsx; dependencies: [31, 27, 1878, 661, 33, 4501, 697, 566, 5475, 12018, 4573, 1244, 4578, 683, 3995, 9212, 2] */
function _fun92312(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92312, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12203:6, offset: 0x0208448a, size: 403 bytes, params: 8, frame: 23
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 userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
let value = require(661) /* metro dependency 661: Constants */;
const env0_5 = value.AnalyticEvents;
const env0_6 = value.AnalyticsSections;
value = require(33) /* metro dependency 33 */;
const env0_7 = value.jsx;
const env0_8 = value.jsxs;
const env0_9 = value.Fragment;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
const object = {};
const PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object.marginTop = PX_24;
const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object.marginHorizontal = PX_16;
const PX_32 = (importDefault(697) /* metro dependency 697: native */).space.PX_32;
object.paddingBottom = PX_32;
const env0_10 = Reflect.apply(createStyles, value, [{container: {'flex': 1, 'alignItems': 'center',
'justifyContent': 'center', 'paddingHorizontal': 16}, art: {marginBottom: 16}, title: {'marginBottom': 8,
'textAlign': 'center'}, subtitle: {'lineHeight': 18, 'textAlign': 'center'}, button: object}]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/ContactSyncInviteFriends.tsx');
exports.default = _default_92313;
}
function _default_92313() { // fn#92313, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12203:557, offset: 0x0208461d, size: 513 bytes, params: 1, frame: 28
const styles = useStyles();
const env0_0 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
const jsxRuntimeEnv0_9Binding = jsxRuntimeEnv0_9;
let value = importDefault(5475) /* metro dependency 5475: FastImage */;
value = ((Component) => <Component style={styles.art} source={importDefault(12018) /* metro dependency 12018 */} />)(value);
const items2 = [value];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const ZxBpLf = (require(1244) /* metro dependency 1244: indexNative */).t.ZxBpLf;
items2[1] = <Text style={styles.title} accessibilityRole="header" variant="heading-xl/extrabold" color="mobile-text-heading-primary">{Reflect.apply(string,
intl, [ZxBpLf])}</Text>;
items2[2] = <Text style={styles.subtitle} variant="text-sm/medium" color="text-default">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['fXtCJ+'])}</Text>;
value = <View style={styles.container}>{items2}</View>;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
return (
<>
{value}
<View style={styles.button}>
<Button
variant="primary"
size="lg"
text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['6Qgrev'])}
onPress={onPress_92315}
/>
</View>
</>
);
}
function _default_92313OnPress() { // fn#92315, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12203:1171, owner: _default_92313.onPress, offset: 0x0208481e, size: 248 bytes, params: 1, frame: 20
var r6;
var defaultImport2;
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const FRIEND_ADD_VIEWED = AnalyticEvents.FRIEND_ADD_VIEWED;
let CONTACT_SYNC_MODAL = AnalyticsSections.CONTACT_SYNC_MODAL;
Reflect.apply(track, defaultImport, [FRIEND_ADD_VIEWED, {friend_add_type: 'Invite',
source_page: CONTACT_SYNC_MODAL}]);
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString = intl.formatToPlainString;
const property = (require(1244) /* metro dependency 1244: indexNative */).t['6E9a1J'];
if (currentUser != null) {
defaultImport2 = importDefault(3995) /* metro dependency 3995: UserUtils */;
r6 = defaultImport2.getUserTag(currentUser);
} else {
r6 = '';
}
const value5 = Reflect.apply(formatToPlainString, intl, [property, {url: 'https://discord.com/', username: r6}]);
const showShareActionSheetAndroidModule = require(9212) /* metro dependency 9212: showShareActionSheetAndroid */;
const showShareActionSheet = showShareActionSheetAndroidModule.showShareActionSheet;
CONTACT_SYNC_MODAL = AnalyticsSections.CONTACT_SYNC_MODAL;
Reflect.apply(showShareActionSheet, showShareActionSheetAndroidModule, [{message: value5}, CONTACT_SYNC_MODAL]);
}
@@ -0,0 +1,42 @@
/* Metro module 12006; source: modules/contact_sync/native/components/ContactSyncLandingImage.tsx; dependencies: [31, 27, 33, 4501, 12007, 12008, 2] */
function _fun92274(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92274, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12192:6, offset: 0x0208239e, size: 288 bytes, params: 8, frame: 19
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
const env0_2 = value.Image;
const env0_3 = value.View;
value = require(33) /* metro dependency 33 */;
const env0_4 = value.jsx;
const env0_5 = value.Fragment;
const env0_6 = value.jsxs;
const env0_7 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({leftContainer: {'zIndex': 2,
'height': 106, 'width': 102, 'position': 'absolute'}, landingImageLeft: {'left': 58, 'top': -92},
rightContainer: {'position': 'absolute', 'height': 113, 'width': 103}, landingImageRight: {'left': 134,
'top': -99}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/ContactSyncLandingImage.tsx');
exports.default = ContactSyncLandingImage;
}
function ContactSyncLandingImage() { // fn#92275, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12192:505, offset: 0x020824be, size: 191 bytes, params: 1, frame: 23
const styles = useStyles();
return (
<>
<View style={styles.leftContainer}>
<Image
resizeMode="contain"
style={styles.landingImageLeft}
source={importDefault(12007) /* metro dependency 12007 */}
/>
</View>
<View style={styles.rightContainer}>
<Image
resizeMode="contain"
style={styles.landingImageRight}
source={importDefault(12008) /* metro dependency 12008 */}
/>
</View>
</>
);
}
@@ -0,0 +1,92 @@
/* Metro module 12009; source: modules/contact_sync/native/components/ContactSyncLandingOnboardingRedesign.tsx; dependencies: [5, 31, 27, 4661, 33, 4501, 697, 5314, 4662, 12010, 4573, 1244, 4578, 12011, 12003, 2] */
function _fun92278(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92278, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12195:6, offset: 0x02082609, size: 538 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(5) /* metro dependency 5 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
const env0_5 = value.View;
const env0_6 = value.Image;
const env0_7 = (require(4661) /* metro dependency 4661: NativePermissionConstants */).NativePermissionTypes;
value = require(33) /* metro dependency 33 */;
const env0_8 = value.jsx;
const env0_9 = value.jsxs;
const env0_10 = value.Fragment;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
const PX_32 = (importDefault(697) /* metro dependency 697: native */).space.PX_32;
const value2 = -PX_32;
const NAV_BAR_HEIGHT = (require(5314) /* metro dependency 5314: NavigatorConstantsNative */).NAV_BAR_HEIGHT;
object2.content = {'flex': 1, 'justifyContent': 'center', 'alignItems': 'center', 'textAlign': 'center',
marginTop: value2 - NAV_BAR_HEIGHT};
let PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object2.headerImage = {'height': 135, 'width': 216, marginBottom: PX_24};
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object2.title = {marginBottom: PX_8};
PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object2.subtitle = {marginBottom: PX_24};
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.buttonContainer = {'height': 48, 'width': '100%', paddingHorizontal: PX_16};
const object3 = {};
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object3.paddingBottom = PX_4;
object3.justifyContent = 'flex-end';
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object3.paddingHorizontal = PX_16;
object2.trailing = object3;
const env0_11 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/ContactSyncLandingOnboardingRedesign.tsx');
exports.default = _default_92279;
}
function _default_92279({onNext, loading, error, discoverabilityEnabled, setDiscoverabilityEnabled}) { // fn#92279, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12195:725, offset: 0x02082823, size: 614 bytes, params: 2, frame: 33
const styles = useStyles();
const value3 = env0_4.useCallback(env0_3(_fun92281), [onNext]);
const jsxRuntimeEnv0_10Binding = jsxRuntimeEnv0_10;
const items2 = [<Image resizeMode="contain" style={styles.headerImage} source={importDefault(12010) /* metro dependency 12010 */} />];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
items2[1] = <Text style={styles.title} variant="heading-xl/bold">{Reflect.apply(string, intl,
[(require(1244) /* metro dependency 1244: indexNative */).t['/G+nci']])}</Text>;
string = intl.string;
const G8zcHt = (require(1244) /* metro dependency 1244: indexNative */).t.G8zcHt;
items2[2] = <Text style={styles.subtitle} variant="text-sm/medium">{Reflect.apply(string, intl, [G8zcHt])}</Text>;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
string = intl.string;
const LhlgY9 = (require(1244) /* metro dependency 1244: indexNative */).t.LhlgY9;
items2[3] = <View style={styles.buttonContainer}><Button variant="primary" size="lg" text={Reflect.apply(string,
intl, [LhlgY9])} onPress={value3} loading={loading} /></View>;
items2[4] = ((Component) => <Component error={error} />)(importDefault(12011) /* metro dependency 12011: ContactSyncError */);
return (
<>
<View style={styles.content}>
{items2}
</View>
<View style={styles.trailing}>
{((Component) => <Component discoverabilityEnabled={discoverabilityEnabled} onValueChanged={setDiscoverabilityEnabled} />)(importDefault(12003) /* metro dependency 12003: RedesignContactSyncDiscoverabilityFooter */)}
</View>
</>
);
}
function* _fun92281() { // fn#92281, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12195:840, offset: 0x02082a94, size: 86 bytes, params: 1, frame: 13
if (true) {
__proto__ = environment.__proto__.__proto__;
var value3 = env2_1(env2_2[8]);
var requestPermission = value3.requestPermission;
var CONTACTS = env2_7.CONTACTS;
yield Reflect.apply(requestPermission, value3, [CONTACTS]);
if (false) {
return undefined;
}
if (__proto__) {
__proto__ = environment.__proto__;
require();
}
}
}
@@ -0,0 +1,74 @@
/* Metro module 12014; source: modules/contact_sync/native/components/ContactSyncNameInput.tsx; dependencies: [57, 31, 27, 33, 4501, 697, 5463, 1244, 4573, 1305, 4578, 12011, 2] */
function _fun92293(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92293, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12200:6, offset: 0x020830af, size: 440 bytes, params: 8, frame: 26
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
let value = require(33) /* metro dependency 33 */;
const env0_6 = value.jsx;
const env0_7 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
object2.flex = {flex: 1};
object2.content = {'flex': 1, 'padding': 16, 'paddingBottom': 0};
object2.title = {'marginBottom': 8, 'textAlign': 'center'};
object2.subtitle = {'lineHeight': 18, 'textAlign': 'center', 'marginBottom': 16};
const object4 = {'width': '100%', 'marginTop': 8, 'marginBottom': 12, 'padding': 12};
const BACKGROUND_BASE_LOWEST = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOWEST;
object4.backgroundColor = BACKGROUND_BASE_LOWEST;
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object2.input = object4;
object2.formSubtitle = {lineHeight: 16};
const object6 = {flexGrow: 0};
const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object6.paddingTop = PX_16;
const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object6.paddingBottom = PX_12;
object2.button = object6;
object2.error = {marginTop: 8};
const env0_8 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/ContactSyncNameInput.tsx');
exports.default = _default_92294;
}
function _default_92294({loading, error, initialName, prefilledFromContactBook, onNext, onRemoveName}) { // fn#92294, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12200:631, offset: 0x02083267, size: 1216 bytes, params: 2, frame: 37
prefilledFromContactBook = !(prefilledFromContactBook === undefined) && prefilledFromContactBook;
const styles = useStyles();
const [property, property2] = env0_3(env0_4.useState(initialName), 2);
const insets = (importDefault(5463) /* metro dependency 5463: useSafeAreaInsetsKeyboardAwareNative */)({includeKeyboardHeight: true}).insets;
const value5 = onRemoveName != null;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const r17 = value5 ? Reflect.apply(string, intl, [t.i4jeWR]) : Reflect.apply(string, intl, [t.PDTjLN]);
const items4 = [styles.content];
items4[1] = {paddingBottom: insets.bottom};
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
string = intl.string;
const items2 = [<Text style={styles.title} accessibilityRole="header" variant="heading-xl/extrabold" color="mobile-text-heading-primary">{value5 ? Reflect.apply(string,
intl, [t['/OywGQ']]) : Reflect.apply(string, intl, [t['sO+NI5']])}</Text>];
string = intl.string;
items2[1] = <Text style={styles.subtitle} variant="text-sm/medium" color="text-default">{value5 ? Reflect.apply(string,
intl, [t['xCHh/t']]) : Reflect.apply(string, intl, [t.xI496M])}</Text>;
items2[2] = <Text variant="eyebrow" color="interactive-text-default">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['42/D2U'])}</Text>;
const InputView = (require(1305) /* metro dependency 1305: native */).InputView;
const ClearButtonVisibility = (require(1305) /* metro dependency 1305: native */).ClearButtonVisibility;
const WITH_CONTENT = ClearButtonVisibility.WITH_CONTENT;
items2[3] = <InputView value={property} onChangeText={property2} style={styles.input} autoFocus showBorder={false} showTopContainer={false} clearButtonVisibility={WITH_CONTENT} autoCorrect autoComplete="name" textContentType="name" />;
items2[4] = prefilledFromContactBook ? <Text style={styles.formSubtitle} variant="text-xs/medium" color="text-default">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.bCQt9K)}</Text> : null;
const items3 = [<View style={styles.flex}>{items2}</View>];
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
items3[1] = <Button variant="primary" size={value5 ? 'md' : 'lg'} text={r17} onPress={onPress_92295} loading={loading} disabled={property === ''} />;
items3[2] = value5 ? <View style={styles.button}><Button variant="secondary" size="md" text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['91RssO'])} onPress={onPress_92296} /></View> : null;
items3[3] = ((Component) => <Component style={styles.error} error={error} />)(importDefault(12011) /* metro dependency 12011: ContactSyncError */);
return (
<View style={items4}>
{items3}
</View>
);
}
@@ -0,0 +1,299 @@
/* Metro module 13368; source: modules/contact_sync/native/components/ContactSyncNameUpdateModal.tsx; dependencies: [5, 57, 31, 27, 11995, 33, 5080, 4501, 697, 5314, 11997, 12001, 3857, 1244, 8947, 12014, 5282, 5280, 2] */
function _fun101785(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#101785, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13558:6, offset: 0x0221f46c, size: 417 bytes, params: 8, frame: 23
var object4;
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 = importDefault(57) /* metro dependency 57 */;
const env0_5 = importAll(31) /* metro dependency 31 */;
const env0_6 = (require(27) /* metro dependency 27 */).View;
const ContactSyncScenes = (require(11995) /* metro dependency 11995: ContactSyncConstants */).ContactSyncScenes;
const env0_8 = (require(33) /* metro dependency 33 */).jsx;
const closure = onClose_101786;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const object5 = {'flex': 1, 'backgroundColor': null, 'justifyContent': 'center'};
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
object5.backgroundColor = BACKGROUND_BASE_LOW;
const NAV_BAR_HEIGHT = (require(5314) /* metro dependency 5314: NavigatorConstantsNative */).NAV_BAR_HEIGHT;
object5.paddingTop = NAV_BAR_HEIGHT + 32;
const env0_10 = Reflect.apply(createStyles, createStylesModule, [{container: object5}]);
object4 = {};
const NAME_INPUT = ContactSyncScenes.NAME_INPUT;
const object6 = {'render': null, 'ignoreKeyboard': true, 'fullscreen': true, 'headerLeft': null, 'title': ''};
object6.render = render_101793;
object6.headerLeft = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton(closure);
object4[NAME_INPUT] = object6;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/ContactSyncNameUpdateModal.tsx');
exports.default = ContactSyncNameUpdateModal;
}
function onClose_101786() { // fn#101786, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13558:191, offset: 0x0221f60d, size: 37 bytes, params: 1, frame: 11
(importDefault(5080) /* metro dependency 5080: ModalActionCreators */).pop();
}
function ContactSyncNameInputScreen_101787() { // fn#101787, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13558:395, offset: 0x0221f632, size: 218 bytes, params: 1, frame: 20
const value2 = undefined;
const styles = useStyles();
const value3 = (require(11997) /* metro dependency 11997: ContactSyncUtils */).useContactSyncAccount();
const [property, env0_0] = env0_4(env0_5.useState(false), 2);
return (
<View style={styles.container}>
{((Component) => <Component onNext={_fun101788()} onRemoveName={onRemoveName} loading={property} initialName={(value3 == null ? value2 : value3.name) ?? ''} />)(importDefault(12014) /* metro dependency 12014: ContactSyncNameInput */)}
</View>
);
}
function render_101793() { // fn#101793, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13558:929, offset: 0x0221f839, size: 23 bytes, params: 1, frame: 13
return <ContactSyncNameInputScreen_101787 />;
}
function ContactSyncNameUpdateModal() { // fn#101794, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13558:1173, offset: 0x0221f850, size: 69 bytes, params: 1, frame: 15
const Navigator = (require(5280) /* metro dependency 5280: NavigatorNative */).Navigator;
const NAME_INPUT = ContactSyncScenes.NAME_INPUT;
return <Navigator initialRouteName={NAME_INPUT} screens={env0_12} />;
}
function _fun101788() { // fn#101788, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13558:489, offset: 0x0221f70c, size: 36 bytes, params: 1, frame: 12
const env0_0 = env1_3(_fun101790);
return _fun101791;
}
function* _fun101790(a0) { // fn#101790, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13558:509, offset: 0x0221f73b, size: 236 bytes, params: 2, frame: 20
var binding;
var binding2;
var property;
var value4;
var updateName;
var value5;
var value6;
var value7;
var error;
var binding3;
var value8;
var open;
var object2;
var binding4;
var intl;
var string;
var t;
var R0RpRX;
if (true) {
value = environment.__proto__.__proto__;
require(true);
try {
binding = env3_1;
} catch (error) {
binding = env3_1;
binding3 = env3_2;
value8 = binding(binding3[12]);
open = value8.open;
object2 = {key: 'ERROR_GENERIC_TITLE'};
binding4 = env3_0;
intl = binding4(binding3[13]).intl;
string = intl.string;
t = binding4(binding3[13]).t;
R0RpRX = t.R0RpRX;
object2.content = Reflect.apply(string, intl, [R0RpRX]);
object2.icon = binding(binding3[14]);
Reflect.apply(open, value8, [object2]);
require(false);
return undefined;
}
try {
binding2 = env3_2;
} catch (error) {
binding = env3_1;
binding3 = env3_2;
value8 = binding(binding3[12]);
open = value8.open;
object2 = {key: 'ERROR_GENERIC_TITLE'};
binding4 = env3_0;
intl = binding4(binding3[13]).intl;
string = intl.string;
t = binding4(binding3[13]).t;
R0RpRX = t.R0RpRX;
object2.content = Reflect.apply(string, intl, [R0RpRX]);
object2.icon = binding(binding3[14]);
Reflect.apply(open, value8, [object2]);
require(false);
return undefined;
}
try {
property = binding2[11];
} catch (error) {
binding = env3_1;
binding3 = env3_2;
value8 = binding(binding3[12]);
open = value8.open;
object2 = {key: 'ERROR_GENERIC_TITLE'};
binding4 = env3_0;
intl = binding4(binding3[13]).intl;
string = intl.string;
t = binding4(binding3[13]).t;
R0RpRX = t.R0RpRX;
object2.content = Reflect.apply(string, intl, [R0RpRX]);
object2.icon = binding(binding3[14]);
Reflect.apply(open, value8, [object2]);
require(false);
return undefined;
}
try {
value4 = binding(property);
} catch (error) {
binding = env3_1;
binding3 = env3_2;
value8 = binding(binding3[12]);
open = value8.open;
object2 = {key: 'ERROR_GENERIC_TITLE'};
binding4 = env3_0;
intl = binding4(binding3[13]).intl;
string = intl.string;
t = binding4(binding3[13]).t;
R0RpRX = t.R0RpRX;
object2.content = Reflect.apply(string, intl, [R0RpRX]);
object2.icon = binding(binding3[14]);
Reflect.apply(open, value8, [object2]);
require(false);
return undefined;
}
try {
updateName = value4.updateName;
} catch (error) {
binding = env3_1;
binding3 = env3_2;
value8 = binding(binding3[12]);
open = value8.open;
object2 = {key: 'ERROR_GENERIC_TITLE'};
binding4 = env3_0;
intl = binding4(binding3[13]).intl;
string = intl.string;
t = binding4(binding3[13]).t;
R0RpRX = t.R0RpRX;
object2.content = Reflect.apply(string, intl, [R0RpRX]);
object2.icon = binding(binding3[14]);
Reflect.apply(open, value8, [object2]);
require(false);
return undefined;
}
try {
value5 = Reflect.apply(updateName, value4, [a0]);
} catch (error) {
binding = env3_1;
binding3 = env3_2;
value8 = binding(binding3[12]);
open = value8.open;
object2 = {key: 'ERROR_GENERIC_TITLE'};
binding4 = env3_0;
intl = binding4(binding3[13]).intl;
string = intl.string;
t = binding4(binding3[13]).t;
R0RpRX = t.R0RpRX;
object2.content = Reflect.apply(string, intl, [R0RpRX]);
object2.icon = binding(binding3[14]);
Reflect.apply(open, value8, [object2]);
require(false);
return undefined;
}
yield value5;
try {
value6 = undefined;
value7 = false;
} catch (error) {
binding = env3_1;
binding3 = env3_2;
value8 = binding(binding3[12]);
open = value8.open;
object2 = {key: 'ERROR_GENERIC_TITLE'};
binding4 = env3_0;
intl = binding4(binding3[13]).intl;
string = intl.string;
t = binding4(binding3[13]).t;
R0RpRX = t.R0RpRX;
object2.content = Reflect.apply(string, intl, [R0RpRX]);
object2.icon = binding(binding3[14]);
Reflect.apply(open, value8, [object2]);
require(false);
return undefined;
}
if (value7) {
return value6;
}
try {
} catch (error) {
binding = env3_1;
binding3 = env3_2;
value8 = binding(binding3[12]);
open = value8.open;
object2 = {key: 'ERROR_GENERIC_TITLE'};
binding4 = env3_0;
intl = binding4(binding3[13]).intl;
string = intl.string;
t = binding4(binding3[13]).t;
R0RpRX = t.R0RpRX;
object2.content = Reflect.apply(string, intl, [R0RpRX]);
object2.icon = binding(binding3[14]);
Reflect.apply(open, value8, [object2]);
require(false);
return undefined;
}
try {
require(false);
} catch (error) {
binding = env3_1;
binding3 = env3_2;
value8 = binding(binding3[12]);
open = value8.open;
object2 = {key: 'ERROR_GENERIC_TITLE'};
binding4 = env3_0;
intl = binding4(binding3[13]).intl;
string = intl.string;
t = binding4(binding3[13]).t;
R0RpRX = t.R0RpRX;
object2.content = Reflect.apply(string, intl, [R0RpRX]);
object2.icon = binding(binding3[14]);
Reflect.apply(open, value8, [object2]);
require(false);
return undefined;
}
try {
binding = env3_9;
} catch (error) {
binding = env3_1;
binding3 = env3_2;
value8 = binding(binding3[12]);
open = value8.open;
object2 = {key: 'ERROR_GENERIC_TITLE'};
binding4 = env3_0;
intl = binding4(binding3[13]).intl;
string = intl.string;
t = binding4(binding3[13]).t;
R0RpRX = t.R0RpRX;
object2.content = Reflect.apply(string, intl, [R0RpRX]);
object2.icon = binding(binding3[14]);
Reflect.apply(open, value8, [object2]);
require(false);
return undefined;
}
try {
binding();
} catch (error) {
binding = env3_1;
binding3 = env3_2;
value8 = binding(binding3[12]);
open = value8.open;
object2 = {key: 'ERROR_GENERIC_TITLE'};
binding4 = env3_0;
intl = binding4(binding3[13]).intl;
string = intl.string;
t = binding4(binding3[13]).t;
R0RpRX = t.R0RpRX;
object2.content = Reflect.apply(string, intl, [R0RpRX]);
object2.icon = binding(binding3[14]);
Reflect.apply(open, value8, [object2]);
require(false);
}
}
}
@@ -0,0 +1,572 @@
/* Metro module 13367; source: modules/contact_sync/native/components/ContactSyncSettings.tsx; dependencies: [5, 31, 1878, 11996, 661, 33, 11997, 3857, 1244, 8947, 12001, 683, 11993, 566, 3829, 1391, 7972, 5080, 13368, 1962, 2] */
function _fun101769(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#101769, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13557:6, offset: 0x0221e962, size: 324 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 */;
importAll(31) /* metro dependency 31 */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
let value = require(11996) /* metro dependency 11996: ContactSyncPersistedStore */;
const env0_5 = value.deleteStoredContacts;
const env0_6 = value.setStoredContacts;
value = require(661) /* metro dependency 661: Constants */;
const env0_7 = value.AnalyticEvents;
const env0_8 = value.FriendDiscoveryFlags;
const env0_9 = value.AnalyticsSections;
value = require(33) /* metro dependency 33 */;
const env0_10 = value.jsx;
const env0_11 = value.Fragment;
const env0_12 = value.jsxs;
value = _fun101770();
const value2 = _fun101774();
const closure = handleSyncContacts;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/ContactSyncSettings.tsx');
exports.default = _default_101779;
exports.syncContacts = value;
exports.updateFriendSync = value2;
exports.handleSyncContacts = closure;
}
function _fun101770() { // fn#101770, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13557:301, offset: 0x0221eaa6, size: 36 bytes, params: 1, frame: 12
const env0_0 = env0_3(_fun101772);
return _fun101773;
}
function _fun101774() { // fn#101774, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13557:690, offset: 0x0221ec19, size: 36 bytes, params: 1, frame: 12
const env0_0 = env0_3(_fun101776);
return _fun101777;
}
function handleSyncContacts(a0, a1, a2) { // fn#101778, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13557:1008, offset: 0x0221ed41, size: 153 bytes, params: 4, frame: 20
var defaultImport;
if (a0 == null) {
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.OPEN_MODAL, {type: AnalyticsSections.CONTACT_SYNC_MODAL,
location: {page: 'User Settings'}});
(require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */).openContactSyncModal({},
{page: 'User Settings'});
} else {
env0_14(a0, a1, a2);
}
}
function _default_101779() { // fn#101779, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13557:1193, offset: 0x0221edda, size: 1389 bytes, params: 1, frame: 37
const FormDivider = (require(7972) /* metro dependency 7972: native */).FormDivider;
var r8;
var jsxRuntimeEnv0_11Binding3;
var items3;
const value2 = undefined;
const value3 = (require(11997) /* metro dependency 11997: ContactSyncUtils */).useContactSyncAccount();
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
const value4 = null;
const env0_1 = value4 == currentUser ? value2 : currentUser.phone;
const r7 = value4 == currentUser ? value2 : currentUser.isStaff();
const isContactSyncEnabled2 = (require(11997) /* metro dependency 11997: ContactSyncUtils */).isContactSyncEnabled(value3);
const FriendDiscoverySettings = (require(3829) /* metro dependency 3829: UserSettings */).FriendDiscoverySettings;
const value5 = FriendDiscoverySettings.useSetting();
const flagUtilsModule = require(1391) /* metro dependency 1391: FlagUtils */;
let hasFlag = flagUtilsModule.hasFlag;
const FIND_BY_PHONE = FriendDiscoveryFlags.FIND_BY_PHONE;
const hasFlag2 = Reflect.apply(hasFlag, flagUtilsModule, [value5, FIND_BY_PHONE]);
const moduleValue5 = flagUtilsModule;
hasFlag = moduleValue5.hasFlag;
const FIND_BY_EMAIL = FriendDiscoveryFlags.FIND_BY_EMAIL;
const hasFlag3 = Reflect.apply(hasFlag, moduleValue5, [value5, FIND_BY_EMAIL]);
const jsxRuntimeEnv0_11Binding = jsxRuntimeEnv0_11;
const FormSection = (require(7972) /* metro dependency 7972: native */).FormSection;
const object = {};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
object.title = Reflect.apply(string, intl, [(require(1244) /* metro dependency 1244: indexNative */).t.bGSsnc]);
const items2 = [r7 ? <><FormSwitchRow label="STAFF ONLY - Find your friends deletion" value onValueChange={(require(11997) /* metro dependency 11997: ContactSyncUtils */).adminDeleteContactSync} /><FormDivider /></> : value4];
var FormSwitchRow = (require(7972) /* metro dependency 7972: native */).FormSwitchRow;
items2[1] = <FormSwitchRow label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.uSvEy7)} value={isContactSyncEnabled2} onValueChange={onValueChange_101781} />;
if (value4 != value3) {
jsxRuntimeEnv0_11Binding3 = jsxRuntimeEnv0_11;
items3 = [<FormDivider />];
items3[1] = ((FormRow) => <FormRow label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.nAsWKy)} trailing={((Arrow) => <Arrow label={value3.name} />)((require(7972) /* metro dependency 7972: native */).FormRow.Arrow)} onPress={onPress_101782} />)((require(7972) /* metro dependency 7972: native */).FormRow);
r8 = <>{items3}</>;
} else {
r8 = value4;
}
items2[2] = r8;
const items4 = [<FormSection {...object}>{items2}</FormSection>];
const FormHint = (require(7972) /* metro dependency 7972: native */).FormHint;
const format = intl.format;
const BoR0dO = (require(1244) /* metro dependency 1244: indexNative */).t.BoR0dO;
const object3 = {};
object3.onClick = (require(11997) /* metro dependency 11997: ContactSyncUtils */).handleOpenLearnMoreLink;
items4[1] = <FormHint>{Reflect.apply(format, intl, [BoR0dO, object3])}</FormHint>;
items4[2] = <FormHint>{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.cW1nr9)}</FormHint>;
const formSectionProps = {title: intl.string((require(1244) /* metro dependency 1244: indexNative */).t['0t2wRW'])};
const formSwitchRowProps = {label: intl.string((require(1244) /* metro dependency 1244: indexNative */).t['eJnn0+'])};
string = intl.string;
const X7pIKN = (require(1244) /* metro dependency 1244: indexNative */).t.X7pIKN;
formSwitchRowProps.subLabel = Reflect.apply(string, intl, [X7pIKN]);
formSwitchRowProps.value = hasFlag2;
formSwitchRowProps.onValueChange = onValueChange_101783;
const items5 = [<FormSwitchRow {...formSwitchRowProps} />];
items5[1] = <FormDivider />;
items5[2] = <FormSwitchRow label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.dI4d4S)} subLabel={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.ilGsHE)} value={hasFlag3} onValueChange={onValueChange_101784} />;
items4[3] = <FormSection {...formSectionProps}>{items5}</FormSection>;
return (
<>
{items4}
</>
);
}
function* _fun101772(a0, a1, a2) { // fn#101772, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13557:321, offset: 0x0221ead5, size: 324 bytes, params: 4, frame: 20
var binding;
var binding2;
var property;
var value3;
var getContacts;
var value4;
var value5;
var value6;
var names;
var payload;
var binding3;
var value7;
var uploadContacts;
var value8;
var value9;
var value10;
var error;
var ContactSyncPermissionDenied;
var binding4;
var value11;
var open;
var object2;
var binding5;
var intl;
var string;
var t;
if (true) {
reduciblePort32: while (true) {
exceptionLanding30: while (true) {
value = environment.__proto__.__proto__;
env2_5();
if (a2) {
if (a0 == null) {
break reduciblePort32;
}
if (a1 == null) {
break reduciblePort32;
}
try {
binding = env2_0;
} catch (error) {
break exceptionLanding30;
}
try {
binding2 = env2_2;
} catch (error) {
break exceptionLanding30;
}
try {
property = binding2[6];
} catch (error) {
break exceptionLanding30;
}
try {
value3 = binding(property);
} catch (error) {
break exceptionLanding30;
}
try {
getContacts = value3.getContacts;
} catch (error) {
break exceptionLanding30;
}
try {
value4 = Reflect.apply(getContacts, value3, [a1]);
} catch (error) {
break exceptionLanding30;
}
yield value4;
try {
value5 = undefined;
value6 = false;
} catch (error) {
break exceptionLanding30;
}
if (value6) {
return value5;
}
try {
names = value5.names;
} catch (error) {
break exceptionLanding30;
}
try {
payload = value5.payload;
} catch (error) {
break exceptionLanding30;
}
try {
binding = env2_6;
} catch (error) {
break exceptionLanding30;
}
try {
binding(names);
} catch (error) {
break exceptionLanding30;
}
try {
binding = env2_0;
} catch (error) {
break exceptionLanding30;
}
try {
binding3 = env2_2;
} catch (error) {
break exceptionLanding30;
}
try {
property = binding3[6];
} catch (error) {
break exceptionLanding30;
}
try {
value7 = binding(property);
} catch (error) {
break exceptionLanding30;
}
try {
uploadContacts = value7.uploadContacts;
} catch (error) {
break exceptionLanding30;
}
try {
value8 = Reflect.apply(uploadContacts, value7, [payload, true]);
} catch (error) {
break exceptionLanding30;
}
yield value8;
try {
value9 = undefined;
value10 = false;
} catch (error) {
break exceptionLanding30;
}
if (value10) {
return value9;
}
break reduciblePort32;
}
break reduciblePort32;
}
binding = env2_0;
ContactSyncPermissionDenied = binding(env2_2[6]).ContactSyncPermissionDenied;
reducibleJoin32: while (true) {
if (error !== ContactSyncPermissionDenied) {
break reducibleJoin32;
}
binding = env2_1;
binding4 = env2_2;
value11 = binding(binding4[7]);
open = value11.open;
object2 = {key: 'CONTACT_SYNC_NEEDS_PERMISSIONS'};
binding5 = env2_0;
intl = binding5(binding4[8]).intl;
string = intl.string;
t = binding5(binding4[8]).t;
object2.content = Reflect.apply(string, intl, [t['h+jFOs']]);
object2.icon = binding(binding4[9]);
Reflect.apply(open, value11, [object2]);
break reducibleJoin32;
}
break reduciblePort32;
}
}
}
function* _fun101776(a0, a1, a2) { // fn#101776, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13557:710, offset: 0x0221ec48, size: 249 bytes, params: 4, frame: 21
var binding;
var binding2;
var property;
var value3;
var updateContactSyncEnabled;
var object2;
var value4;
var value5;
var value6;
var value7;
var value8;
var value9;
var error;
var binding3;
var value10;
var open;
var binding4;
var intl;
var string;
var t;
var GCwBtE;
if (true) {
if (a0 != null) {
value = environment.__proto__.__proto__;
try {
binding = env2_1;
} catch (error) {
binding = env2_1;
binding3 = env2_2;
value10 = binding(binding3[7]);
open = value10.open;
object2 = {key: 'CONTACT_SYNC_FAILED_ALERT_TITLE'};
binding4 = env2_0;
intl = binding4(binding3[8]).intl;
string = intl.string;
t = binding4(binding3[8]).t;
GCwBtE = t.GCwBtE;
object2.content = Reflect.apply(string, intl, [GCwBtE]);
object2.icon = binding(binding3[9]);
Reflect.apply(open, value10, [object2]);
return undefined;
}
try {
binding2 = env2_2;
} catch (error) {
binding = env2_1;
binding3 = env2_2;
value10 = binding(binding3[7]);
open = value10.open;
object2 = {key: 'CONTACT_SYNC_FAILED_ALERT_TITLE'};
binding4 = env2_0;
intl = binding4(binding3[8]).intl;
string = intl.string;
t = binding4(binding3[8]).t;
GCwBtE = t.GCwBtE;
object2.content = Reflect.apply(string, intl, [GCwBtE]);
object2.icon = binding(binding3[9]);
Reflect.apply(open, value10, [object2]);
return undefined;
}
try {
property = binding2[10];
} catch (error) {
binding = env2_1;
binding3 = env2_2;
value10 = binding(binding3[7]);
open = value10.open;
object2 = {key: 'CONTACT_SYNC_FAILED_ALERT_TITLE'};
binding4 = env2_0;
intl = binding4(binding3[8]).intl;
string = intl.string;
t = binding4(binding3[8]).t;
GCwBtE = t.GCwBtE;
object2.content = Reflect.apply(string, intl, [GCwBtE]);
object2.icon = binding(binding3[9]);
Reflect.apply(open, value10, [object2]);
return undefined;
}
try {
value3 = binding(property);
} catch (error) {
binding = env2_1;
binding3 = env2_2;
value10 = binding(binding3[7]);
open = value10.open;
object2 = {key: 'CONTACT_SYNC_FAILED_ALERT_TITLE'};
binding4 = env2_0;
intl = binding4(binding3[8]).intl;
string = intl.string;
t = binding4(binding3[8]).t;
GCwBtE = t.GCwBtE;
object2.content = Reflect.apply(string, intl, [GCwBtE]);
object2.icon = binding(binding3[9]);
Reflect.apply(open, value10, [object2]);
return undefined;
}
try {
updateContactSyncEnabled = value3.updateContactSyncEnabled;
} catch (error) {
binding = env2_1;
binding3 = env2_2;
value10 = binding(binding3[7]);
open = value10.open;
object2 = {key: 'CONTACT_SYNC_FAILED_ALERT_TITLE'};
binding4 = env2_0;
intl = binding4(binding3[8]).intl;
string = intl.string;
t = binding4(binding3[8]).t;
GCwBtE = t.GCwBtE;
object2.content = Reflect.apply(string, intl, [GCwBtE]);
object2.icon = binding(binding3[9]);
Reflect.apply(open, value10, [object2]);
return undefined;
}
try {
object2 = {};
} catch (error) {
binding = env2_1;
binding3 = env2_2;
value10 = binding(binding3[7]);
open = value10.open;
object2 = {key: 'CONTACT_SYNC_FAILED_ALERT_TITLE'};
binding4 = env2_0;
intl = binding4(binding3[8]).intl;
string = intl.string;
t = binding4(binding3[8]).t;
GCwBtE = t.GCwBtE;
object2.content = Reflect.apply(string, intl, [GCwBtE]);
object2.icon = binding(binding3[9]);
Reflect.apply(open, value10, [object2]);
return undefined;
}
try {
object2.enabled = a2;
} catch (error) {
binding = env2_1;
binding3 = env2_2;
value10 = binding(binding3[7]);
open = value10.open;
object2 = {key: 'CONTACT_SYNC_FAILED_ALERT_TITLE'};
binding4 = env2_0;
intl = binding4(binding3[8]).intl;
string = intl.string;
t = binding4(binding3[8]).t;
GCwBtE = t.GCwBtE;
object2.content = Reflect.apply(string, intl, [GCwBtE]);
object2.icon = binding(binding3[9]);
Reflect.apply(open, value10, [object2]);
return undefined;
}
try {
value4 = Reflect.apply(updateContactSyncEnabled, value3, [object2]);
} catch (error) {
binding = env2_1;
binding3 = env2_2;
value10 = binding(binding3[7]);
open = value10.open;
object2 = {key: 'CONTACT_SYNC_FAILED_ALERT_TITLE'};
binding4 = env2_0;
intl = binding4(binding3[8]).intl;
string = intl.string;
t = binding4(binding3[8]).t;
GCwBtE = t.GCwBtE;
object2.content = Reflect.apply(string, intl, [GCwBtE]);
object2.icon = binding(binding3[9]);
Reflect.apply(open, value10, [object2]);
return undefined;
}
yield value4;
try {
value5 = undefined;
value6 = false;
} catch (error) {
binding = env2_1;
binding3 = env2_2;
value10 = binding(binding3[7]);
open = value10.open;
object2 = {key: 'CONTACT_SYNC_FAILED_ALERT_TITLE'};
binding4 = env2_0;
intl = binding4(binding3[8]).intl;
string = intl.string;
t = binding4(binding3[8]).t;
GCwBtE = t.GCwBtE;
object2.content = Reflect.apply(string, intl, [GCwBtE]);
object2.icon = binding(binding3[9]);
Reflect.apply(open, value10, [object2]);
return undefined;
}
if (value6) {
return value5;
}
try {
binding = env2_13;
} catch (error) {
binding = env2_1;
binding3 = env2_2;
value10 = binding(binding3[7]);
open = value10.open;
object2 = {key: 'CONTACT_SYNC_FAILED_ALERT_TITLE'};
binding4 = env2_0;
intl = binding4(binding3[8]).intl;
string = intl.string;
t = binding4(binding3[8]).t;
GCwBtE = t.GCwBtE;
object2.content = Reflect.apply(string, intl, [GCwBtE]);
object2.icon = binding(binding3[9]);
Reflect.apply(open, value10, [object2]);
return undefined;
}
try {
value7 = binding(a0, a1, a2);
} catch (error) {
binding = env2_1;
binding3 = env2_2;
value10 = binding(binding3[7]);
open = value10.open;
object2 = {key: 'CONTACT_SYNC_FAILED_ALERT_TITLE'};
binding4 = env2_0;
intl = binding4(binding3[8]).intl;
string = intl.string;
t = binding4(binding3[8]).t;
GCwBtE = t.GCwBtE;
object2.content = Reflect.apply(string, intl, [GCwBtE]);
object2.icon = binding(binding3[9]);
Reflect.apply(open, value10, [object2]);
return undefined;
}
yield value7;
try {
value8 = undefined;
value9 = false;
} catch (error) {
binding = env2_1;
binding3 = env2_2;
value10 = binding(binding3[7]);
open = value10.open;
object2 = {key: 'CONTACT_SYNC_FAILED_ALERT_TITLE'};
binding4 = env2_0;
intl = binding4(binding3[8]).intl;
string = intl.string;
t = binding4(binding3[8]).t;
GCwBtE = t.GCwBtE;
object2.content = Reflect.apply(string, intl, [GCwBtE]);
object2.icon = binding(binding3[9]);
Reflect.apply(open, value10, [object2]);
return undefined;
}
if (value9) {
return value8;
}
}
}
}
function _default_101779OnValueChange(a0) { // fn#101781, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13557:1882, owner: _default_101779.onValueChange, offset: 0x0221f347, size: 32 bytes, params: 2, frame: 15
handleSyncContacts(env0_0, phone, a0);
}
function _default_101779OnPress() { // fn#101782, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13557:2085, owner: _default_101779.onPress, offset: 0x0221f367, size: 141 bytes, params: 1, frame: 19
let value = environment.__proto__;
const defaultImport = importDefault(dependencyMap[11]);
const track = defaultImport.track;
const OPEN_MODAL = AnalyticEvents.OPEN_MODAL;
Reflect.apply(track, defaultImport, [OPEN_MODAL, {type: 'Change Name', location: {page: 'User Settings'}}]);
const defaultImport2 = importDefault(dependencyMap[17]);
const pushLazy = defaultImport2.pushLazy;
value = require(dependencyMap[19]);
value = value(dependencyMap[18], dependencyMap.paths);
Reflect.apply(pushLazy, defaultImport2, [value, 'Contact Sync Name Update Modal']);
}
function _default_101779OnValueChange_101783(a0) { // fn#101783, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13557:2667, owner: _default_101779.onValueChange, offset: 0x0221f3f4, size: 60 bytes, params: 2, frame: 13
const value = environment.__proto__;
(importDefault(12001) /* metro dependency 12001: ContactSyncActionCreators */).updateDiscoverability({phone: a0,
email: env0_3});
}
function _default_101779OnValueChange_101784(a0) { // fn#101784, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13557:2890, owner: _default_101779.onValueChange, offset: 0x0221f430, size: 60 bytes, params: 2, frame: 13
const value = environment.__proto__;
(importDefault(12001) /* metro dependency 12001: ContactSyncActionCreators */).updateDiscoverability({phone: env0_2,
email: a0});
}
@@ -0,0 +1,113 @@
/* Metro module 12004; source: modules/contact_sync/native/components/ContactSyncSettingsActionSheet.tsx; dependencies: [31, 27, 11994, 661, 33, 4501, 697, 7972, 1244, 4573, 11997, 6805, 2] */
function _fun92266(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92266, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12190:6, offset: 0x0208178f, size: 445 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_2 = (require(27) /* metro dependency 27 */).View;
let value = require(11994) /* metro dependency 11994: ContactSyncModalStore */;
const env0_3 = value.setAllowEmail;
const env0_4 = value.setAllowPhone;
const env0_5 = value.setAllowSync;
const env0_6 = value.useContactSyncModalStore;
const Fonts = (require(661) /* metro dependency 661: Constants */).Fonts;
value = require(33) /* metro dependency 33 */;
const env0_7 = value.jsx;
const env0_8 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
object2.container = {backgroundColor: BACKGROUND_BASE_LOW, paddingBottom: 16};
const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object2.formRow = {'marginTop': 8, 'paddingVertical': 16, backgroundColor: BACKGROUND_SURFACE_HIGH};
object2.syncRow = {marginTop: 24};
const object3 = {};
const PRIMARY_SEMIBOLD = Fonts.PRIMARY_SEMIBOLD;
object3.fontFamily = PRIMARY_SEMIBOLD;
const INTERACTIVE_TEXT_ACTIVE = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_TEXT_ACTIVE;
object3.color = INTERACTIVE_TEXT_ACTIVE;
object2.formText = object3;
const TEXT_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_SUBTLE;
object2.info = {'marginTop': 8, 'fontSize': 14, 'lineHeight': 18, 'paddingHorizontal': 16, color: TEXT_SUBTLE};
const env0_9 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/ContactSyncSettingsActionSheet.tsx');
exports.default = ContactSyncSettingsActionSheet;
}
function ContactSyncSettingsActionSheet() { // fn#92267, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12190:782, offset: 0x0208194c, size: 1228 bytes, params: 1, frame: 32
const styles = useStyles();
const {allowPhone, allowEmail} = useContactSyncModalStore();
const r14 = allowPhone || allowEmail;
const FormRow = (require(7972) /* metro dependency 7972: native */).FormRow;
const formRowProps3 = {DEPRECATED_style: [styles.formRow, styles.syncRow]};
const FormRow2 = (require(7972) /* metro dependency 7972: native */).FormRow;
let Label = FormRow2.Label;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
formRowProps3.label = <Label style={styles.formText} text={Reflect.apply(string, intl,
[(require(1244) /* metro dependency 1244: indexNative */).t.a5QL24])} />;
formRowProps3.onPress = onPress_92268;
const FormRow3 = (require(7972) /* metro dependency 7972: native */).FormRow;
let Checkbox = FormRow3.Checkbox;
formRowProps3.trailing = <Checkbox selected={r14} />;
const items2 = [<FormRow {...formRowProps3} />];
const FormText = (require(7972) /* metro dependency 7972: native */).FormText;
items2[1] = <FormText style={styles.info}>{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.pfjsB5)}</FormText>;
items2[2] = <FormText style={styles.info}>{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.cW1nr9)}</FormText>;
items2[3] = <FormText style={styles.info}>{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.eswIfi,
{learnMoreHook: learnMoreHook})}</FormText>;
const FormTitle = (require(7972) /* metro dependency 7972: native */).FormTitle;
items2[4] = <FormTitle title={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['0t2wRW'])} thinTitle />;
const formRowProps = {DEPRECATED_style: styles.formRow};
const FormRow4 = (require(7972) /* metro dependency 7972: native */).FormRow;
Label = FormRow4.Label;
formRowProps.label = <Label style={styles.formText} text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['eJnn0+'])} />;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
string = intl.string;
const X7pIKN = (require(1244) /* metro dependency 1244: indexNative */).t.X7pIKN;
formRowProps.subLabel = <Text variant="text-sm/medium" color="text-default">{Reflect.apply(string, intl,
[X7pIKN])}</Text>;
formRowProps.onPress = function() {
setAllowPhone(!allowPhone);
};
const FormRow5 = (require(7972) /* metro dependency 7972: native */).FormRow;
Checkbox = FormRow5.Checkbox;
formRowProps.trailing = <Checkbox selected={allowPhone} />;
items2[5] = <FormRow {...formRowProps} />;
const formRowProps2 = {DEPRECATED_style: styles.formRow};
const FormRow6 = (require(7972) /* metro dependency 7972: native */).FormRow;
Label = FormRow6.Label;
formRowProps2.label = <Label style={styles.formText} text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.dI4d4S)} />;
formRowProps2.subLabel = <Text variant="text-sm/medium" color="text-default">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.ilGsHE)}</Text>;
formRowProps2.onPress = function() {
setAllowEmail(!allowEmail);
};
const FormRow7 = (require(7972) /* metro dependency 7972: native */).FormRow;
Checkbox = FormRow7.Checkbox;
formRowProps2.trailing = <Checkbox selected={allowEmail} />;
items2[6] = <FormRow {...formRowProps2} />;
const view = <View style={styles.container}>{items2}</View>;
const ActionSheet = (require(6805) /* metro dependency 6805: ActionSheetNative */).ActionSheet;
return (
<ActionSheet startExpanded>
{view}
</ActionSheet>
);
}
function ContactSyncSettingsActionSheetLearnMoreHook(a0, a1) { // fn#92269, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12190:1393, owner: ContactSyncSettingsActionSheet.learnMoreHook, offset: 0x02081e32, size: 91 bytes, params: 3, frame: 17
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<Text
onPress={(require(11997) /* metro dependency 11997: ContactSyncUtils */).handleOpenLearnMoreLink}
variant="text-sm/medium"
color="text-link"
key={a1}
>
{a0}
</Text>
);
}
@@ -0,0 +1,240 @@
/* Metro module 12015; source: modules/contact_sync/native/components/ContactSyncSuggestions.tsx; dependencies: [57, 31, 27, 661, 12016, 33, 4501, 697, 5314, 4584, 4573, 3995, 1423, 8950, 1305, 1244, 3860, 4000, 21, 7972, 7705, 8416, 4589, 676, 4578, 683, 2] */
function _fun92297(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92297, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12201:6, offset: 0x02083727, size: 659 bytes, params: 8, frame: 24
var object4;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const env0_6 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
const env0_7 = (require(12016) /* metro dependency 12016: FriendsScreenConstants */).SuggestedFriendSource;
let value = require(33) /* metro dependency 33 */;
const env0_8 = value.jsx;
const env0_9 = value.Fragment;
const env0_10 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object4 = {};
const object5 = {flex: 1};
const BACKGROUND_BASE_LOWER = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOWER;
object5.backgroundColor = BACKGROUND_BASE_LOWER;
const NAV_BAR_HEIGHT = (require(5314) /* metro dependency 5314: NavigatorConstantsNative */).NAV_BAR_HEIGHT;
object5.paddingTop = NAV_BAR_HEIGHT + 32;
object5.justifyContent = 'center';
object4.container = object5;
const object7 = {alignItems: 'center'};
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object7.paddingTop = PX_16;
const PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object7.paddingBottom = PX_24;
object4.header = object7;
object4.title = {'marginBottom': 8, 'textAlign': 'center'};
object4.subtitle = {'lineHeight': 18, 'textAlign': 'center'};
const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object4.list = {flex: 1, marginTop: PX_12};
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
object4.divider = {backgroundColor: BORDER_SUBTLE};
object4.linearGradient = {'position': 'absolute', 'width': '100%', 'bottom': 0, 'minHeight': 136};
const object8 = {'position': 'absolute', 'width': '100%', 'bottom': 0};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object8.padding = PX_16;
const PX_32 = (importDefault(697) /* metro dependency 697: native */).space.PX_32;
object8.paddingBottom = PX_32;
object4.redesignButton = object8;
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object4.sectionHeader = {'marginBottom': null, 'flexDirection': 'row', 'alignItems': 'center',
'justifyContent': 'space-between', marginBottom: PX_8};
const env0_11 = Reflect.apply(createStyles, value, [object4]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/ContactSyncSuggestions.tsx');
exports.default = _default_92301;
}
function SuggestedFriendsSectionHeader({label}) { // fn#92298, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12201:979, offset: 0x020839ba, size: 106 bytes, params: 2, frame: 18
const styles = useStyles();
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<View style={styles.sectionHeader}>
<Text color="text-muted" variant="text-sm/semibold">
{label}
</Text>
</View>
);
}
function SuggestionRow({start, end, suggestion, selected, onSelect}) { // fn#92299, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12201:1178, offset: 0x02083a24, size: 493 bytes, params: 2, frame: 28
var r9;
var intl;
const name = suggestion.reasons[0]?.name;
const userTag = (require(3995) /* metro dependency 3995: UserUtils */).getUserTag(suggestion.suggested_user);
const r5 = name == null || name === '' ? userTag : name;
const userAvatarSource = (importDefault(1423) /* metro dependency 1423: AvatarUtils */).getUserAvatarSource(suggestion.suggested_user);
const TableCheckboxRow = (require(8950) /* metro dependency 8950: TableCheckboxRowNative */).TableCheckboxRow;
const object2 = {start: start, end: end};
const Avatar = (require(1305) /* metro dependency 1305: native */).Avatar;
const AvatarSizes = (require(1305) /* metro dependency 1305: native */).AvatarSizes;
const REFRESH_MEDIUM_32 = AvatarSizes.REFRESH_MEDIUM_32;
object2.icon = <Avatar source={userAvatarSource} size={REFRESH_MEDIUM_32} />;
object2.checked = selected;
object2.label = r5;
const jsxRuntimeEnv0_9Binding = jsxRuntimeEnv0_9;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const text = <Text variant="text-xs/medium" color="text-muted">{userTag}</Text>;
const value6 = suggestion.mutual_friends_count != null;
if (value6) {
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r9 = <Text variant="text-xs/medium" color="text-muted">{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.z7y34b,
{count: suggestion.mutual_friends_count})}</Text>;
} else {
r9 = value6;
}
object2.subLabel = <>{text}{r9}</>;
object2.onPress = function() {
return onSelect(suggestion.suggested_user.id);
};
return <TableCheckboxRow {...object2} />;
}
function _default_92301({friendSuggestions, onSubmit}) { // fn#92301, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12201:1857, offset: 0x02083c30, size: 924 bytes, params: 2, frame: 30
const styles = useStyles();
const value2 = friendSuggestions.reduce(function(a0, a1) {
a0[a1.suggested_user.id] = true;
return a0;
}, {});
const useTokenModule = require(3860) /* metro dependency 3860: useToken */;
const useToken = useTokenModule.useToken;
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
const value3 = Reflect.apply(useToken, useTokenModule, [BACKGROUND_BASE_LOW]);
const colorUtilsModule = require(4000) /* metro dependency 4000: ColorUtils */;
const items = [colorUtilsModule.hexOpacityToRgba(value3, 0)];
const moduleValue3 = colorUtilsModule;
items[1] = moduleValue3.hexOpacityToRgba(value3, 100);
const binding = env0_4;
var [property, env0_4] = env0_3(binding.useState(value2), 2);
const value7 = (require(4584) /* metro dependency 4584: useFontScale */).useFontScale();
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
const PX_32 = (importDefault(697) /* metro dependency 697: native */).space.PX_32;
const value8 = PX_16 + PX_32 + 40;
const Math = global.Math;
const max = Math.max;
const Math2 = global.Math;
const value10 = value8 + Reflect.apply(max, Math, [18 * Math2.min(value7, 2) - 18, 0]);
const value11 = binding.useCallback(_fun92303, [property]);
const value13 = (importDefault(21) /* metro dependency 21: SnowflakeUtils */).keys(property).some(_fun92304);
const value14 = binding.useMemo(function() {
friendSuggestions.forEach(_fun92306);
return [{type: 'header'}];
}, [friendSuggestions, property]);
const value15 = binding.useCallback(_fun92307, [friendSuggestions.length, styles.divider, styles.header,
styles.subtitle, styles.title, value11]);
const value16 = (importDefault(7705) /* metro dependency 7705: useScaledRowHeight */)();
const items4 = [styles.container];
items4[1] = styles.list;
const FlashList = (require(8416) /* metro dependency 8416: flashList */).FlashList;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
const items5 = [<FlashList contentContainerStyle={{paddingHorizontal: PX_16,
paddingBottom: value10}} data={value14} renderItem={value15} estimatedItemSize={value16} />];
const defaultImport2 = importDefault(4589) /* metro dependency 4589 */;
const {START, END} = (require(676) /* metro dependency 676: ConstantsIOS */).VerticalGradient;
items5[1] = ((Component) => <Component style={styles.linearGradient} start={START} end={END} pointerEvents="none" colors={items} />)(defaultImport2);
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
items5[2] = <View style={styles.redesignButton}><Button variant="primary" size="lg" text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['J5/69j'])} onPress={onPress_92308} disabled={!value13} /></View>;
return (
<View style={items4}>
{items5}
</View>
);
}
function _fun92303(a0) { // fn#92303, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12201:2287, offset: 0x02083fe5, size: 47 bytes, params: 2, frame: 14
const binding = env0_4;
const object2 = {};
const binding2 = env0_3;
copyDataProperties(object2, binding2, undefined);
object2[a0] = !binding2[a0];
binding(object2);
}
function _fun92305() { // fn#92305, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12201:2366, offset: 0x02084014, size: 56 bytes, params: 1, frame: 13
friendSuggestions.forEach(_fun92306);
return [{type: 'header'}];
}
function _fun92307({item, index}) { // fn#92307, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12201:2549, offset: 0x02084094, size: 607 bytes, params: 2, frame: 28
var value;
var stylesBinding;
var jsxRuntimeEnv1_9Binding;
var object;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var items2;
var items3;
if (item.type === 'header') {
value = environment.__proto__;
jsxRuntimeEnv1_9Binding = jsxRuntimeEnv1_9;
object = {};
stylesBinding = styles;
object.style = stylesBinding.header;
string = intl.string;
items2 = [<Text style={stylesBinding.title} accessibilityRole="header" variant="heading-xl/extrabold" color="mobile-text-heading-primary">{Reflect.apply(string,
intl, [t['7Fjv54']])}</Text>];
string = intl.string;
items2[1] = <Text style={stylesBinding.subtitle} variant="text-sm/medium" color="text-default">{Reflect.apply(string,
intl, [t.ait1x0])}</Text>;
items3 = [<View {...object}>{items2}</View>];
string = intl.string;
items3[1] = <SuggestedFriendsSectionHeader label={Reflect.apply(string, intl, [t['1uAmCw']])} />;
return (
<>
{items3}
</>
);
}
const friendSuggestion = item.props.friendSuggestion;
const id = friendSuggestion.suggested_user.id;
value = environment.__proto__;
const Fragment = env1_4.Fragment;
const friendSuggestionsBinding = friendSuggestions;
return (
<Fragment key={id}>
<SuggestionRow
start={index === 1}
end={index === friendSuggestionsBinding.length}
suggestion={friendSuggestion}
selected={item.props.selected}
onSelect={env0_5}
/>
{index < friendSuggestionsBinding.length ? ((FormDivider) => <FormDivider iconPush style={styles.divider} />)((require(7972) /* metro dependency 7972: native */).FormDivider) : null}
</Fragment>
);
}
function _default_92301OnPress() { // fn#92308, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12201:3837, owner: _default_92301.onPress, offset: 0x020842f3, size: 89 bytes, params: 1, frame: 14
var environment;
let value = environment.__proto__;
value = importDefault(21) /* metro dependency 21: SnowflakeUtils */;
value = value.keys(env0_3);
value = value.filter(_fun92309);
onSubmit(value);
value.forEach(function(a0) {
var defaultImport = importDefault(dependencyMap[25]);
var FRIEND_SUGGESTION_ADDED = AnalyticEvents.FRIEND_SUGGESTION_ADDED;
defaultImport.track(FRIEND_SUGGESTION_ADDED, {suggested_user_id: a0,
suggestion_source: SuggestedFriendSource.USER_SUGGESTIONS, location: 'Contact Sync Suggestions'});
});
}
function _fun92306(a0) { // fn#92306, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12201:2422, offset: 0x0208404c, size: 72 bytes, params: 2, frame: 14
env0_0.push({type: 'suggestedFriend', props: {friendSuggestion: a0, selected: env1_3[a0.suggested_user.id]}});
}
function _fun92309(a0) { // fn#92309, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12201:3873, offset: 0x0208434c, size: 16 bytes, params: 2, frame: 2
return env1_3[a0];
}
@@ -0,0 +1,64 @@
/* Metro module 12618; source: modules/contact_sync/native/components/ContactSyncUpsellCTA.tsx; dependencies: [31, 11996, 661, 33, 4501, 697, 7972, 683, 11993, 6802, 1244, 12619, 2] */
function _fun96783(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#96783, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12808:6, offset: 0x02166e60, size: 291 bytes, params: 8, frame: 24
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = importAll(31) /* metro dependency 31 */;
const env0_3 = (require(11996) /* metro dependency 11996: ContactSyncPersistedStore */).dismissUpsellCTA;
const constantsModule = require(661) /* metro dependency 661: Constants */;
const env0_4 = constantsModule.AnalyticEvents;
const env0_5 = constantsModule.AnalyticsSections;
const env0_6 = (require(33) /* metro dependency 33 */).jsx;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const object = {padding: 12};
object.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object.backgroundColor = BACKGROUND_SURFACE_HIGH;
const env0_7 = Reflect.apply(createStyles, createStylesModule, [{container: object}]);
value = value.memo(ContactSyncUpsellCTA);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/ContactSyncUpsellCTA.tsx');
exports.default = value;
}
function ContactSyncUpsellCTA({style, location}) { // fn#96784, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12808:346, offset: 0x02166f83, size: 241 bytes, params: 2, frame: 20
const styles = useStyles();
const FormCTA = (require(7972) /* metro dependency 7972: native */).FormCTA;
const formCTAProps = {onPress: onPress_96785, onLongPress: onLongPress_96786, style: [styles.container, style],
iconSource: importDefault(12619) /* metro dependency 12619 */};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const T6Rfd9 = (require(1244) /* metro dependency 1244: indexNative */).t.T6Rfd9;
formCTAProps.title = Reflect.apply(string, intl, [T6Rfd9]);
formCTAProps.subtitle = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.c6KIpg);
return <FormCTA {...formCTAProps} />;
}
function ContactSyncUpsellCTAOnPress() { // fn#96785, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12808:442, owner: ContactSyncUpsellCTA.onPress, offset: 0x02167074, size: 160 bytes, params: 1, frame: 21
const value = environment.__proto__;
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const OPEN_MODAL = AnalyticEvents.OPEN_MODAL;
const CONTACT_SYNC_MODAL = AnalyticsSections.CONTACT_SYNC_MODAL;
const locationBinding = location;
const value3 = 'Friends List Upsell';
Reflect.apply(track, defaultImport, [OPEN_MODAL, {type: CONTACT_SYNC_MODAL,
location: {page: locationBinding != null ? location : value3}}]);
(require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */).openContactSyncModal({},
{page: location ?? value3});
}
function ContactSyncUpsellCTAOnLongPress() { // fn#96786, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12808:636, owner: ContactSyncUpsellCTA.onLongPress, offset: 0x02167114, size: 132 bytes, params: 1, frame: 18
var environment;
let value = environment.__proto__;
value = require(6802) /* metro dependency 6802: showSimpleActionSheet */;
const showSimpleActionSheet = value.showSimpleActionSheet;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const WAI6xu = (require(1244) /* metro dependency 1244: indexNative */).t.WAI6xu;
Reflect.apply(showSimpleActionSheet, value, [{'key': 'ContactSyncUpsellLongPress', 'options': null,
'hasIcons': false, options: [{label: Reflect.apply(string, intl, [WAI6xu]), onPress: function() {
dismissUpsellCTA();
}}]}]);
}
@@ -0,0 +1,58 @@
/* Metro module 12003; source: modules/contact_sync/native/components/RedesignContactSyncDiscoverabilityFooter.tsx; dependencies: [27, 661, 33, 4501, 697, 6808, 1244, 4573, 1948, 2] */
function _fun92264(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92264, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12189:6, offset: 0x020814e2, size: 345 bytes, params: 8, frame: 23
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = (require(27) /* metro dependency 27 */).View;
const env0_4 = (require(661) /* metro dependency 661: Constants */).HelpdeskArticles;
let value = require(33) /* metro dependency 33 */;
const env0_5 = value.jsx;
const env0_6 = value.Fragment;
const env0_7 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object2.footerText = {paddingTop: PX_8};
const object4 = {};
const INTERACTIVE_BACKGROUND_ACTIVE = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_BACKGROUND_ACTIVE;
object4.borderColor = INTERACTIVE_BACKGROUND_ACTIVE;
object4.borderWidth = 1;
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object4.overflow = 'hidden';
const SHADOW_LOW = (importDefault(697) /* metro dependency 697: native */).shadows.SHADOW_LOW;
copyDataProperties(object4, SHADOW_LOW, undefined);
object2.tableRowContainer = object4;
const env0_8 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/RedesignContactSyncDiscoverabilityFooter.tsx');
exports.default = RedesignContactSyncDiscoverabilityFooter;
}
function RedesignContactSyncDiscoverabilityFooter({discoverabilityEnabled, onValueChanged}) { // fn#92265, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12189:543, offset: 0x0208163b, size: 340 bytes, params: 2, frame: 28
const styles = useStyles();
const jsxRuntimeEnv0_6Binding = jsxRuntimeEnv0_6;
const TableSwitchRow = (require(6808) /* metro dependency 6808: TableSwitchRowNative */).TableSwitchRow;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const view = <View style={styles.tableRowContainer}><TableSwitchRow label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.a5QL24)} onValueChange={onValueChanged} value={discoverabilityEnabled} start end /></View>;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const format = intl.format;
const zopgpe = (require(1244) /* metro dependency 1244: indexNative */).t.zopgpe;
const defaultImport = importDefault(1948) /* metro dependency 1948: HelpdeskUtils */;
const getArticleURL = defaultImport.getArticleURL;
const CONTACT_SYNC = HelpdeskArticles.CONTACT_SYNC;
return (
<>
{view}
<Text
style={styles.footerText}
variant="text-xs/medium"
color="text-muted"
>
{Reflect.apply(format, intl, [zopgpe, {helpdeskUrl: Reflect.apply(getArticleURL, defaultImport,
[CONTACT_SYNC])}])}
</Text>
</>
);
}
@@ -0,0 +1,488 @@
/* Metro module 12002; source: modules/contact_sync/native/components/RedesignContactSyncModal.tsx; dependencies: [5, 57, 31, 27, 1878, 7030, 11994, 11995, 661, 4661, 33, 4501, 697, 5314, 11993, 4573, 1244, 11997, 12003, 1585, 1484, 566, 12001, 477, 676, 683, 4080, 12004, 1962, 4662, 7704, 12005, 12006, 12009, 12012, 12013, 12014, 12015, 12017, 480, 5282, 12019, 12020, 5280, 2] */
function _fun92213(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92213, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:6, offset: 0x0207febf, size: 578 bytes, params: 8, frame: 23
const env0_0 = require;
const headerTitle_92214 = function() {
return null;
};
const headerLeft = function() {
return null;
};
const closure = ContactSyncModal;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
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 userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const appStateStore = importDefault(7030) /* metro dependency 7030: AppStateStore */;
let value = require(11994) /* metro dependency 11994: ContactSyncModalStore */;
const env0_9 = value.setName;
const env0_10 = value.useContactSyncModalStore;
const env0_11 = value.useIsOnboarding;
value = require(11995) /* metro dependency 11995: ContactSyncConstants */;
const env0_12 = value.ContactPermissions;
const env0_13 = value.ContactSyncScenes;
const env0_14 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
const env0_15 = (require(4661) /* metro dependency 4661: NativePermissionConstants */).NativePermissionTypes;
value = require(33) /* metro dependency 33 */;
const env0_16 = value.jsx;
const env0_17 = value.Fragment;
const env0_18 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
const object = {'flex': 1, 'backgroundColor': null, 'justifyContent': 'center'};
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
object.backgroundColor = BACKGROUND_BASE_LOW;
const NAV_BAR_HEIGHT = (require(5314) /* metro dependency 5314: NavigatorConstantsNative */).NAV_BAR_HEIGHT;
object.paddingTop = NAV_BAR_HEIGHT + 32;
const env0_19 = Reflect.apply(createStyles, value, [{container: object, landingTrailing: {textAlign: 'center'}}]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/RedesignContactSyncModal.tsx');
exports.default = closure;
exports.ContactSyncOnboardingModal = ContactSyncOnboardingModal;
}
function OnboardingTrailingLanding() { // fn#92216, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:651, offset: 0x02080101, size: 161 bytes, params: 1, frame: 20
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 property = (require(1244) /* metro dependency 1244: indexNative */).t['84S6+Z'];
const object = {};
object.learnMoreUrl = (require(11997) /* metro dependency 11997: ContactSyncUtils */).getOpenLearnMoreUrl();
return (
<Text
style={styles.landingTrailing}
variant="text-sm/medium"
color="text-muted"
>
{Reflect.apply(format, intl, [property, object])}
</Text>
);
}
function OnboardingTrailing({isOnboarding, discoverabilityEnabled, setDiscoverabilityEnabled}) { // fn#92217, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:890, offset: 0x020801a2, size: 89 bytes, params: 2, frame: 16
var r0;
var value;
if (isOnboarding) {
r0 = <OnboardingTrailingLanding />;
} else {
value = importDefault(12003) /* metro dependency 12003: RedesignContactSyncDiscoverabilityFooter */;
value = ((Component) => <Component discoverabilityEnabled={discoverabilityEnabled} onValueChanged={setDiscoverabilityEnabled} />)(value);
r0 = value;
}
return r0;
}
function ContactSyncLandingScreen({openSettingsSheet, loading, setLoading, onComplete}) { // fn#92218, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:1086, offset: 0x020801fb, size: 942 bytes, params: 2, frame: 36
var r8;
var defaultImport3;
var object6;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const styles = useStyles();
const bottom = (importDefault(1585) /* metro dependency 1585: useSafeAreaInsetsNative */)().bottom;
const value3 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation();
const env0_3 = value3;
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
const env0_4 = currentUser;
const phone = currentUser?.phone;
const env0_5 = phone;
const {permissionState, error} = useContactSyncModalStore();
const [property, property2] = env0_4(env0_5.useState(true), 2);
const value7 = useIsOnboarding();
const value8 = env0_5.useCallback(_fun92220, [currentUser?.email, property, value7, value3, setLoading, phone]);
env0_5.useEffect(_fun92225, [(require(566) /* metro dependency 566: flux */).useStateFromStores([AppStateStore],
function() {
return AppStateStore.getState();
}, [])]);
env0_5.useEffect(_fun92226, [openSettingsSheet]);
const value11 = env0_5.useCallback(env0_3(_fun92228), [value8, onComplete]);
const jsxRuntimeEnv0_17Binding = jsxRuntimeEnv0_17;
const value12 = ((Component) => <Component absolute />)(importDefault(7704) /* metro dependency 7704: ThemedGradient */);
const items2 = [styles.container];
items2[1] = {paddingBottom: bottom > 0 ? bottom : 16};
if (value7) {
defaultImport3 = importDefault(12005) /* metro dependency 12005: NewUserPermissionsOnboardingAndroid */;
r8 = ((Component) => <Component title={intl.string(t.DjcfHu)} subtitle={intl.string(t['kq+Cd3'])} trailing={<OnboardingTrailing isOnboarding={value7} discoverabilityEnabled={property} setDiscoverabilityEnabled={property2} />} header={((Component) => <Component />)(importDefault(12006) /* metro dependency 12006: ContactSyncLandingImage */)} loading={loading} showSkip={value7} onAllow={value11} onDontAllow={onDontAllow} />)(defaultImport3);
} else if (permissionState !== ContactPermissions.AUTHORIZED) {
defaultImport3 = importDefault(12005) /* metro dependency 12005: NewUserPermissionsOnboardingAndroid */;
r8 = ((Component) => <Component title={intl.string(t.DjcfHu)} subtitle={intl.string(t['kq+Cd3'])} trailing={<OnboardingTrailing isOnboarding={value7} discoverabilityEnabled={property} setDiscoverabilityEnabled={property2} />} header={((Component) => <Component />)(importDefault(12006) /* metro dependency 12006: ContactSyncLandingImage */)} loading={loading} showSkip={value7} onAllow={value11} onDontAllow={onDontAllow} />)(defaultImport3);
} else {
r8 = ((Component) => <Component onNext={value8} error={error} loading={loading} discoverabilityEnabled={property} setDiscoverabilityEnabled={property2} />)(importDefault(12009) /* metro dependency 12009: ContactSyncLandingOnboardingRedesign */);
}
return (
<>
{value12}
<View style={items2}>
{r8}
</View>
</>
);
}
function ContactSyncNameInputScreen({navigateToLandingPage}) { // fn#92230, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:2787, offset: 0x020808ca, size: 346 bytes, params: 2, frame: 25
const styles = useStyles();
const value2 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation();
const [property, env0_2] = env0_4(env0_5.useState(false), 2);
const {name, isNameFromContactBook, error} = useContactSyncModalStore();
(importDefault(12012) /* metro dependency 12012: useBackHandlerSkipPhoneScreens */)(value2, navigateToLandingPage);
const value7 = env0_5.useCallback(_fun92231(), [value2]);
env0_5.useLayoutEffect(_fun92236, [property, value7, value2]);
const contactSyncNameInput = importDefault(12014) /* metro dependency 12014: ContactSyncNameInput */;
const value8 = '';
return (
<View style={styles.container}>
{((Component) => <Component onNext={value7} error={error} loading={property} initialName={name ?? value8} prefilledFromContactBook={name != null && value8 !== name && isNameFromContactBook} />)(contactSyncNameInput)}
</View>
);
}
function ContactSyncSuggestionScreen({onComplete}) { // fn#92239, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:3462, offset: 0x02080b5e, size: 318 bytes, params: 2, frame: 20
var r0;
var value;
const styles = useStyles();
const value2 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation();
const suggestions = useContactSyncModalStore().suggestions;
(require(12012) /* metro dependency 12012: useBackHandlerSkipPhoneScreens */).useBackHandlerMinimizeApp();
env0_5.useLayoutEffect(_fun92241, [env0_5.useCallback(_fun92240, [onComplete, suggestions.length]), value2,
onComplete, suggestions.length]);
if (suggestions.length > 0) {
value = importDefault(12015) /* metro dependency 12015: ContactSyncSuggestions */;
value = ((Component) => <Component friendSuggestions={suggestions} onSubmit={onSubmit} />)(value);
r0 = value;
} else {
var viewBindingProps = {style: styles.container};
value = importDefault(12017) /* metro dependency 12017: ContactSyncInviteFriends */;
value = <View {...viewBindingProps}>{((Component) => <Component />)(value)}</View>;
r0 = value;
}
return r0;
}
function ContactSyncModal({onComplete, initialRoutes, openSettingsSheet}) { // fn#92245, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:4024, offset: 0x02080d95, size: 381 bytes, params: 2, frame: 21
const [property, env0_3] = env0_4(env0_5.useState(false), 2);
const value4 = useIsOnboarding();
env0_5.useEffect(_fun92246, [value4]);
const value5 = env0_5.useMemo(function() {
return onComplete ?? _fun92248;
}, [onComplete]);
var env0_5 = value5;
const value6 = env0_5.useMemo(_fun92249, [value4, property, openSettingsSheet, value5]);
env0_5.useEffect(function() {
return _fun92262;
}, [value4, value5]);
const Navigator = (require(5280) /* metro dependency 5280: NavigatorNative */).Navigator;
const r5 = initialRoutes ?? [{name: ContactSyncScenes.WELCOME}];
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
return (
<Navigator
screens={value6}
initialRouteStack={r5}
headerBackTitle={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['13/7kX'])}
/>
);
}
function ContactSyncOnboardingModal(a0) { // fn#92263, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:6825, offset: 0x0208149b, size: 71 bytes, params: 2, frame: 15
return (
<ContactSyncModal
onComplete={a0.route.params.onComplete}
openSettingsSheet={a0.openSettingsSheet}
initialRoutes={a0.initialRoutes}
/>
);
}
function _fun92220() { // fn#92220, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:1420, offset: 0x020805a9, size: 56 bytes, params: 1, frame: 13
var environment;
setLoading(true);
const setTimeout = global.setTimeout;
const value = environment.__proto__;
setTimeout(env1_3(_fun92222), 25);
}
function _fun92225() { // fn#92225, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:1741, offset: 0x020806eb, size: 116 bytes, params: 1, frame: 15
const value = environment.__proto__;
if ((require(477) /* metro dependency 477: PlatformUtils */).isAndroid() && env0_9 === (require(676) /* metro dependency 676: ConstantsIOS */).AppStates.ACTIVE) {
(require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */).refreshContactSyncPermissionStatus();
}
}
function _fun92226() { // fn#92226, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:1865, offset: 0x0208075f, size: 150 bytes, params: 1, frame: 19
var defaultImport;
var defaultImport2;
var openLazy;
var value;
if (openSettingsSheet) {
value = environment.__proto__;
defaultImport = importDefault(dependencyMap[25]);
defaultImport.track(AnalyticEvents.OPEN_POPOUT, {type: 'Contact Sync', location: {page: 'Contact Sync'}});
defaultImport2 = importDefault(dependencyMap[26]);
openLazy = defaultImport2.openLazy;
value = require(dependencyMap[28]);
value = value(dependencyMap[27], dependencyMap.paths);
Reflect.apply(openLazy, defaultImport2, [value, 'Contact Sync Info Settings']);
}
}
function* _fun92228() { // fn#92228, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:2060, offset: 0x02080800, size: 143 bytes, params: 1, frame: 15
var closeContactSyncModal;
var value6;
if (true) {
value = environment.__proto__.__proto__;
var value3 = env2_1(env2_2[29]);
var requestPermission = value3.requestPermission;
var CONTACTS = env2_15.CONTACTS;
yield Reflect.apply(requestPermission, value3, [CONTACTS]);
var value4 = undefined;
if (false) {
return value4;
}
if (value4) {
value = environment.__proto__;
AppStateStore();
} else {
value = env2_0(env2_2[14]);
closeContactSyncModal = value.closeContactSyncModal;
value6 = environment.__proto__;
Reflect.apply(closeContactSyncModal, value, [{onComplete: dependencyMap, skip: true}]);
}
}
}
function onDontAllow() { // fn#92229, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:2591, owner: ContactSyncLandingScreen.onDontAllow, offset: 0x0208088f, size: 59 bytes, params: 1, frame: 13
const onCompleteBinding = onComplete;
let value = environment.__proto__;
value = require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */;
value.closeContactSyncModal({onComplete: onCompleteBinding, skip: true});
}
function _fun92231() { // fn#92231, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:3012, offset: 0x02080a24, size: 36 bytes, params: 1, frame: 12
const env0_0 = env1_3(_fun92233);
return _fun92235;
}
function _fun92236() { // fn#92236, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:3206, offset: 0x02080ade, size: 38 bytes, params: 1, frame: 12
const binding = env0_0;
binding.setOptions({headerRight: headerRight_92237});
}
function _fun92240(a0, a1) { // fn#92240, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:3628, offset: 0x02080c9c, size: 82 bytes, params: 3, frame: 14
const value = environment.__proto__;
(require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */).closeContactSyncModal({onComplete: onComplete,
skip: a0, friendsFound: suggestions.length, friendsAdded: a1});
}
function _fun92241() { // fn#92241, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:3769, offset: 0x02080cee, size: 38 bytes, params: 1, frame: 12
const binding = env0_1;
binding.setOptions({headerRight: headerRight_92242});
}
function ContactSyncSuggestionScreenOnSubmit(a0) { // fn#92244, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:3931, owner: ContactSyncSuggestionScreen.onSubmit, offset: 0x02080d64, size: 49 bytes, params: 2, frame: 13
let value = environment.__proto__;
value = require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */;
return value.bulkAddFriendSuggestions(a0, onComplete);
}
function _fun92246() { // fn#92246, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:4165, offset: 0x02080f12, size: 49 bytes, params: 1, frame: 11
var value;
if (env0_4) {
value = environment.__proto__;
value = require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */;
value.refreshContactSyncPermissionStatus();
}
}
function _fun92247() { // fn#92247, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:4243, offset: 0x02080f43, size: 30 bytes, params: 1, frame: 3
return onComplete ?? (function() {
});
}
function _fun92249() { // fn#92249, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:4283, offset: 0x02080f61, size: 68 bytes, params: 1, frame: 11
return getScreens_92250({isOnboarding: env0_4, loading: env0_2, setLoading: env0_3,
openSettingsSheet: openSettingsSheet, onComplete: env0_5});
}
function _fun92261() { // fn#92261, offset: 0x02081450, size: 11 bytes, params: 1, frame: 1
return _fun92262;
}
function* _fun92222() { // fn#92222, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:1445, offset: 0x020805ec, size: 237 bytes, params: 1, frame: 18
var environment;
var r5;
var binding;
var value12;
if (true) {
value = environment.__proto__.__proto__;
if (UserStore) {
value12 = environment.__proto__.__proto__.__proto__;
} else {
binding = env3_1;
var value4 = undefined;
var value5 = binding(env3_2[22]);
var updateDiscoverability = value5.updateDiscoverability;
var object2 = {};
r5 = View ? (env2_4 == null ? value4 : env2_4.email) != null : !!View;
object2.email = r5;
r5 = View ? env2_5 != null : !!View;
object2.phone = r5;
yield Reflect.apply(updateDiscoverability, value5, [object2]);
if (false) {
return undefined;
}
}
var value13 = env3_0(env3_2[14]);
yield value13.startContactSync(env2_3);
if (false) {
return undefined;
}
global.setTimeout(function() {
return importDefault(false);
}, 2000);
}
}
function* _fun92233(a0) { // fn#92233, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:3032, offset: 0x02080a53, size: 121 bytes, params: 2, frame: 15
var environment;
if (true) {
value = environment.__proto__.__proto__;
dependencyMap(true);
env3_9(a0);
var value4 = env3_0(env3_2[14]);
yield value4.startContactSync(require);
if (false) {
return undefined;
}
global.setTimeout(function() {
return dependencyMap(false);
}, 2000);
}
}
function headerRight_92237() { // fn#92237, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:3237, offset: 0x02080b04, size: 70 bytes, params: 1, frame: 14
var environment;
const value = environment.__proto__.__proto__;
return ((Component) => <Component insideNavigator disabled={env1_1} onPress={onPress_92238} />)(importDefault(12013) /* metro dependency 12013: SkipHeaderButton */);
}
function headerRight_92242() { // fn#92242, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:3800, offset: 0x02080d14, size: 59 bytes, params: 1, frame: 14
var environment;
const value = environment.__proto__.__proto__;
return ((Component) => <Component insideNavigator onPress={onPress_92243} />)(importDefault(12013) /* metro dependency 12013: SkipHeaderButton */);
}
function getScreens_92250({isOnboarding, loading, setLoading, openSettingsSheet, onComplete, navigateToLandingPage}) { // fn#92250, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:4287, offset: 0x02080fa5, size: 804 bytes, params: 2, frame: 22
const object3 = {};
const WELCOME = ContactSyncScenes.WELCOME;
const object4 = {ignoreKeyboard: true};
const ImpressionNames = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionNames;
const CONTACT_SYNC_START = ImpressionNames.CONTACT_SYNC_START;
object4.impressionName = CONTACT_SYNC_START;
const ImpressionGroups = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionGroups;
let CONTACT_SYNC_FLOW = ImpressionGroups.CONTACT_SYNC_FLOW;
object4.impressionProperties = {impression_group: CONTACT_SYNC_FLOW};
object4.fullscreen = true;
object4.headerTitle = headerTitle_92214;
object4.headerLeft = isOnboarding ? headerLeft : (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton(_fun92251);
object4.render = render_92252;
object3[WELCOME] = object4;
const NAME_INPUT = ContactSyncScenes.NAME_INPUT;
const CONTACT_SYNC_INPUT_NAME = ImpressionNames.CONTACT_SYNC_INPUT_NAME;
CONTACT_SYNC_FLOW = ImpressionGroups.CONTACT_SYNC_FLOW;
headerTitle_92214Binding = headerTitle_92214;
const headerLeftBinding = headerLeft;
object3[NAME_INPUT] = {ignoreKeyboard: true, impressionName: CONTACT_SYNC_INPUT_NAME,
impressionProperties: {impression_group: CONTACT_SYNC_FLOW}, fullscreen: true,
headerTitle: headerTitle_92214Binding, headerLeft: headerLeftBinding, render: render_92253};
const SUGGESTIONS = ContactSyncScenes.SUGGESTIONS;
const CONTACT_SYNC_SUGGESTIONS = ImpressionNames.CONTACT_SYNC_SUGGESTIONS;
CONTACT_SYNC_FLOW = ImpressionGroups.CONTACT_SYNC_FLOW;
object3[SUGGESTIONS] = {ignoreKeyboard: true, impressionName: CONTACT_SYNC_SUGGESTIONS,
impressionProperties: {impression_group: CONTACT_SYNC_FLOW}, fullscreen: true,
headerTitle: headerTitle_92214Binding, headerLeft: headerLeftBinding, render: render_92254};
const ADD_PHONE = ContactSyncScenes.ADD_PHONE;
const USER_ADD_PHONE = ImpressionNames.USER_ADD_PHONE;
CONTACT_SYNC_FLOW = ImpressionGroups.CONTACT_SYNC_FLOW;
object3[ADD_PHONE] = {impressionName: USER_ADD_PHONE, impressionProperties: {impression_group: CONTACT_SYNC_FLOW},
fullscreen: true, headerTitle: headerTitle_92214Binding, headerLeft: headerLeft_92255, render: render_92256};
const VERIFY_PHONE = ContactSyncScenes.VERIFY_PHONE;
const USER_VERIFY_PHONE = ImpressionNames.USER_VERIFY_PHONE;
CONTACT_SYNC_FLOW = ImpressionGroups.CONTACT_SYNC_FLOW;
object3[VERIFY_PHONE] = {impressionName: USER_VERIFY_PHONE,
impressionProperties: {impression_group: CONTACT_SYNC_FLOW}, fullscreen: true,
headerTitle: headerTitle_92214Binding, headerLeft: headerLeft_92257, render: render_92258};
const VERIFY_PASSWORD = ContactSyncScenes.VERIFY_PASSWORD;
const USER_VERIFY_PASSWORD = ImpressionNames.USER_VERIFY_PASSWORD;
CONTACT_SYNC_FLOW = ImpressionGroups.CONTACT_SYNC_FLOW;
object3[VERIFY_PASSWORD] = {impressionName: USER_VERIFY_PASSWORD,
impressionProperties: {impression_group: CONTACT_SYNC_FLOW}, fullscreen: true, headerLeft: headerLeft_92259,
headerTitle: headerTitle_92214Binding, render: render_92260};
return object3;
}
function _fun92262() { // fn#92262, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:6462, offset: 0x0208145b, size: 64 bytes, params: 1, frame: 12
var value2;
var moduleValue;
if (!env1_4) {
value2 = environment.__proto__.__proto__;
moduleValue = require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */;
moduleValue.closeContactSyncModal({onComplete: env1_5});
}
}
function headerRight_92237OnPress() { // fn#92238, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:3291, owner: headerRight_92237.onPress, offset: 0x02080b4a, size: 20 bytes, params: 1, frame: 11
env2_3('');
}
function headerRight_92242OnPress() { // fn#92243, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:3843, owner: headerRight_92242.onPress, offset: 0x02080d4f, size: 21 bytes, params: 1, frame: 13
return env2_3(true, 0);
}
function _fun92251() { // fn#92251, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:4679, offset: 0x020812c9, size: 59 bytes, params: 1, frame: 12
const value = environment.__proto__.__proto__.__proto__;
return (require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */).closeContactSyncModal({onComplete: onComplete,
skip: true});
}
function getScreens_92250Render() { // fn#92252, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:4747, owner: getScreens_92250.render, offset: 0x02081304, size: 62 bytes, params: 1, frame: 14
return (
<ContactSyncLandingScreen
onComplete={onComplete}
openSettingsSheet={openSettingsSheet}
loading={loading}
setLoading={setLoading}
/>
);
}
function getScreens_92250Render_92253() { // fn#92253, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:5087, owner: getScreens_92250.render, offset: 0x02081342, size: 35 bytes, params: 1, frame: 13
return <ContactSyncNameInputScreen navigateToLandingPage={navigateToLandingPage} />;
}
function getScreens_92250Render_92254() { // fn#92254, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:5399, owner: getScreens_92250.render, offset: 0x02081365, size: 35 bytes, params: 1, frame: 13
return <ContactSyncSuggestionScreen onComplete={onComplete} />;
}
function getScreens_92250HeaderLeft(a0) { // fn#92255, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:5653, owner: getScreens_92250.headerLeft, offset: 0x02081388, size: 65 bytes, params: 2, frame: 15
const value = environment.__proto__.__proto__.__proto__;
return ((Component) => <Component {...a0} {...{['navigateToLandingPage']: navigateToLandingPage}} />)(importDefault(12019) /* metro dependency 12019: ContactSyncBackToLanding */);
}
function getScreens_92250Render_92256() { // fn#92256, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:5706, owner: getScreens_92250.render, offset: 0x020813c9, size: 45 bytes, params: 1, frame: 13
const AddPhoneScreen = (require(12020) /* metro dependency 12020: AddPhoneScreens */).AddPhoneScreen;
return <AddPhoneScreen />;
}
function getScreens_92250Render_92258() { // fn#92258, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:6003, owner: getScreens_92250.render, offset: 0x020813f6, size: 45 bytes, params: 1, frame: 13
const VerifyPhoneScreen = (require(12020) /* metro dependency 12020: AddPhoneScreens */).VerifyPhoneScreen;
return <VerifyPhoneScreen />;
}
function getScreens_92250Render_92260() { // fn#92260, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12188:6309, owner: getScreens_92250.render, offset: 0x02081423, size: 45 bytes, params: 1, frame: 13
const VerifyPasswordScreen = (require(12020) /* metro dependency 12020: AddPhoneScreens */).VerifyPasswordScreen;
return <VerifyPasswordScreen />;
}
@@ -0,0 +1,48 @@
/* Metro module 12012; source: modules/contact_sync/native/components/useBackHandlerSkipPhoneScreens.tsx; dependencies: [27, 11995, 5286, 2] */
function _fun92286(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92286, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12198:6, offset: 0x02082d50, size: 152 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = (require(27) /* metro dependency 27 */).NativeModules;
const env0_3 = (require(11995) /* metro dependency 11995: ContactSyncConstants */).ContactSyncScenes;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/contact_sync/native/components/useBackHandlerSkipPhoneScreens.tsx');
exports.default = useBackHandlerSkipPhoneScreens;
exports.useBackHandlerMinimizeApp = useBackHandlerMinimizeApp;
}
function useBackHandlerSkipPhoneScreens(a0, a1) { // fn#92287, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12198:265, offset: 0x02082de8, size: 61 bytes, params: 3, frame: 12
const env0_0 = a0;
const env0_1 = a1;
(require(5286) /* metro dependency 5286: useNavigatorBackPressHandlerNative */).useNavigatorBackPressHandler(_fun92288);
}
function useBackHandlerMinimizeApp() { // fn#92289, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12198:601, offset: 0x02082ed0, size: 47 bytes, params: 1, frame: 12
(require(5286) /* metro dependency 5286: useNavigatorBackPressHandlerNative */).useNavigatorBackPressHandler(function() {
var MinimizeApp = NativeModules.MinimizeApp;
MinimizeApp.minimizeApp();
return true;
});
}
function _fun92288() { // fn#92288, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12198:348, offset: 0x02082e25, size: 171 bytes, params: 1, frame: 14
var binding;
var items2;
var routes;
if (require != null) {
require();
} else {
binding = env0_0;
value = environment.__proto__;
items2 = [ContactSyncScenes.ADD_PHONE];
items2[1] = ContactSyncScenes.VERIFY_PHONE;
items2[2] = ContactSyncScenes.VERIFY_PASSWORD;
routes = binding.getState().routes;
if (routes.length <= 2) {
binding.pop();
} else if (items2.includes(routes[routes.length - 2].name)) {
binding.pop(routes.length - 1);
}
}
return true;
}