72 lines
2.2 KiB
TypeScript
72 lines
2.2 KiB
TypeScript
// Metro module 11760 (f11761).
|
|
import { useMemo } from "react";
|
|
import UserSettingsProtoStore from "../user_settings/UserSettingsProtoStore";
|
|
import ConnectedAccountsStore from "../../stores/ConnectedAccountsStore";
|
|
import { HUB_PROGRESS_STEP_ORDER } from "./HubProgressBarConstants";
|
|
import { PlatformTypes } from "../../Constants";
|
|
import { useStateFromStores } from "../../_bundle/Module589";
|
|
import { HubProgressStep } from "../../_bundle/Module1306";
|
|
import { intl, t } from "../../intl/index.native";
|
|
import { assertNever } from "../../utils/GlobalUtils";
|
|
import { hasFlag } from "../../_bundle/Module1384";
|
|
export function getHubProgressTitleForStep(a0) {
|
|
if (HubProgressStep.JOIN_GUILD === a0) {
|
|
return intl.string(t.iNR25n);
|
|
}
|
|
if (HubProgressStep.INVITE_USER === a0) {
|
|
return intl.string(t["3NlTYU"]);
|
|
}
|
|
if (HubProgressStep.CONTACT_SYNC === a0) {
|
|
return intl.string(t.HFvFte);
|
|
}
|
|
if (HubProgressStep.NO_PROGRESS === a0) {
|
|
return null;
|
|
}
|
|
assertNever(a0);
|
|
}
|
|
export function useHubProgressBarCompletedSteps(a0) {
|
|
const id2 = a0?.id;
|
|
let memo, stateFromStores;
|
|
const id = id2;
|
|
const stateFromStores2 = useStateFromStores([UserSettingsProtoStore], () => {
|
|
const r3 = id == null;
|
|
let r8 = 0;
|
|
if (!r3) {
|
|
const guilds = UserSettingsProtoStore.settings.guilds;
|
|
let r12 = guilds == null ? void 0 : guilds.guilds[id]?.hubProgress;
|
|
if (r12 == null) {
|
|
r12 = 0;
|
|
}
|
|
r8 = r12;
|
|
}
|
|
return r8;
|
|
});
|
|
memo = useMemo(() => (function convertHubProgressFlagSetToSet(a0) {
|
|
const set = new Set();
|
|
for (const item of HUB_PROGRESS_STEP_ORDER) {
|
|
if (hasFlag(a0, item)) {
|
|
set.add(item);
|
|
}
|
|
}
|
|
return set;
|
|
})(stateFromStores2), [stateFromStores2]);
|
|
stateFromStores = useStateFromStores([ConnectedAccountsStore], () => ConnectedAccountsStore.getLocalAccount(PlatformTypes.CONTACTS) != null);
|
|
return useMemo(() => {
|
|
if (stateFromStores) {
|
|
const set = new Set(memo);
|
|
set.add(HubProgressStep.CONTACT_SYNC);
|
|
return set;
|
|
}
|
|
return memo;
|
|
}, [memo, stateFromStores]);
|
|
}
|
|
export function getNextHubProgressStep(a0) {
|
|
for (const item of HUB_PROGRESS_STEP_ORDER) {
|
|
if (a0.has(item)) {
|
|
continue;
|
|
}
|
|
return item;
|
|
}
|
|
return null;
|
|
}
|