managarten/packages/shared-branding
Till JS 0112161e78
Some checks are pending
CD Mac Mini / Detect Changes (push) Waiting to run
CD Mac Mini / Deploy (push) Blocked by required conditions
CI / Detect Changes (push) Waiting to run
CI / Validate (push) Waiting to run
CI / Build mana-search (push) Blocked by required conditions
CI / Build mana-sync (push) Blocked by required conditions
CI / Build mana-api-gateway (push) Blocked by required conditions
CI / Build mana-crawler (push) Blocked by required conditions
Docker Validate / Validate Dockerfiles (push) Waiting to run
Docker Validate / Build calendar-web (push) Blocked by required conditions
Docker Validate / Build quotes-web (push) Blocked by required conditions
Docker Validate / Build todo-backend (push) Blocked by required conditions
Docker Validate / Build todo-web (push) Blocked by required conditions
Docker Validate / Build mana-auth (push) Blocked by required conditions
Docker Validate / Build mana-sync (push) Blocked by required conditions
Docker Validate / Build mana-media (push) Blocked by required conditions
Mirror to Forgejo / Push to Forgejo (push) Waiting to run
chore(mana+api): articles + Backend-Worker raus, pageta trägt allein
Pageta ist seit 2026-05-17 standalone live (pageta.mana.how + pageta.com,
voll-featured laut STATUS.md) und deckt alle Articles-Module-Features
ab + mehr (research, reactions, feed, share, snapshot, preferences).
Keine User-Daten im managarten/articles-Modul (Till bestätigt).

Frontend entfernt:
- apps/mana/apps/web/src/routes/(app)/articles/ (9 Routes inkl. (tabs),
  [id], add, import, import/[jobId], settings)
- apps/mana/apps/web/src/lib/modules/articles/ (5 Stores, Queries,
  Collections, Types, Tools, Components, Widgets, ArticlesTabShell,
  consume-pickup, tab-context, parse-urls)
- apps/mana/apps/web/src/lib/i18n/locales/articles/ (DE/EN/ES/FR/IT)

Backend entfernt:
- apps/api/src/modules/articles/ (routes, import-worker, import-projection,
  import-extractor, consent-wall, field-meta, plus Tests)
- apps/api/src/index.ts: articlesRoutes + startArticleImportWorker raus
- apps/api/src/lib/metrics.ts: 5 articles-Metrics raus
  (articlesImportTicks/Items/Extract/JobsCompleted/PickupGc)

"Save-to-Articles"-Features in anderen Modulen entfernt
(User kann später direkt in pageta speichern via Share-Sheet):
- news-research/ListView + routes/(app)/news-research/+page.svelte:
  "Speichern"-Button raus
- writing/tools.ts: save_draft_as_article-Tool raus
- writing/components/ExportMenu.svelte: "Als Artikel speichern"-Option raus
- writing/components/ReferencePicker.svelte: 'article'-Mode raus
- writing/components/ReferenceChip.svelte: KIND_ICON/LABEL ohne 'article'
- writing/utils/reference-resolver.ts: resolveArticle + 'article'-case raus
- writing/utils/reference-resolver.test.ts: kind: 'article' → 'note'
  in Aggregate-Budget-Tests
- writing/utils/prompt-builder.test.ts: 'article'-Resolved-Reference raus
- writing/views/DetailView.svelte: 'articles'-published-Chip raus
- writing/types.ts: DraftReferenceKind ohne 'article',
  DraftPublishModule ohne 'articles'

Aktualisiert (Cross-Refs raus):
- module-registry.ts (articlesModuleConfig)
- module-registry.test.ts (articles-Tabellen + sync-name-Mappings)
- data-layer-listeners.ts (startArticlePickupConsumer)
- app-registry/apps.ts (registerApp 'articles')
- packages/shared-branding/src/mana-apps.ts (articles-Eintrag)
- components/dashboard/widget-registry.ts (ArticlesUnreadWidget)
- types/dashboard.ts (WidgetType 'articles-unread')
- data/crypto/registry.ts (LocalArticle/LocalHighlight)
- data/crypto/plaintext-allowlist.ts (articleTags/articleImportJobs/
  articleImportItems/articleExtractPickup)
- data/tools/init.ts (articlesTools)

NICHT angefasst (mit Absicht):
- data/database.ts db.version()-Stores — Schema-Snapshots sind frozen.
  Tabellen articles, articleHighlights, articleTags, articleImportJobs,
  articleImportItems, articleExtractPickup bleiben im IndexedDB-Schema,
  werden aber nicht mehr beschrieben.
- packages/shared-branding/src/app-icons.ts APP_ICONS.articles (für
  Native-PNG-Generator, harmlos).
- apps/api/src/lib/sync-db.ts Z6 Kommentar (historisches Beispiel).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 16:44:20 +02:00
..
src chore(mana+api): articles + Backend-Worker raus, pageta trägt allein 2026-05-19 16:44:20 +02:00
package.json feat(spaces): validate space metadata on Better Auth organization hooks 2026-04-20 16:05:38 +02:00
README.md chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
tsconfig.json fix(broadcast): track route paths + shared-branding tsconfig 2026-04-21 18:30:47 +02:00

@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

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;
}