sendou.ink/app/features/settings/settings-utils.ts
2026-05-23 18:07:01 +03:00

20 lines
599 B
TypeScript

import { SETTINGS_TAB_SLUGS, type SettingsTabSlug } from "./settings-constants";
const PUBLIC_TABS = new Set<SettingsTabSlug>(["locale", "theme"]);
export function defaultTab(isLoggedIn: boolean): SettingsTabSlug {
return isLoggedIn ? "match-profile" : "theme";
}
export function resolveActiveTab(
raw: string | null,
isLoggedIn: boolean,
): SettingsTabSlug {
if (raw && (SETTINGS_TAB_SLUGS as readonly string[]).includes(raw)) {
const slug = raw as SettingsTabSlug;
if (!isLoggedIn && !PUBLIC_TABS.has(slug)) return defaultTab(false);
return slug;
}
return defaultTab(isLoggedIn);
}