Files
Nitro-V3/src/hooks/index.ts
T
medievalshell 8097344561 feat(theme): runtime custom theme ecosystem (graphics-only)
Runtime-loaded visual re-skin system (no client rebuild, real themes never
hit git). A theme = a folder on the server (theme.base.url) with a manifest +
CSS "pieces"; each piece is toggled from Settings > Themes (checkboxes). A
broken/404 piece auto-falls back to the default (per piece). Hotel-wide default
via ui-config theme.default (+ theme.default.pieces), per-user override in
localStorage (same pattern as the catalog style toggle).

- api/theme/ThemeManager: fetch index/manifest + inject/remove <link> + fallback
- hooks/theme/useThemes: state + persist + default-from-config + live apply
- components/theme/ThemeApplier: applies on boot (mounted in MainView)
- UserSettings: General/Themes tabs with theme selector + per-piece checkboxes
- custom-themes/: reference template (demo theme "Neon Viola" + README)
- .gitignore: public/custom-themes/ (real themes are never committed)
2026-05-31 14:39:59 +02:00

35 lines
1.1 KiB
TypeScript

export * from './achievements';
export * from './avatar-editor';
export * from './camera';
export * from './catalog';
export * from './chat-history';
export * from './events';
export * from './fortune-wheel/useFortuneWheel';
export * from './friends';
export * from './game-center';
export * from './groups';
export * from './help';
export * from './housekeeping';
export * from './inventory';
export * from './mod-tools';
export * from './navigator';
export * from './notification';
export * from './purse';
export * from './radio/useRadio';
export * from './rare-values/useRareValues';
export * from './rooms';
export * from './rooms/engine';
export * from './rooms/promotes';
export * from './rooms/widgets';
export * from './rooms/widgets/furniture';
export * from './session';
export * from './soundboard/useSoundboard';
export * from './theme';
export * from './translation';
export * from './useLocalStorage';
export * from './useSharedVisibility';
export * from './wired';
export * from './wired-tools';
export * from './useChatWindow';
export * from './useOnClickChat';