all repos — emessage @ 457f9446562136b2f89323ac7b756af10837b3c0

The EMessage email client

frontend/src/lib/components/ConversationView.svelte (view raw)

 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
<script lang="ts">
	import Message from '$lib/components/Message.svelte';
	import { EventsOn } from "$lib/wailsjs/runtime/runtime";
	import { GetMessagesFromConversation } from "$lib/wailsjs/go/main/App";
	import { global } from "$lib/global.svelte.js";

	let { conversation } = $props();

	let { messages } = $state([]);
	
	$effect(async () => {
		const Page = await GetMessagesFromConversation(conversation, 1, 100);
		messages = Page.messages;
	});

	EventsOn("reload", async () => {
		const Page = await GetMessagesFromConversation(conversation, 1, 100);
		messages = Page.messages;
	});
</script>

<section class="flex-1 flex flex-col-reverse overflow-scroll px-8 py-4">
	{#each messages as message (message.ID)}
		<Message {message}
				 sent={message.Sender.ID === conversation.ServerRecipient.ID || message.Sender.Value === conversation.ServerRecipient.Value}  />
	{/each}
</section>