mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 18:01:09 +02:00
refactor(cards): Phase A + C — adopt @mana/shared-theme + per-app accent
Phase A — Cards joins the unified theme system:
- Drop placeholder --color-cards-* palette; app.css imports
@mana/shared-tailwind/themes.css + sources.css.
- Remove hardcoded class="dark" from app.html; body uses
bg-background text-foreground.
- New $lib/stores/theme.ts: createThemeStore({ appId: 'cards' }).
ThemeToggle from @mana/shared-theme-ui in the header next to
the streak chip.
- Sweep all neutral / red / emerald / amber / indigo utilities in
apps/cards/apps/web/src to semantic tokens (560 substitutions
across 19 files): bg-neutral-900 → bg-card, text-neutral-400 →
text-muted-foreground, bg-red-500 → bg-error, etc. Domain
literals kept (FSRS grade colors red/orange/green/blue, GitHub-
violet PR-merged badge, marketplace-amber Buy button, admin-
inbox category palette).
- Cards added to validate-theme-utilities scope so future drift
fails CI.
Phase C — per-app accent token:
- New --color-app-accent in shared-tailwind/themes.css. Theme-
agnostic (registered in validate-theme-parity's THEME_AGNOSTIC
regex), so it stays the same across light/dark/lume/etc. Defaults
to Mana indigo at :root.
- Cards layout writes 258 90% 66% (= #8b5cf6 violet, from
MANA_APPS.cards.color) onto documentElement at boot via
applyCardsAccent(). All Cards CTAs (Lernen, Abonnieren, Senden,
links inside cloze cards) flow through bg-app-accent /
text-app-accent now.
Net effect: Cards gets light/dark + 4 palette variants + a11y
toggles for free, and any future app can drop in by setting its
own --color-app-accent without touching shared-tailwind.
This commit is contained in:
parent
863311eefa
commit
ad3b99fe6d
28 changed files with 589 additions and 583 deletions
|
|
@ -30,7 +30,7 @@ const REPO_ROOT = join(__dirname, '..');
|
|||
const THEMES_CSS = join(REPO_ROOT, 'packages/shared-tailwind/src/themes.css');
|
||||
|
||||
/** Tokens defined once at :root that do NOT participate in parity. */
|
||||
const THEME_AGNOSTIC = /^--color-(?:branch-|mana$)/;
|
||||
const THEME_AGNOSTIC = /^--color-(?:branch-|mana$|app-accent$)/;
|
||||
|
||||
/**
|
||||
* Parse themes.css into selector → Set<tokenName>. A block starts at a
|
||||
|
|
|
|||
|
|
@ -53,6 +53,8 @@ const REPO_ROOT = join(__dirname, '..');
|
|||
const SCAN_GLOBS = [
|
||||
'apps/mana/apps/web/src/lib/modules/**/*.svelte',
|
||||
'apps/mana/apps/web/src/routes/(app)/**/*.svelte',
|
||||
'apps/cards/apps/web/src/lib/components/**/*.svelte',
|
||||
'apps/cards/apps/web/src/routes/**/*.svelte',
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue