diff --git a/apps/manacore/apps/web/src/lib/components/observatory/SeenplatteScene.svelte b/apps/manacore/apps/web/src/lib/components/observatory/SeenplatteScene.svelte index 226d8b22b..e694446b2 100644 --- a/apps/manacore/apps/web/src/lib/components/observatory/SeenplatteScene.svelte +++ b/apps/manacore/apps/web/src/lib/components/observatory/SeenplatteScene.svelte @@ -1,21 +1,36 @@ + + +{#if !isNight} + {#each birds as bird} + + + + + + + + {/each} + + + {#each dragonflies as df} + + + + + + + {/each} +{/if} + + +{#if isNight} + {#each fireflies as ff} + + + + + + {/each} +{/if} + + +{#if !isNight} + + + + + + + + + + +{/if} diff --git a/apps/manacore/apps/web/src/lib/components/observatory/atmosphere/Sky.svelte b/apps/manacore/apps/web/src/lib/components/observatory/atmosphere/Sky.svelte new file mode 100644 index 000000000..545aeea90 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/components/observatory/atmosphere/Sky.svelte @@ -0,0 +1,83 @@ + + + + + + + + + + + + +{#if isNight} + + {#each Array(35) as _, i} + {@const sx = (i * 137 + 42) % SCENE.width} + {@const sy = (i * 89 + 17) % 250} + {@const sr = 0.5 + (i % 3) * 0.4} + + + + {/each} + +{/if} + + +{#if isDusk} + + + + +{/if} diff --git a/apps/manacore/apps/web/src/lib/components/observatory/terrain/Background.svelte b/apps/manacore/apps/web/src/lib/components/observatory/terrain/Background.svelte index 4744cb934..45c4f2167 100644 --- a/apps/manacore/apps/web/src/lib/components/observatory/terrain/Background.svelte +++ b/apps/manacore/apps/web/src/lib/components/observatory/terrain/Background.svelte @@ -1,15 +1,12 @@ - - - - - - @@ -19,8 +16,8 @@ - - + + diff --git a/apps/manacore/apps/web/src/lib/components/observatory/ui/DetailPanel.svelte b/apps/manacore/apps/web/src/lib/components/observatory/ui/DetailPanel.svelte new file mode 100644 index 000000000..a588baa02 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/components/observatory/ui/DetailPanel.svelte @@ -0,0 +1,332 @@ + + + + +{#if app} + + + + + + + + {app.displayName} + + {statusLabels[app.status]} + + + + {app.score} + + + + + + + + + + + Kategorien + + + + + + + + + {#each Object.entries(app.categories) as [key, value]} + + {key} + + + + {value} + + {/each} + + + + + + + {#if appUrls[app.id]} + + App offnen + + {/if} + ManaScore Details + + + + + + × + + +{/if} + + diff --git a/apps/manacore/apps/web/src/lib/components/observatory/ui/PlantTooltip.svelte b/apps/manacore/apps/web/src/lib/components/observatory/ui/PlantTooltip.svelte new file mode 100644 index 000000000..b3e8c91af --- /dev/null +++ b/apps/manacore/apps/web/src/lib/components/observatory/ui/PlantTooltip.svelte @@ -0,0 +1,176 @@ + + + + + {app.displayName} + {app.score} + + + + {statusLabels[app.status]} + + + {healthIcons[app.health]} + + {#if app.trend !== 0} + 0} class:negative={app.trend < 0}> + {app.trend > 0 ? '+' : ''}{app.trend} + + {/if} + + + {#each Object.entries(app.categories) as [key, value]} + + {key} + + + + {value} + + {/each} + + + + diff --git a/apps/manacore/apps/web/src/lib/components/observatory/ui/RadarChart.svelte b/apps/manacore/apps/web/src/lib/components/observatory/ui/RadarChart.svelte new file mode 100644 index 000000000..725377545 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/components/observatory/ui/RadarChart.svelte @@ -0,0 +1,120 @@ + + + + + {#each rings as ring} + + {/each} + + + {#each axes as axis} + + {/each} + + + + + + {#each dataPoints as point} + + {/each} + + + {#each labelPositions as lp} + + {lp.label} + + {/each} + 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 f9bd616c9..0c82e6a73 100644 --- a/apps/manacore/apps/web/src/routes/(app)/observatory/+page.svelte +++ b/apps/manacore/apps/web/src/routes/(app)/observatory/+page.svelte @@ -1,23 +1,9 @@ - + - - {#if selectedApp} - - - Selected: {selectedApp} — Detail panel coming in Phase 5 - - - {/if}
- Selected: {selectedApp} — Detail panel coming in Phase 5 -