mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 21:21:10 +02:00
SUMMARY:
Consolidate shared UI components into @manacore/shared-ui and add
AppSlider to all login screens for a consistent Mana ecosystem experience.
CHANGES:
1. UI Components Migration:
- Added Card.svelte to @manacore/shared-ui with variants (elevated, outlined, ghost)
- Migrated Manacore (7 files) and Manadeck (7 files) to use shared-ui
- Removed local ui/ directories from both apps (8 components total)
2. AppSlider Unification:
- Created shared AppSlider in @manacore/shared-ui with configurable props
- Props: apps[], title, isDark, statusLabels, comingSoonLabel, openAppLabel, onAppClick
- Supports both i18n and static text configurations
- Updated Memoro AppSlider to use shared component with svelte-i18n
- Updated Manacore AppSlider to use shared component
- Created new AppSlider for ManaDeck and Märchenzauber
3. Login Page Enhancements:
- Extended LoginPage in @manacore/shared-auth-ui with new snippets:
- appSlider: Renders AppSlider at bottom (initial mode only)
- headerControls: Renders controls (theme toggle, etc.) top-right
- Updated all app login pages to include AppSlider:
- ManaCore: indigo theme (#6366f1)
- ManaDeck: violet theme (#8b5cf6)
- Märchenzauber: pink theme (#FF6B9D)
4. Subscription Page Consolidation:
- Created SubscriptionPage component in @manacore/shared-subscription-ui
- Moved subscription data (plans, packages, costs) to shared package
- Reduced subscription page code from ~100 to ~18 lines per app
FILES CHANGED:
- packages/shared-ui: Added Card, AppSlider, updated exports
- packages/shared-auth-ui: Extended LoginPage with snippets
- packages/shared-subscription-ui: Added SubscriptionPage, data files
- manacore/web: Migrated 7 files to shared-ui, updated login
- manadeck/web: Migrated 7 files to shared-ui, added AppSlider, updated login
- maerchenzauber/web: Added AppSlider, updated login
- memoro/web: Updated AppSlider to use shared component
DELETED (moved to shared packages):
- manacore/web/src/lib/components/ui/* (3 files)
- manadeck/web/src/lib/components/ui/* (5 files)
- memoro/web/src/lib/data/*.json (3 files)
- Various pnpm-lock.yaml and pnpm-workspace.yaml files
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
3.5 KiB
3.5 KiB
Development Scripts
Diese Dokumentation beschreibt die verfügbaren Entwicklungsbefehle im Manacore Monorepo.
Übersicht
Das Monorepo nutzt Turborepo für parallele Builds und intelligentes Caching. Alle Befehle werden über pnpm ausgeführt.
Globale Befehle
| Befehl | Beschreibung |
|---|---|
pnpm dev |
Startet alle Apps (Web, Mobile, Landing, Backend) |
pnpm build |
Baut alle Packages und Apps |
pnpm test |
Führt alle Tests aus |
pnpm lint |
Führt Linting für alle Packages aus |
pnpm type-check |
TypeScript-Typprüfung für alle Packages |
pnpm clean |
Bereinigt Build-Artefakte |
pnpm format |
Formatiert alle Dateien mit Prettier |
pnpm format:check |
Prüft Formatierung ohne Änderungen |
App-Typ Befehle
Diese Befehle starten alle Apps eines bestimmten Typs gleichzeitig:
| Befehl | Beschreibung | Apps |
|---|---|---|
pnpm dev:web |
Startet alle Web-Apps | maerchenzauber, manacore, manadeck, memoro |
pnpm dev:landing |
Startet alle Landing Pages | maerchenzauber, manacore, manadeck, memoro |
pnpm dev:mobile |
Startet alle Mobile-Apps | maerchenzauber, manacore, manadeck, memoro |
Beispiel
# Alle Web-Apps starten (SvelteKit)
pnpm dev:web
# Alle Landing Pages starten (Astro)
pnpm dev:landing
# Alle Mobile-Apps starten (Expo)
pnpm dev:mobile
Projekt-spezifische Befehle
Diese Befehle starten ein komplettes Projekt mit allen zugehörigen Apps und Dependencies:
| Befehl | Beschreibung |
|---|---|
pnpm maerchenzauber:dev |
Startet Maerchenzauber (Backend, Web, Mobile, Landing) |
pnpm manacore:dev |
Startet Manacore (Web, Mobile, Landing) |
pnpm manadeck:dev |
Startet Manadeck (Web, Mobile, Landing) |
pnpm memoro:dev |
Startet Memoro (Web, Mobile, Landing) |
Turbo Filter
Für erweiterte Kontrolle kannst du Turbo-Filter direkt verwenden:
# Einzelne App starten
pnpm turbo run dev --filter=@storyteller/web
# Mehrere Apps kombinieren
pnpm turbo run dev --filter=manacore-web --filter=memoro-web
Package-Namen Referenz
Da die Package-Namen im Monorepo unterschiedlich sind, hier eine Übersicht:
| Projekt | Web | Landing | Mobile | Backend |
|---|---|---|---|---|
| maerchenzauber | @storyteller/web |
@storyteller/landing |
@storyteller/mobile |
@storyteller/backend |
| manacore | manacore-web |
manacore-landing |
manacore |
- |
| manadeck | web |
landing |
manadeck |
- |
| memoro | memoro-web |
memoro-landing |
memoro |
- |
Filter-Syntax
| Pattern | Beschreibung |
|---|---|
--filter=name |
Exakte Package-Übereinstimmung |
--filter=name... |
Package und alle Dependencies |
--filter='@scope/*' |
Alle Packages im Scope |
Port-Zuweisungen
Wenn mehrere Apps gleichzeitig laufen, verwenden sie unterschiedliche Ports:
| App-Typ | Projekt | Standard-Port |
|---|---|---|
| Web | maerchenzauber | 5173 |
| Web | manacore | 5174 |
| Web | manadeck | 5175 |
| Web | memoro | 5176 |
| Landing | maerchenzauber | 4321 |
| Landing | manacore | 4322 |
| Landing | manadeck | 4323 |
| Landing | memoro | 4324 |
| Backend | maerchenzauber | 3000 |
Hinweis: Die tatsächlichen Ports können je nach Konfiguration variieren.
Tipps
- Schnelleres Starten: Nutze
dev:webstattdevwenn du nur an Web-Apps arbeitest - Parallele Entwicklung: Turbo führt alle Tasks parallel aus und nutzt Caching
- Selektives Bauen: Nutze Filter um nur relevante Packages zu bauen