forked from phenom/healer-man
31 lines
1006 B
TypeScript
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"));
|
|
}
|