]> git.r.bdr.sh - rbdr/forum/blobdiff - src/routes/g/[id].svelte
Use supabase
[rbdr/forum] / src / routes / g / [id].svelte
index d036c3623b9b20b80f079a0a47ab6a85060d52f7..2033f14344a2041711bf8b444feb0b7173bb1ae7 100644 (file)
@@ -1,9 +1,30 @@
-<script>
-  export async function load(ctx) {
-    let id = ctx.page.params.id
-    return { props: { id }}
-  }
+<script lang="ts" context="module">
+       export const load = ({
+    params: { id }
+       }) => ({ props: { id } });
 </script>
 
-<h1>Tag Index.</h1>
-<p>This component lists topics for tag with id: {id}</p>
+<script lang="ts">
+       import { _ } from 'svelte-i18n';
+       import { topicsForTag } from '$lib/stores/topics';
+       import ErrorBlock from '$lib/components/error_block/error_block.svelte';
+       import Loader from '$lib/components/loader/loader.svelte';
+       import Tag from '$lib/components/tag/tag.svelte';
+       export let id: string;
+
+       $: tagResponse = topicsForTag(id);
+</script>
+
+<svelte:head>
+       <title>{id}, {$_('tag.title')}</title>
+</svelte:head>
+
+{#if $tagResponse.loading}
+       <Loader />
+{/if}
+{#if $tagResponse.error}
+       <ErrorBlock message={$_('tag.error.unavailable')} />
+{/if}
+{#if $tagResponse.data}
+       <Tag topics={$tagResponse.data} tag={id} />
+{/if}