From 3c7bfc6a00183b632fe2b9f1517af789487d1cb8 Mon Sep 17 00:00:00 2001 From: Till JS Date: Thu, 9 Apr 2026 20:18:30 +0200 Subject: [PATCH] feat(mana/web): register body, events, who, guides in workbench app registry Adds list (and detail where available) views for four modules that existed in MANA_APPS but were missing from the workbench app registry. Creates a static ListView for guides backed by the existing GUIDES catalog. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../apps/web/src/lib/app-registry/apps.ts | 45 +++++++++++ .../src/lib/modules/guides/ListView.svelte | 76 +++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 apps/mana/apps/web/src/lib/modules/guides/ListView.svelte 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 99aa290aa..2434180db 100644 --- a/apps/mana/apps/web/src/lib/app-registry/apps.ts +++ b/apps/mana/apps/web/src/lib/app-registry/apps.ts @@ -41,6 +41,10 @@ import { Lightning, Sparkle, Newspaper, + Barbell, + Confetti, + Detective, + BookOpen, } from '@mana/shared-icons'; // ── Apps with entity capabilities ─────────────────────────── @@ -682,6 +686,47 @@ registerApp({ }, }); +registerApp({ + id: 'guides', + name: 'Guides', + color: '#0d9488', + icon: BookOpen, + views: { + list: { load: () => import('$lib/modules/guides/ListView.svelte') }, + }, +}); + +registerApp({ + id: 'body', + name: 'Body', + color: '#ef4444', + icon: Barbell, + views: { + list: { load: () => import('$lib/modules/body/ListView.svelte') }, + }, +}); + +registerApp({ + id: 'events', + name: 'Events', + color: '#f43f5e', + icon: Confetti, + views: { + list: { load: () => import('$lib/modules/events/ListView.svelte') }, + detail: { load: () => import('$lib/modules/events/views/DetailView.svelte') }, + }, +}); + +registerApp({ + id: 'who', + name: 'Who', + color: '#a855f7', + icon: Detective, + views: { + list: { load: () => import('$lib/modules/who/ListView.svelte') }, + }, +}); + registerApp({ id: 'news', name: 'News', diff --git a/apps/mana/apps/web/src/lib/modules/guides/ListView.svelte b/apps/mana/apps/web/src/lib/modules/guides/ListView.svelte new file mode 100644 index 000000000..036bf42cc --- /dev/null +++ b/apps/mana/apps/web/src/lib/modules/guides/ListView.svelte @@ -0,0 +1,76 @@ + + + +
+ + +
+ {#each categories as cat (cat.id)} + + {/each} +
+ +
+ {#each filtered as guide (guide.id)} + {@const meta = GUIDE_CATEGORIES[guide.category]} +
+
+ + {meta.label} + {guide.estimatedMinutes} min +
+

{guide.title}

+

{guide.description}

+

+ {difficultyLabel[guide.difficulty]} +

+
+ {:else} +

Keine Guides gefunden.

+ {/each} +
+