Files
silo-server/web/src/lib/accentMapping.ts
T
5afe56cfc0 feat(jellycompat): add runtime-managed Jellyfin Web compatibility (#77)
* 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>
2026-06-15 09:34:08 -04:00

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;
}