// Metro module 11773 (f11774). import UserStore from "../../../stores/UserStore"; import { getIsOnboarding } from "./ContactSyncModalStore"; import { ContactPermissions } from "./ContactSyncConstants"; import { AnalyticEvents } from "../../../Constants"; import { checkContactPermissions } from "./ContactSyncUtils"; import AnalyticsUtils from "../../../utils/AnalyticsUtils"; import { trackNUFStep } from "../../nuf/native/NewUserAnalyticsUtils"; let c8066_7 = { 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 LANDING = null; let c8066_9 = 0; const location2 = "Onboarding"; export { c8066_7 as Steps }; export const CONTACT_SYNC_ONBOARDING_LOCATION = "Onboarding"; export function trackFlowStart(c19158_0) { LANDING = c8066_7.LANDING; c8066_9 = Date.now(); const has_phone_number = UserStore.getCurrentUser()?.phone != null; checkContactPermissions().then((result) => { AnalyticsUtils.track(AnalyticEvents.CONTACT_SYNC_FLOW_KEY, { ...c19158_0, flow_type: "Contact Sync", from_step: c8066_7.INITIALIZED, to_step: c8066_7.LANDING, skip: false, back: false, seconds_on_from_step: 0, has_phone_number, mobile_contacts_permission: result !== ContactPermissions.NOT_DETERMINED ? result === ContactPermissions.AUTHORIZED ? "accepted" : "denied" : null }); }); } export function trackFlowStep(a0, a1, a2, a3) { const isOnboarding = getIsOnboarding(); const r20 = Date.now(); AnalyticsUtils.track(AnalyticEvents.CONTACT_SYNC_FLOW_KEY, { ...a3, location: isOnboarding ? location2 : a3?.location, flow_type: "Contact Sync", from_step: LANDING, to_step: a0, skip: a1, back: a2, seconds_on_from_step: (r20 - c8066_9) / 1000 }); if (isOnboarding) { trackNUFStep(LANDING, a0, { skip: a1 }); } c8066_9 = r20; LANDING = a0; } export function trackFlowEnd(a0, a1) { AnalyticsUtils.track(AnalyticEvents.CONTACT_SYNC_FLOW_KEY, { ...a1, location: getIsOnboarding() ? location2 : a1?.location, flow_type: "Contact Sync", from_step: LANDING, to_step: c8066_7.COMPLETE, skip: a0, back: false, seconds_on_from_step: (Date.now() - c8066_9) / 1000 }); LANDING = null; }