mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-20 07:33:39 +02:00
Memoro lebt als eigenständiger Stack:
- `memoro.mana.how` (Astro landing :3120)
- `memoro-app.mana.how` (SvelteKit Web SPA)
- `memoro-api.mana.how` (Bun/Hono server)
- `memoro-audio.mana.how` (audio-server)
Quelle: `Code/memoro/`, deployt nach `~/projects/memoro-deploy/` auf
Mac Mini. Phasenstand: Phase 2.5 (Cutover-Endphase), 2.5a/b durch.
Gelöscht / abgebaut:
- Module: apps/mana/.../modules/memoro + Routen + Locales
- Top-Level: apps/memoro/ (Server, Audio-Server, Landing, Mobile)
- docker-compose.macmini.yml memoro-server + memoro-audio-server
Service-Blocks (alter Container im managarten-Compose, der echte
Memoro läuft aus ~/projects/memoro-deploy/)
- .github/workflows/cd-macmini.yml memoro-server + memoro-audio-server
Build-Jobs + Service-Liste + Health-Check-Mapping
- prometheus memoro-server scrape job + mana.how/memoro probe
- shared-branding APP_BRANDING.memoro + APP_ICONS.memoro + MANA_APPS
Memoro-Entry + MemoroLogo + onboarding-template
- shared-utils analytics: memoro tracker + MemoroEvents-Block
- website-blocks EmbedSourceSchema 'memoro.memos' + Inspector-Option
- Cross-Module: website/embeds.ts resolveMemos + LocalMemo-Import,
crypto-registry memos+memories + LocalMemo-Import, plaintext-
allowlist memoSpaces+memoTags+memoroSpaces+spaceMembers,
exposed-records memoro-Eintrag
- Registries: app-registry/apps.ts (Memoro registerApp + Microphone
icon + Header), categories, help-content, module-registry,
splitscreen, hooks.server, data/tools/init
- (app)/+layout.svelte startMemoroLlmWatcher/stopMemoroLlmWatcher
imports + Calls
- package.json memoro:dev / dev:memoro:* Scripts
- cloudflared: irreführender Comment-Block in unified-app-Sektion
bereinigt; Standalone-Memoro-Routes (memoro.mana.how,
memoro-app.mana.how, memoro-api.mana.how, memoro-audio.mana.how)
bleiben — sie zeigen auf den live Standalone-Stack
- i18n locales apps/{de,en,es,fr,it}.json memoro raus
Dexie v64 Migration:
- droppt memos, memories, memoTags, memoroSpaces, spaceMembers,
memoSpaces
shared-theme/store.svelte.ts APP_THEME_CONFIGS.memoro bleibt erhalten —
das Package wird auch vom externen Memoro-Web-Repo konsumiert.
Test/Doku:
- module-registry.test.ts: memoro-Eintrag aus SYNC_APP_MAP + memoroSpaces
aus TABLE_TO_SYNC_NAME entfernt
mana-web svelte-check 0/0, snapshot test 10/10.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| src | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
@mana/shared-branding
Shared branding components and configuration for the Mana ecosystem.
Features
- AppLogo: SVG logo component for any Mana app
- AppLogoWithName: Logo with app name combination
- ManaIcon: Universal Mana drop icon for credits display
- Branding Config: Centralized colors, names, and taglines
Installation
pnpm add @mana/shared-branding
Usage
AppLogo
Display an app's logo:
<script lang="ts">
import { AppLogo } from '@mana/shared-branding';
</script>
<AppLogo app="memoro" size={32} />
<AppLogo app="mana" size={32} />
<AppLogo app="cards" size={32} />
<AppLogo app="maerchenzauber" size={32} />
AppLogoWithName
Display logo with app name (perfect for headers):
<script lang="ts">
import { AppLogoWithName } from '@mana/shared-branding';
</script>
<AppLogoWithName app="memoro" size={28} />
<AppLogoWithName app="mana" showName={false} />
ManaIcon
Universal Mana drop icon:
<script lang="ts">
import { ManaIcon } from '@mana/shared-branding';
</script>
<ManaIcon size={24} color="#4287f5" />
Branding Configuration
Access branding config programmatically:
import { getAppBranding, APP_BRANDING } from '@mana/shared-branding';
const memoro = getAppBranding('memoro');
console.log(memoro.name); // "Memoro"
console.log(memoro.tagline); // "AI Voice Memos"
console.log(memoro.primaryColor); // "#f8d62b"
App Branding
| App | Name | Primary Color | Tagline |
|---|---|---|---|
memoro |
Memoro | #f8d62b (Gold) | AI Voice Memos |
mana |
Mana | #6366f1 (Indigo) | Central Hub |
cards |
Cards | #8b5cf6 (Purple) | AI Flashcards |
maerchenzauber |
Märchenzauber | #ec4899 (Pink) | AI Story Creator |
Props
AppLogo
| Prop | Type | Default | Description |
|---|---|---|---|
app |
AppId |
required | App identifier |
size |
number |
32 |
Size in pixels |
color |
string |
App primary color | Override color |
class |
string |
'' |
Additional CSS classes |
AppLogoWithName
| Prop | Type | Default | Description |
|---|---|---|---|
app |
AppId |
required | App identifier |
size |
number |
28 |
Logo size in pixels |
color |
string |
App primary color | Override color |
showName |
boolean |
true |
Show app name |
nameFontSize |
string |
'1.25rem' |
Name font size |
gap |
string |
'0.5rem' |
Gap between logo and name |
class |
string |
'' |
Additional CSS classes |
ManaIcon
| Prop | Type | Default | Description |
|---|---|---|---|
size |
number |
24 |
Size in pixels |
color |
string |
'#4287f5' |
Icon color |
class |
string |
'' |
Additional CSS classes |
Types
type AppId = 'memoro' | 'mana' | 'cards' | 'maerchenzauber';
interface AppBranding {
id: AppId;
name: string;
tagline: string;
primaryColor: string;
secondaryColor?: string;
logoPath: string;
logoViewBox?: string;
logoStroke?: boolean;
logoStrokeWidth?: number;
}