X-Git-Url: https://git.r.bdr.sh/rbdr/forum/blobdiff_plain/c458f2733c730cc174500ba308e3a670057d4d84..55fb920baa9792266be1a6b981f954c622c1eaf9:/src/components/post/post.svelte?ds=sidebyside

diff --git a/src/components/post/post.svelte b/src/components/post/post.svelte
index bf2a190..66901af 100644
--- a/src/components/post/post.svelte
+++ b/src/components/post/post.svelte
@@ -1,23 +1,50 @@
 <script>
-  export let id;
+	export let post;
+	export let index = 0;
+	export let count = 1;
 
-  import { _ } from 'svelte-i18n';
+	import { _ } from 'svelte-i18n';
+	import Glyph from '$/components/glyph/glyph.svelte';
 
-  import { getPost } from '$/stores/post';
-  import PostContent from '$/components/post_content/post_content.svelte';
-  import ErrorBlock from '$/components/error_block/error_block.svelte';
-  import Loader from '$/components/loader/loader.svelte';
-
-  $: store = getPost(id);
-  $: post = $store.data;
+	const timestampToISO = (timestamp) => new Date(timestamp).toISOString();
 </script>
 
-{#if $store.loading}
-  <Loader />
-{/if}
-{#if $store.error}
-  <ErrorBlock message={$_('post.error.unavailable')} />
-{/if}
-{#if post}
-  <PostContent post={post} />
-{/if}
+<aside
+	class="post-meta"
+	title={$_('post.metadata_title', { values: { count: index + 1, total: count } })}
+>
+	<Glyph uuid={post.author.id} />
+	<span class="h-card">
+		{$_('post.author_credit')}
+		<a href="/a/{post.author.handle}" class="p-nickname u-url">{post.author.handle}</a>.
+	</span>
+	<time role="presentation" class="dt-published" datetime={timestampToISO(post.created_at)}>
+		<a title={$_('post.permalink_title')} href="/p/{post.id}">
+			{timestampToISO(post.created_at)}
+		</a>
+	</time>
+  {#if post.topic}
+  <span>
+    ({$_('post.topic_location')} <a href="/t/{post.topic.id}">{post.topic.title}</a>.)
+  </span>
+  {/if}
+</aside>
+<article
+	class="e-content"
+	title={$_('post.title', {
+		values: { count: index + 1, total: count, author: post.author.handle }
+	})}
+>
+	{post.text}
+</article>
+<hr />
+
+<style>
+	.post-meta * {
+		vertical-align: top;
+	}
+
+	article {
+		white-space: pre;
+	}
+</style>
