Files
discord-decomp/modules/guild_onboarding_home/MemberActionUtils.tsx
T
2026-11-01 12:12:55 +02:00

39 lines
2.2 KiB
TypeScript

// Metro module 11441 (f11442).
import GuildMemberStore from "../../stores/GuildMemberStore";
import GuildOnboardingHomeSettingsStore from "./GuildOnboardingHomeSettingsStore";
import GuildOnboardingMemberActionStore from "./GuildOnboardingMemberActionStore";
import { GuildMemberFlags } from "../guild_member/GuildMemberConstants";
import useIsNewMember from "./useIsNewMember";
import { useStateFromStores } from "../../_bundle/defaultAreStatesEqual";
import { hasFlag } from "../../_bundle/Module1384";
export function useMemberActionsForChannel(a0, c18843_1) {
const isNewMember = useIsNewMember(a0);
const stateFromStores2 = useStateFromStores([GuildOnboardingHomeSettingsStore], () => GuildOnboardingHomeSettingsStore.getNewMemberActions(a0), [a0]);
const stateFromStores3 = useStateFromStores([GuildOnboardingMemberActionStore], () => GuildOnboardingMemberActionStore.getCompletedActions(a0));
if (isNewMember) {
let r30 = stateFromStores2 == null ? void 0 : stateFromStores2.findIndex((item) => item.channelId === c18843_1.id);
if (r30 == null) {
r30 = 0;
}
const channelAction = r30 >= 0 ? stateFromStores2 != null ? stateFromStores2[r30] : null : null;
return {
channelAction,
completed: channelAction != null && (stateFromStores3 == null ? void 0 : stateFromStores3[channelAction.channelId]) === true
};
}
return {};
}
export function useNextMemberAction(c18844_0, c18844_1) {
let stateFromStores;
const stateFromStores2 = useStateFromStores([GuildOnboardingHomeSettingsStore], () => GuildOnboardingHomeSettingsStore.getNewMemberActions(c18844_0));
stateFromStores = useStateFromStores([GuildOnboardingMemberActionStore], () => GuildOnboardingMemberActionStore.getCompletedActions(c18844_0));
return stateFromStores2 == null ? void 0 : stateFromStores2.find((item) => (stateFromStores == null ? void 0 : stateFromStores[item.channelId]) !== true && item.channelId !== c18844_1);
}
export function useAllActionsCompleted(c18845_0) {
let r19 = useStateFromStores([GuildMemberStore], () => GuildMemberStore.getSelfMember(c18845_0))?.flags;
if (r19 == null) {
r19 = 0;
}
return hasFlag(r19, GuildMemberFlags.COMPLETED_HOME_ACTIONS);
}