]> git.r.bdr.sh - rbdr/forum/blobdiff - src/routes/p/[id].svelte
Add topics store pact tests
[rbdr/forum] / src / routes / p / [id].svelte
index b8a81655d4897b1fc60eca83af9caae42373db85..3eeb5288947cedd612fd2c80d7401a188a357497 100644 (file)
@@ -1,11 +1,34 @@
+<script context="module">
+       export const load = ({
+         page: {
+           params: { id }
+         }
+       }) => ({ props: { id } });
+</script>
+
 <script>
-  export const load = function load(ctx) {
+       import { _ } from 'svelte-i18n';
+       import { getPost } from '$/stores/posts';
+       import Post from '$/components/post/post.svelte';
+       import ErrorBlock from '$/components/error_block/error_block.svelte';
+       import Loader from '$/components/loader/loader.svelte';
 
-    const id = ctx.page.params.id;
-    return { props: { id } };
-  };
+       export let id;
 
-  import Post from '$components/post/post.svelte';
+       $: store = getPost(id);
+       $: post = $store.data;
 </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}