Files
discord-decomp/sources/modules/contact_sync/native/ContactSyncAnalyticsUtils.tsx
T
2026-07-28 01:06:53 +03:00

115 lines
6.5 KiB
TypeScript

/* Metro module 11999; source: modules/contact_sync/native/ContactSyncAnalyticsUtils.tsx; dependencies: [1878, 11994, 11995, 661, 11997, 683, 12000, 2] */
import AnalyticsUtils from '../../../utils/AnalyticsUtils.tsx'; /* Metro dependency 683 */
import UserStore from '../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */
import * as ContactSyncModalStoreModule from './ContactSyncModalStore.tsx'; /* Metro dependency 11994 */
import * as ContactSyncConstantsModule from './ContactSyncConstants.tsx'; /* Metro dependency 11995 */
import * as ContactSyncUtilsModule from './ContactSyncUtils.tsx'; /* Metro dependency 11997 */
function _fun92193(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92193, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12185:6, offset: 0x0207f245, size: 366 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(FileImportTrackerModule).fileFinishedImporting('modules/contact_sync/native/ContactSyncAnalyticsUtils.tsx');
exports.Steps = {INITIALIZED: 'Flow Initialized', LANDING: 'Landing',
PERMISSION_REQUESTED: 'Contacts Permission Requested', NAME_INPUT: 'Name Input',
SUGGESTIONS_RESULTS: 'Suggestions Results', CONTACT_INVITES: 'Contact Invites',
ADD_PHONE_NUMBER: 'Add Phone Number', VERIFY_PHONE_NUMBER: 'Verify Phone Number',
PASSWORD_CONFIRM: 'Password Confirmation', COMPLETE: 'Complete'};
exports.CONTACT_SYNC_ONBOARDING_LOCATION = 'Onboarding';
exports.trackFlowStart = trackFlowStart;
exports.trackFlowStep = trackFlowStep;
exports.trackFlowEnd = trackFlowEnd;
function trackFlowStart(a0) { // fn#92194, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12185:756, offset: 0x0207f3b3, size: 136 bytes, params: 2, frame: 15
const env0_0 = a0;
env0_8 = env0_7.LANDING;
const Date = global.Date;
env0_9 = Date.now();
const currentUser = UserStore.getCurrentUser();
const value3 = undefined;
const result = (currentUser == null ? value3 : currentUser.phone) != null;
let value = ContactSyncUtilsModule;
value = value.checkContactPermissions();
value.then(_fun92195);
return value3;
function _fun92195(a0) { // fn#92195, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12185:912, offset: 0x0207f43b, size: 218 bytes, params: 2, frame: 19
const NOT_DETERMINED = ContactPermissions.NOT_DETERMINED;
const r6 = a0 === NOT_DETERMINED ? null : a0 !== ContactPermissions.AUTHORIZED ? 'denied' : 'accepted';
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const CONTACT_SYNC_FLOW_KEY = AnalyticEvents.CONTACT_SYNC_FLOW_KEY;
const object = {};
copyDataProperties(object, env0_0, undefined);
object['flow_type'] = 'Contact Sync';
const binding = env1_7;
const INITIALIZED = binding.INITIALIZED;
object['from_step'] = INITIALIZED;
const LANDING = binding.LANDING;
object['to_step'] = LANDING;
object['skip'] = false;
object['back'] = false;
object['seconds_on_from_step'] = 0;
object['has_phone_number'] = result;
object['mobile_contacts_permission'] = r6;
Reflect.apply(track, defaultImport, [CONTACT_SYNC_FLOW_KEY, object]);
}
}
function trackFlowStep(a0, a1, a2, a3) { // fn#92196, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12185:1205, offset: 0x0207f515, size: 273 bytes, params: 5, frame: 25
var moduleValue;
const getIsOnboardingBinding = getIsOnboarding;
const value2 = undefined;
const isOnboardingBinding = getIsOnboardingBinding();
const Date = global.Date;
const value5 = (Date.now() - env0_9) / 1000;
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const CONTACT_SYNC_FLOW_KEY = AnalyticEvents.CONTACT_SYNC_FLOW_KEY;
const object = {};
copyDataProperties(object, a3, undefined);
object['location'] = isOnboardingBinding ? 'Onboarding' : a3 == null ? value2 : a3.location;
object['flow_type'] = 'Contact Sync';
object['from_step'] = env0_8;
object['to_step'] = a0;
object['skip'] = a1;
object['back'] = a2;
object['seconds_on_from_step'] = value5;
Reflect.apply(track, defaultImport, [CONTACT_SYNC_FLOW_KEY, object]);
if (isOnboardingBinding) {
moduleValue = require(12000) /* metro dependency 12000: NewUserAnalyticsUtils */;
moduleValue.trackNUFStep(env0_8, a0, {skip: a1});
}
env0_8 = a0;
return value2;
}
function trackFlowEnd(a0, a1) { // fn#92197, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12185:1503, offset: 0x0207f626, size: 230 bytes, params: 3, frame: 20
const getIsOnboardingBinding = getIsOnboarding;
const value2 = undefined;
const isOnboardingBinding = getIsOnboardingBinding();
const Date = global.Date;
const value4 = Date.now();
const defaultImport = AnalyticsUtils;
const track = defaultImport.track;
const CONTACT_SYNC_FLOW_KEY = AnalyticEvents.CONTACT_SYNC_FLOW_KEY;
const object = {};
copyDataProperties(object, a1, undefined);
object['location'] = isOnboardingBinding ? 'Onboarding' : a1 == null ? value2 : a1.location;
object['flow_type'] = 'Contact Sync';
object['from_step'] = env0_8;
const COMPLETE = env0_7.COMPLETE;
object['to_step'] = COMPLETE;
object['skip'] = a0;
object['back'] = false;
object['seconds_on_from_step'] = (value4 - env0_9) / 1000;
Reflect.apply(track, defaultImport, [CONTACT_SYNC_FLOW_KEY, object]);
return value2;
}
}
global.__d(_fun92193, 11999, [1878, 11994, 11995, 661, 11997, 683, 12000,
2]) /* metro module 11999, dependencies: [1878, 11994, 11995, 661, 11997, 683, 12000, 2] */;