4 import { _ } from 'svelte-i18n';
5 import Post from '$/components/post/post.svelte';
6 import { readableTime } from '$/utils/readable_time.js';
8 $: remainingTime = topic ? topic.updated_at + topic.ttl - Date.now() : 0;
9 $: remaining = readableTime(remainingTime);
12 <div class="h-entry" title={$_('topic.title')}>
13 <h1 class="p-name">{topic.title}</h1>
14 <aside class="topic-meta" title={$_('topic.metadata_title')}>
16 <span class="topic-location"
17 >{$_('topic.category_location')}
18 <a href="/f/{topic.forum.id}" class="p-category"
19 >{topic.forum.glyph} {$_(topic.forum.label)}</a
23 <span class="topic-ttl"
24 ><a class="u-url u-uid" title={$_('topic.permalink_title')} href="/t/{topic.id}"
25 >({$_('topic.remaining_time', {
26 values: { remaining: $_(remaining.label, { values: { count: remaining.count } }) }
31 {#if topic.tags.length > 0}
32 <aside class="topic-tags" title={$_('topic.tags_title')}>
33 {$_('topic.tags_location')}
34 {#each topic.tags as tag}
35 <a href="/g/{tag.id}" class="p-category"
36 >{tag.id}<span class="tag-weight">({tag.weight})</span></a
41 {#each topic.posts as post, index}
42 <Post {post} {index} count={topic.posts.length} />