X-Git-Url: https://git.r.bdr.sh/rbdr/forum/blobdiff_plain/bd8e98d7e24c4dbaee7db6ec7955f7c2f6d396a6..6ccc6f60fc85e665c8a07a169efbe8d09c9d9e8e:/src/routes/g/%5Bid%5D.svelte

diff --git a/src/routes/g/[id].svelte b/src/routes/g/[id].svelte
index d036c36..ff45b51 100644
--- a/src/routes/g/[id].svelte
+++ b/src/routes/g/[id].svelte
@@ -1,9 +1,28 @@
-<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}
