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
+35
View File
@@ -0,0 +1,35 @@
"use client";
import { createContext, type ReactNode, useContext } from "react";
import {
DEFAULT_CHARACTER,
type CharacterProfile,
} from "@/data/constants/character";
import { getCharacterRoutes, type CharacterRoutes } from "@/router/routes";
const CharacterContext = createContext<CharacterProfile>(DEFAULT_CHARACTER);
export interface CharacterProviderProps {
character: CharacterProfile;
children: ReactNode;
}
export function CharacterProvider({
character,
children,
}: CharacterProviderProps) {
return (
<CharacterContext.Provider value={character}>
{children}
</CharacterContext.Provider>
);
}
export function useActiveCharacter(): CharacterProfile {
return useContext(CharacterContext);
}
export function useActiveCharacterRoutes(): CharacterRoutes {
return getCharacterRoutes(useActiveCharacter().slug);
}