mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-17 20:09:41 +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.
|
||
|---|---|---|
| .. | ||
| apps/web | ||
| docs | ||
| COMPETITORS_2026-05.md | ||
| GUIDELINES.md | ||
| package.json | ||
| README.md | ||
Cards
Spaced-repetition flashcards on cards.mana.how.
Phase-1 standalone web app. The frontend lives here; data, auth, and sync are shared with the rest of the Mana stack:
- Auth: mana-auth (SSO),
*.mana.how - Sync: mana-sync, app-id
cards - Storage:
mana_platform.cards.*(Postgres, RLS)
The same cards data backs the mana built-in Cards module at
mana.how/cards. Schema changes ship to both frontends together — see
apps/cards/GUIDELINES.md.
Layout
apps/cards/
├── apps/
│ └── web/ # SvelteKit 2 + Svelte 5 — the Phase-1 surface
├── GUIDELINES.md # Project rules (read first)
└── README.md
apps/cards/apps/mobile/ and any production apps/cards/apps/landing/
will land in Phase 2/3.
Quick start
pnpm install
pnpm --filter @cards/web dev # cards.mana.how on http://localhost:5180