mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-16 11:19:39 +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>
|
||
|---|---|---|
| .. | ||
| docs | ||
| src | ||
| static | ||
| .env.example | ||
| .gitignore | ||
| .npmrc | ||
| APPLE_SIGNIN_COMPLETE_GUIDE.md | ||
| GOOGLE_SIGNIN_COMPLETE_GUIDE.md | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| svelte.config.js | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||
Memoro Web - SvelteKit Companion App
Web companion application for Memoro, built with SvelteKit. This is a hybrid architecture where the web app shares the same Supabase backend with the React Native mobile apps.
Architecture
- Frontend: SvelteKit 2.x + TypeScript
- Styling: TailwindCSS 3.x
- Backend: Supabase (shared with mobile apps)
- State Management: Svelte stores
- Internationalization: svelte-i18n
Features
Core Features
- Authentication (Email/Password + OAuth)
- Audio recording (Web Audio API)
- Memo management (CRUD operations)
- Real-time updates (Supabase Realtime)
- Spaces & collaboration
- Multi-language support (32 languages)
- Dark mode + 4 theme variants
- Responsive design
Web-Specific Features
- Progressive Web App (PWA) support
- Server-Side Rendering (SSR)
- SEO optimization
- Fast page loads
Getting Started
Prerequisites
- Node.js 18+
- npm or pnpm
- Supabase project (use the same one as mobile apps)
Installation
-
Clone the repository
-
Install dependencies:
npm install -
Copy
.env.exampleto.envand add your Supabase credentials:cp .env.example .env -
Start the development server:
npm run dev
Build for Production
npm run build
npm run preview
Project Structure
memoro-web/
├── src/
│ ├── lib/
│ │ ├── components/ # Reusable Svelte components
│ │ ├── stores/ # Svelte stores for state management
│ │ ├── services/ # API services (Supabase, etc.)
│ │ └── utils/ # Utility functions
│ ├── routes/
│ │ ├── (public)/ # Public routes (login, register)
│ │ ├── (protected)/ # Protected routes (dashboard, memos)
│ │ ├── +layout.svelte # Root layout
│ │ └── +page.svelte # Home page
│ ├── app.css # Global styles (TailwindCSS)
│ └── app.html # HTML shell
├── static/ # Static assets
└── package.json
Deployment
Vercel (Recommended)
- Push to GitHub
- Connect to Vercel
- Add environment variables
- Deploy
Netlify
- Push to GitHub
- Connect to Netlify
- Build command:
npm run build - Publish directory:
build - Add environment variables
- Deploy
License
Proprietary - All rights reserved