109 lines
3.6 KiB
TypeScript
109 lines
3.6 KiB
TypeScript
// 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);
|
|
}
|
|
}
|
|
}
|