]> git.r.bdr.sh - rbdr/forum/blobdiff - src/routes/f/[id].svelte
Update apollo
[rbdr/forum] / src / routes / f / [id].svelte
index d1fae4cff0ff45ed43e5045291c2524621d00e49..fc103d22533f8f5fade4ea7b919ccbea0e6cce27 100644 (file)
@@ -1,9 +1,34 @@
-<script>
-  export async function load(ctx) {
-    let id = ctx.page.params.id
-    return { props: { id }}
-  }
+<script lang="ts" context="module">
+       export const load = ({
+               page: {
+                       params: { id }
+               }
+       }) => ({ props: { id } });
 </script>
 
 </script>
 
-<h1>Forum Index.</h1>
-<p>This component lists topics for forum with id: {id}</p>
+<script lang="ts">
+       import { _ } from 'svelte-i18n';
+       import Forum from '$lib/components/forum/forum.svelte';
+       import ErrorBlock from '$lib/components/error_block/error_block.svelte';
+       import Loader from '$lib/components/loader/loader.svelte';
+
+       export let id: string;
+
+       import { getForum } from '$lib/stores/forums';
+       $: store = getForum(id);
+       $: forum = $store.data;
+</script>
+
+<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}