decord/source/modules/contact_sync/native/ContactSyncAnalyticsUtils.tsx
github-actions 20a21ad13f chore: update source for alpha 346.5
Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4791.js (118.4 MB)
2026-09-11 19:12:58 +00:00

105 lines
3.7 KiB
TypeScript

// Module ID: 12775
// Function ID: 12776
// Name: ContactSyncAnalyticsUtils
// Dependencies: [1371, 12770, 12771, 1074, 12773, 1242, 12776, 2]
// Exports: trackFlowEnd, trackFlowStart, trackFlowStep
// Module 12775 (ContactSyncAnalyticsUtils)
import AnalyticsUtilsDefault from "AnalyticsUtils" /* 1242 */;
import NewUserAnalyticsUtils from "NewUserAnalyticsUtils" /* 12776 */;
import UserStore from "UserStore" /* 1371 */;
const require = globalThis.__r;
require = fn;
const getIsOnboarding = fn(12770).getIsOnboarding;
const ContactPermissions = fn(12771).ContactPermissions;
const AnalyticEvents = fn(1074).AnalyticEvents;
const 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" };
let c8 = null;
let timestamp = 0;
const Onboarding = "Onboarding";
const size = fn(2);
let result = size.fileFinishedImporting("modules/contact_sync/native/ContactSyncAnalyticsUtils.tsx");
export { Steps };
export const CONTACT_SYNC_ONBOARDING_LOCATION = "Onboarding";
export const trackFlowStart = function trackFlowStart(arg0) {
_require = arg0;
const LANDING = obj.LANDING;
closure_9 = Date.now();
const currentUser = UserStore.getCurrentUser();
let phone;
if (currentUser != null) {
phone = currentUser.phone;
}
const has_phone_number = null != phone;
obj = require("ContactSyncUtils");
const result = obj.checkContactPermissions();
result.then((result) => {
let tmp = null;
if (result !== ContactPermissions.NOT_DETERMINED) {
let str = "denied";
if (result === ContactPermissions.AUTHORIZED) {
str = "accepted";
}
tmp = str;
}
const obj = AnalyticsUtilsDefault;
const obj3 = {};
const merged = Object.assign(closure_0);
obj3.flow_type = "Contact Sync";
({ INITIALIZED: obj2.from_step, LANDING: obj2.to_step } = obj);
obj3.skip = false;
obj3.back = false;
obj3.seconds_on_from_step = 0;
obj3.has_phone_number = has_phone_number;
obj3.mobile_contacts_permission = tmp;
obj.track(AnalyticEvents.CONTACT_SYNC_FLOW_KEY, obj3);
});
};
export const trackFlowStep = function trackFlowStep(LANDING, skip, back, location) {
const tmp = getIsOnboarding();
timestamp = Date.now();
const result = (timestamp - timestamp) / 1000;
const obj2 = {};
const merged = Object.assign(location);
if (tmp) {
let _location = Onboarding;
} else if (location != null) {
_location = location.location;
}
obj2.location = _location;
obj2.flow_type = "Contact Sync";
obj2.from_step = from_step;
obj2.to_step = LANDING;
obj2.skip = skip;
obj2.back = back;
obj2.seconds_on_from_step = result;
AnalyticsUtilsDefault.track(AnalyticEvents.CONTACT_SYNC_FLOW_KEY, obj2);
if (tmp) {
const obj4 = { skip };
NewUserAnalyticsUtils.trackNUFStep(from_step, LANDING, obj4);
}
from_step = LANDING;
};
export const trackFlowEnd = function trackFlowEnd(flag, location) {
timestamp = Date.now();
const obj = AnalyticsUtilsDefault;
const obj2 = {};
const merged = Object.assign(location);
if (tmp) {
let _location = Onboarding;
} else if (location != null) {
_location = location.location;
}
obj2.location = _location;
obj2.flow_type = "Contact Sync";
obj2.from_step = from_step;
obj2.to_step = obj.COMPLETE;
obj2.skip = flag;
obj2.back = false;
obj2.seconds_on_from_step = (timestamp - timestamp) / 1000;
obj.track(AnalyticEvents.CONTACT_SYNC_FLOW_KEY, obj2);
from_step = null;
};