From 898d5c5af3965803cff0067d9f5ee3a40d1f40db Mon Sep 17 00:00:00 2001 From: Mason Mirabile Date: Tue, 21 Apr 2026 13:44:19 +0200 Subject: [PATCH] Make UI better (WIP) --- frontend/src/routes/+layout.svelte | 85 ++++++++++++- frontend/src/routes/+page.svelte | 71 ++++++++++- frontend/src/routes/datasets/+page.svelte | 118 ++++++++++++++++-- .../src/routes/datasets/[id]/+page.svelte | 69 ++++++++-- 4 files changed, 317 insertions(+), 26 deletions(-) diff --git a/frontend/src/routes/+layout.svelte b/frontend/src/routes/+layout.svelte index 9cebde5..c0d0a88 100644 --- a/frontend/src/routes/+layout.svelte +++ b/frontend/src/routes/+layout.svelte @@ -6,6 +6,89 @@ + City Portal -{@render children()} +
+
+
+ + City Portal +
+
+ +
+ {@render children()} +
+
+ + \ No newline at end of file diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte index 261cd12..800b39d 100644 --- a/frontend/src/routes/+page.svelte +++ b/frontend/src/routes/+page.svelte @@ -1,7 +1,66 @@ -

Welcome to the City Portal!

+ - +
+

City Portal

+

Access datasets, learn about the project, or explore the API.

+ + +
+ + \ No newline at end of file diff --git a/frontend/src/routes/datasets/+page.svelte b/frontend/src/routes/datasets/+page.svelte index 112953e..7cf1bc2 100644 --- a/frontend/src/routes/datasets/+page.svelte +++ b/frontend/src/routes/datasets/+page.svelte @@ -1,26 +1,122 @@ - List of datasets + City Dashboard {#if data.datasets.length} - {#each data.datasets as dataset} - - {/each} + + + {/each} + {:else}

No datasets yet!

Try adding a dataset through the backend.

{/if} + + \ No newline at end of file diff --git a/frontend/src/routes/datasets/[id]/+page.svelte b/frontend/src/routes/datasets/[id]/+page.svelte index d74ece9..af525d4 100644 --- a/frontend/src/routes/datasets/[id]/+page.svelte +++ b/frontend/src/routes/datasets/[id]/+page.svelte @@ -3,14 +3,67 @@ let { data }: PageProps = $props(); - // svelte-ignore state_referenced_locally - const recordData = JSON.parse(data.record.data); + const recordData = JSON.parse(data.record.data); -

Data for record id: {data.record.id}

+ + Record {data.record.id} + - +
+

Record #{data.record.id}

+ +
+ {#each Object.entries(recordData) as [key, value]} +
+
{key}
+
+ {Array.isArray(value) ? value.join(", ") : value} +
+
+ {/each} +
+
+ + \ No newline at end of file