mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-17 02:59:40 +02:00
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.
48 lines
1.4 KiB
JSON
48 lines
1.4 KiB
JSON
{
|
|
"name": "@cards/web",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite dev --port 5180",
|
|
"build": "vite build",
|
|
"preview": "vite preview --port 5180",
|
|
"prepare": "svelte-kit sync || echo ''",
|
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --fail-on-warnings"
|
|
},
|
|
"devDependencies": {
|
|
"@mana/shared-vite-config": "workspace:*",
|
|
"@sveltejs/adapter-node": "^5.0.0",
|
|
"@sveltejs/kit": "^2.47.1",
|
|
"@sveltejs/vite-plugin-svelte": "^5.0.4",
|
|
"@tailwindcss/vite": "^4.1.7",
|
|
"@types/node": "^22.10.5",
|
|
"@types/sql.js": "^1.4.11",
|
|
"@vite-pwa/sveltekit": "^1.1.0",
|
|
"svelte": "^5.41.0",
|
|
"svelte-check": "^4.3.3",
|
|
"tailwindcss": "^4.1.17",
|
|
"typescript": "^5.7.2",
|
|
"vite": "^6.0.7"
|
|
},
|
|
"dependencies": {
|
|
"@mana/cards-core": "workspace:*",
|
|
"@mana/local-store": "workspace:*",
|
|
"@mana/shared-auth": "workspace:*",
|
|
"@mana/shared-auth-ui": "workspace:*",
|
|
"@mana/shared-branding": "workspace:*",
|
|
"@mana/shared-icons": "workspace:*",
|
|
"@mana/shared-privacy": "workspace:*",
|
|
"@mana/shared-pwa": "workspace:*",
|
|
"@mana/shared-stores": "workspace:*",
|
|
"@mana/shared-tailwind": "workspace:*",
|
|
"@mana/shared-theme": "workspace:*",
|
|
"@mana/shared-theme-ui": "workspace:*",
|
|
"@mana/shared-types": "workspace:*",
|
|
"@mana/shared-utils": "workspace:*",
|
|
"dexie": "^4.4.1",
|
|
"jszip": "^3.10.1",
|
|
"pdfjs-dist": "^5.7.284",
|
|
"sql.js": "^1.14.1"
|
|
}
|
|
}
|