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>
|