From 80beef252ca11476d156627b562d78d19d3a262e Mon Sep 17 00:00:00 2001 From: Till JS Date: Wed, 25 Mar 2026 08:24:29 +0100 Subject: [PATCH] feat(observatory): add tabbed gallery views for plants and lakes Three tabs on the observatory page: - Seenplatte: the main interactive landscape (existing) - Pflanzen: horizontal scroll gallery of all 20 apps as plant cards, grouped by status (Mature/Production/Beta/Alpha), each with SVG preview, score, type label, trend indicator. Click opens detail panel. - Seen: horizontal scroll of all 6 infrastructure lakes with gradient preview, description, clarity and fill level stats. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../components/observatory/ui/LakeCard.svelte | 177 +++++++++++ .../observatory/ui/PlantCard.svelte | 185 +++++++++++ .../src/routes/(app)/observatory/+page.svelte | 288 +++++++++++++++++- 3 files changed, 647 insertions(+), 3 deletions(-) create mode 100644 apps/manacore/apps/web/src/lib/components/observatory/ui/LakeCard.svelte create mode 100644 apps/manacore/apps/web/src/lib/components/observatory/ui/PlantCard.svelte diff --git a/apps/manacore/apps/web/src/lib/components/observatory/ui/LakeCard.svelte b/apps/manacore/apps/web/src/lib/components/observatory/ui/LakeCard.svelte new file mode 100644 index 000000000..fc263f97e --- /dev/null +++ b/apps/manacore/apps/web/src/lib/components/observatory/ui/LakeCard.svelte @@ -0,0 +1,177 @@ + + +
+ +
+ + + + + + + + + + + + + + + +
+ + +
+

{lake.label}

+ {lakeIcons[lake.id] || lake.name} +

{lakeDescriptions[lake.id] || ''}

+
+ + Klarheit + {Math.round(lake.clarity * 100)}% + + + Fullstand + {Math.round(lake.level * 100)}% + +
+
+
+ + diff --git a/apps/manacore/apps/web/src/lib/components/observatory/ui/PlantCard.svelte b/apps/manacore/apps/web/src/lib/components/observatory/ui/PlantCard.svelte new file mode 100644 index 000000000..37bb8be1c --- /dev/null +++ b/apps/manacore/apps/web/src/lib/components/observatory/ui/PlantCard.svelte @@ -0,0 +1,185 @@ + + + + + diff --git a/apps/manacore/apps/web/src/routes/(app)/observatory/+page.svelte b/apps/manacore/apps/web/src/routes/(app)/observatory/+page.svelte index 0c82e6a73..a48deeb69 100644 --- a/apps/manacore/apps/web/src/routes/(app)/observatory/+page.svelte +++ b/apps/manacore/apps/web/src/routes/(app)/observatory/+page.svelte @@ -1,9 +1,291 @@ -
-
- +
+ +
+ {#each tabs as tab} + + {/each}
+ + + {#if activeTab === 'scene'} +
+ +
+ {:else if activeTab === 'plants'} + + {:else if activeTab === 'lakes'} + + {/if}
+ + + (selectedApp = null)} /> + +