* feat(jellycompat): install web assets at runtime * fix(jellycompat): recover stale web operation locks * fix(jellycompat): harden web component management * feat(admin): refine compat settings and restart status * chore(dev): add hot-reload docker compose stack * fix(dev): include npm in hot-reload backend * feat(admin): refine Jellyfin compatibility settings * feat(settings): improve jellyfin proxy summary * feat(settings): improve jellyfin web controls * fix(settings): update jellyfin web removal status * fix(settings): enable jellyfin web after install * feat(jellycompat): auto-select web ui version * test(api): update rate limit handler setup * feat(jellycompat): refine web ui install onboarding * fix(jellycompat): address web ui install review issues * fix(onboarding): mirror jellyfin api runtime status * fix(admin): remove global restart banner * fix(settings): gate restart required tracking * fix(jellyfin): ignore live settings for restart status * fix(jellyfin): avoid restart for live compat settings * fix(subtitles): normalize AI language codes * fix(catalog): support partial title search tokens * feat(branding): add white-label customization * Add push relay engineering plan - Document relay API contracts, APNs/FCM behavior, auth, storage, and ops - Capture implementation plan, provider references, decisions, and README --------- Co-authored-by: Quick <31828688+Quick104@users.noreply.github.com>
19 lines
744 B
TypeScript
19 lines
744 B
TypeScript
import type { ThemeToken } from "@/lib/themeTokens";
|
|
|
|
/**
|
|
* Theme tokens driven by the brand accent quick-picker. Setting one accent
|
|
* color recolors the primary action color, the focus ring, and the sidebar's
|
|
* primary accent so the brand color shows across the prominent UI surfaces.
|
|
* Admins who want finer control still have the full TokenEditor in Theming.
|
|
*/
|
|
export const ACCENT_TOKENS: readonly ThemeToken[] = ["primary", "ring", "sidebar-primary"];
|
|
|
|
/** Maps a chosen accent hex to the token overrides that recolor the UI accent. */
|
|
export function accentColorToTokens(hex: string): Record<string, string> {
|
|
const out: Record<string, string> = {};
|
|
for (const token of ACCENT_TOKENS) {
|
|
out[token] = hex;
|
|
}
|
|
return out;
|
|
}
|