X-Git-Url: https://git.r.bdr.sh/rbdr/forum/blobdiff_plain/bd8e98d7e24c4dbaee7db6ec7955f7c2f6d396a6..2ab71001d511b656f008316c08e09f89972028d8:/src/routes/p/%5Bid%5D.svelte

diff --git a/src/routes/p/[id].svelte b/src/routes/p/[id].svelte
index b8a8165..8efd8c1 100644
--- a/src/routes/p/[id].svelte
+++ b/src/routes/p/[id].svelte
@@ -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>
 
-<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}
