Files
healer-man/src/app/releaseFeatures.ts
T
2026-09-16 14:30:58 -04:00

31 lines
1006 B
TypeScript

export const SHELVED_MODES_ENABLED = import.meta.env.VITE_SHELVED_MODES_ENABLED === "true";
export const SHELVED_SHELL_PHASES = Object.freeze([
"manastorms",
"arenas",
"arena-game",
] as const);
export type ShelvedShellPhase = (typeof SHELVED_SHELL_PHASES)[number];
export function isShelvedShellPhase(value: string): value is ShelvedShellPhase {
return (SHELVED_SHELL_PHASES as readonly string[]).includes(value);
}
export function sessionCanUseShelvedGmTools(session: {
readonly kind: string;
readonly accessToken?: string;
readonly roles?: readonly string[];
} | null): boolean {
return SHELVED_MODES_ENABLED
&& Boolean(session?.kind === "account" && session.accessToken && session.roles?.includes("gm"));
}
export function sessionCanUseGmTools(session: {
readonly kind: string;
readonly accessToken?: string;
readonly roles?: readonly string[];
} | null): boolean {
return Boolean(session?.kind === "account" && session.accessToken && session.roles?.includes("gm"));
}