blob: 7fb41011b5bc5c85de8597ffdb9c7d49a588d2a3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
<script lang="ts">
import type { Topic } from '$lib/data/types';
export let topic: Topic;
import { _ } from 'svelte-i18n';
import Post from '$lib/components/post/post.svelte';
import { readableTime } from '$lib/utils/readable_time';
$: remainingTime = new Date(topic.updated_at).getTime() + topic.ttl - Date.now();
$: remaining = readableTime(remainingTime);
</script>
<div class="h-entry" title={$_('topic.title')}>
<h1 class="py-4 font-bold text-3xl p-name">{topic.title}</h1>
<aside class="topic-meta" title={$_('topic.metadata_title')}>
{#if topic.forum}
<span class="topic-location">
{$_('topic.category_location')}
<a
href="/f/{topic.forum.id}"
class="p-category underline text-blue-600 visited:text-purple-500"
>
{topic.forum.glyph}
{$_(topic.forum.label)}
</a>.
</span>
{/if}
<span class="topic-ttl">
<a
class="u-url u-uid underline text-blue-600 visited:text-purple-500"
title={$_('topic.permalink_title')}
href="/t/{topic.id}"
>
({$_('topic.remaining_time', {
values: { remaining: $_(remaining.label, { values: { count: remaining.count } }) }
})})
</a>
</span>
</aside>
{#if topic.tags}
<aside class="topic-tags" title={$_('topic.tags_title')}>
{$_('topic.tags_location')}
{#each topic.tags as tag}
<a href="/g/{tag.tag}" class="p-category underline text-blue-600 visited:text-purple-500">
{tag.tag}<span class="tag-weight">({tag.count})</span></a
>{' '}
{/each}
</aside>
{/if}
{#if topic.posts}
{#each topic.posts as post, index}
<Post {post} {index} count={topic.posts.length} />
{/each}
{/if}
</div>
|