]> git.r.bdr.sh - rbdr/forum/blobdiff - src/routes/p/[id].svelte
Add typedoc
[rbdr/forum] / src / routes / p / [id].svelte
index b8a81655d4897b1fc60eca83af9caae42373db85..8efd8c1031621b99bb6dc9e63d39e76377430cac 100644 (file)
@@ -1,11 +1,34 @@
-<script>
-  export const load = function load(ctx) {
+<script lang="ts" context="module">
+       export const load = ({
+               page: {
+                       params: { id }
+               }
+       }) => ({ props: { id } });
+</script>
+
+<script lang="ts">
+       import { _ } from 'svelte-i18n';
+       import { getPost } from '$lib/stores/posts';
+       import Post from '$lib/components/post/post.svelte';
+       import ErrorBlock from '$lib/components/error_block/error_block.svelte';
+       import Loader from '$lib/components/loader/loader.svelte';
 
 
-    const id = ctx.page.params.id;
-    return { props: { id } };
-  };
+       export let id: string;
 
 
-  import Post from '$components/post/post.svelte';
+       $: store = getPost(id);
+       $: post = $store.data;
 </script>
 
 </script>
 
-<Post/>
+<svelte:head>
+       <title>{$_('post.post')}}</title>
+</svelte:head>
+
+{#if $store.loading}
+       <Loader />
+{/if}
+{#if $store.error}
+       <ErrorBlock message={$_('post.error.unavailable')} />
+{/if}
+{#if post}
+       <Post {post} />
+{/if}