Catalogger.NET/Catalogger.Frontend/src/routes/Message.svelte

35 lines
798 B
Svelte
Raw Normal View History

2024-10-24 21:38:36 +02:00
<script lang="ts">
import type { NewsMessage } from "$lib/api";
import {
Card,
CardBody,
CardFooter,
CardText,
} from "@sveltestrap/sveltestrap";
import { DateTime } from "luxon";
import { marked } from "marked";
2024-10-24 21:38:36 +02:00
export let message: NewsMessage;
$: content = marked.parse(message.content, { breaks: true });
2024-10-24 21:38:36 +02:00
$: postedAt = DateTime.fromISO(message.posted_at).toLocaleString(
DateTime.DATETIME_MED,
);
$: editedAt = message.edited_at
? DateTime.fromISO(message.edited_at).toLocaleString(DateTime.DATETIME_MED)
: null;
</script>
<Card class="mb-2">
2024-10-24 21:38:36 +02:00
<CardBody>
<CardText>{@html content}</CardText>
2024-10-24 21:38:36 +02:00
</CardBody>
<CardFooter>
From {message.author} &bull; Posted {postedAt}
{#if editedAt}
<p class="text-muted">(edited {editedAt})</p>
{/if}
</CardFooter>
</Card>