]> git.r.bdr.sh - rbdr/forum/blobdiff - src/routes/f/[id].svelte
Port to sveltekit
[rbdr/forum] / src / routes / f / [id].svelte
index d1fae4cff0ff45ed43e5045291c2524621d00e49..83afc8a905995ff89e8a1c773c174ae5c49679d9 100644 (file)
@@ -1,9 +1,34 @@
+<script context="module">
+       export const load = ({
+         page: {
+           params: { id }
+         }
+       }) => ({ props: { id } });
+</script>
+
 <script>
 <script>
-  export async function load(ctx) {
-    let id = ctx.page.params.id
-    return { props: { id }}
-  }
+       import { _ } from 'svelte-i18n';
+       import Forum from '$/components/forum/forum.svelte';
+       import ErrorBlock from '$/components/error_block/error_block.svelte';
+       import Loader from '$/components/loader/loader.svelte';
+
+       export let id;
+
+       import { getForum } from '$/stores/forum';
+       $: store = getForum(id);
+       $: forum = $store.data;
 </script>
 
 </script>
 
-<h1>Forum Index.</h1>
-<p>This component lists topics for forum with id: {id}</p>
+<svelte:head>
+       <title>{$_(`forum.name.${id}`)}, {$_('forum.forum')}</title>
+</svelte:head>
+
+{#if $store.loading}
+       <Loader />
+{/if}
+{#if $store.error}
+       <ErrorBlock message={$_('forum.error.unavailable')} />
+{/if}
+{#if forum}
+       <Forum {forum} />
+{/if}