summaryrefslogtreecommitdiffhomepage
path: root/packages/frontend/src/App.svelte
blob: 038fb09907d476a0b6a0850fca332e9f89da00a9 (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
<script lang="ts">
import { onMount } from "svelte";
import ChatInput from "./lib/components/ChatInput.svelte";
import ChatPanel from "./lib/components/ChatPanel.svelte";
import Header from "./lib/components/Header.svelte";
import { wsClient } from "./lib/ws.svelte.js";

const STORAGE_KEY = "dispatch-theme";

onMount(() => {
	// Apply saved theme
	const saved = localStorage.getItem(STORAGE_KEY);
	if (saved) {
		document.documentElement.setAttribute("data-theme", saved);
	}

	// Connect WebSocket
	wsClient.connect();

	return () => {
		wsClient.disconnect();
	};
});
</script>

<div class="flex flex-col h-screen overflow-hidden bg-base-100 text-base-content">
	<Header />
	<div class="flex-1 overflow-hidden">
		<ChatPanel />
	</div>
	<ChatInput />
</div>