// Metro module 11795 (f11796). import { setAllowEmail, setAllowSync, setName, useContactSyncModalStore } from "../../contact_sync/native/ContactSyncModalStore"; import ConnectedAccountsStore from "../../../stores/ConnectedAccountsStore"; import UserStore from "../../../stores/UserStore"; import { NUF_DISCOVERABILITY_MODAL_KEY } from "../NUFConstants"; import { PlatformTypes } from "../../../Constants"; import { IN_APP_GUILD_TEMPLATES_MODAL_KEY } from "../../create_guild/native/CreateGuildConstants"; import Dispatcher from "../../../Dispatcher"; import ModalActionCreators from "../../../actions/ModalActionCreators"; import HubEmailConnectionModalActionCreators from "../../hub/native/components/HubEmailConnectionModalActionCreators"; import { setNewUserFlowCompleted } from "../NUFActionCreators"; import { ModalAnimation } from "../../../ConstantsIOS"; import * as _ContactSyncUtils from "../../contact_sync/native/ContactSyncUtils"; import { uploadContacts } from "../../contact_sync/native/ContactSyncUtils"; import ContactSyncActionCreators from "../../contact_sync/native/ContactSyncActionCreators"; export function startOnboarding() { Dispatcher.dispatch({ type: "ONBOARDING_START" }); } export function nextOnboardingStep({ skip = false, skipAttempt = false }) { Dispatcher.dispatch({ type: "ONBOARDING_STEP", skip, skipAttempt }); } export function previousOnboardingStep() { Dispatcher.dispatch({ type: "ONBOARDING_STEP", back: true }); } export function transitionToNUFGuildTemplatesModal(c19176_0) { ModalActionCreators.pushLazy(async () => { let c27168_1; c27168_1 = void 0; let c30451_0 = (await import("./components/NUFGuildTemplates")).default; c30451_0.modalConfig = { animation: c19176_0 }; return c30451_0; }, {}, IN_APP_GUILD_TEMPLATES_MODAL_KEY); } export function transitionToHubEmailConnectionModal(a0, displayStudentPrompt = false) { HubEmailConnectionModalActionCreators.open({ onCloseExtra: (a0) => { if (a0) { setNewUserFlowCompleted(); } else { Dispatcher.dispatch({ type: "ONBOARDING_STEP" }); } }, displayStudentPrompt }, a0); } export function openDiscoverabilityModal() { ModalActionCreators.pushLazy(async () => { let c27169_1; c27169_1 = void 0; let c30452_0 = (await import("./components/DiscoverabilityModal")).default; c30452_0.modalConfig = { animation: ModalAnimation.SLIDE_IN_OUT }; return c30452_0; }, {}, NUF_DISCOVERABILITY_MODAL_KEY); } export function closeDiscoverabilityModal(a0) { ModalActionCreators.popWithKey(NUF_DISCOVERABILITY_MODAL_KEY); Dispatcher.dispatch({ type: "ONBOARDING_STEP", skip: a0 }); } export async function startContactSyncForDiscoverability(name) { let c27167_1; c27167_1 = void 0; const phone = UserStore.getCurrentUser()?.phone; const isContactSyncEnabled = _ContactSyncUtils.isContactSyncEnabled(ConnectedAccountsStore.getLocalAccount(PlatformTypes.CONTACTS)); if (phone == null) { throw new Error("Cannot start contact sync without a phone number"); } setName(name); await ContactSyncActionCreators.updateContactSyncEnabled({ enabled: isContactSyncEnabled, name }); await uploadContacts("[]", true); } export function toggleDiscoverabilityForUser() { const phone = UserStore.getCurrentUser()?.phone; const state = useContactSyncModalStore.getState(); let allowPhone = state.allowPhone; const allowEmail = state.allowEmail; if (!allowPhone) { allowPhone = allowEmail; } if (phone != null) { setAllowSync(!allowPhone); } else { setAllowSync(false); if (!allowPhone) { setAllowEmail(true); } } }