diff --git a/apps/mana/apps/web/src/lib/app-registry/apps.ts b/apps/mana/apps/web/src/lib/app-registry/apps.ts index 60762806f..3bf59c0ab 100644 --- a/apps/mana/apps/web/src/lib/app-registry/apps.ts +++ b/apps/mana/apps/web/src/lib/app-registry/apps.ts @@ -73,6 +73,7 @@ import { Crown, ShootingStar, CloudSun, + Stack, } from '@mana/shared-icons'; // ── Apps with entity capabilities ─────────────────────────── @@ -1239,3 +1240,27 @@ registerApp({ list: { load: () => import('$lib/modules/feedback/ListView.svelte') }, }, }); + +registerApp({ + id: 'library', + name: 'Bibliothek', + color: '#a855f7', + icon: Stack, + views: { + // Detail view uses the route-based pattern (/library/entry/[id]); the + // workbench detail-slot (ViewProps params/navigate) pattern is not + // wired up yet. Clicks on a card in the list view navigate via goto(). + list: { load: () => import('$lib/modules/library/ListView.svelte') }, + }, + contextMenuActions: [ + { + id: 'new-entry', + label: 'Neuer Eintrag', + icon: Plus, + action: () => + window.dispatchEvent( + new CustomEvent('mana:quick-action', { detail: { app: 'library', action: 'new' } }) + ), + }, + ], +}); diff --git a/apps/mana/apps/web/src/lib/app-registry/categories.ts b/apps/mana/apps/web/src/lib/app-registry/categories.ts index 1ea0ee07f..d3a9a3eb6 100644 --- a/apps/mana/apps/web/src/lib/app-registry/categories.ts +++ b/apps/mana/apps/web/src/lib/app-registry/categories.ts @@ -107,6 +107,7 @@ export const APP_CATEGORY_MAP: Record = { guides: 'creative', quotes: 'creative', uload: 'creative', + library: 'creative', playground: 'creative', // System — settings, admin, meta