78 lines
2.5 KiB
TypeScript
78 lines
2.5 KiB
TypeScript
// 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;
|
|
}
|