feat(characters): use local character catalog

This commit is contained in:
2026-07-17 16:03:18 +08:00
parent a210a98d98
commit b3ebd5cf3b
96 changed files with 1023 additions and 522 deletions
+15 -1
View File
@@ -21,8 +21,22 @@ const STATIC_ROUTE_ACCESS: Partial<Record<string, RouteAccess>> = {
[ROUTES.coinsRules]: "public",
};
const CHARACTER_ROUTE_ACCESS: Readonly<Record<string, RouteAccess>> = {
splash: "authOnly",
chat: "guestEntry",
"private-room": "guestEntry",
tip: "public",
sidebar: "session",
feedback: "session",
"coins-rules": "public",
};
export function getRouteAccess(pathname: string): RouteAccess {
return STATIC_ROUTE_ACCESS[pathname] ?? "public";
const staticAccess = STATIC_ROUTE_ACCESS[pathname];
if (staticAccess) return staticAccess;
const match = pathname.match(/^\/characters\/[^/]+\/([^/]+)\/?$/);
return (match?.[1] && CHARACTER_ROUTE_ACCESS[match[1]]) || "public";
}
export function isInternalRoute(value: string | null | undefined): boolean {