diff options
| author | Kit La Touche <kit@transneptune.net> | 2024-10-09 15:32:52 -0400 |
|---|---|---|
| committer | Kit La Touche <kit@transneptune.net> | 2024-10-09 15:32:52 -0400 |
| commit | bd53a51af835478d23bef4772ce7e50553dc3fdf (patch) | |
| tree | 3f190a47b9f704c412d0ff684b959abf003b8e5b /hi-ui/src/routes/+page.svelte | |
| parent | dd62b823e01934a0f841256fdb17b551091896bf (diff) | |
Move a lot of things around
Diffstat (limited to 'hi-ui/src/routes/+page.svelte')
| -rw-r--r-- | hi-ui/src/routes/+page.svelte | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/hi-ui/src/routes/+page.svelte b/hi-ui/src/routes/+page.svelte deleted file mode 100644 index 932582d..0000000 --- a/hi-ui/src/routes/+page.svelte +++ /dev/null @@ -1,96 +0,0 @@ -<script> - import { onMount } from 'svelte'; - - import { boot, subscribeToEvents } from '../apiServer'; - import { currentUser, channelsList, messages } from '../store'; - - import ActiveChannel from '../lib/ActiveChannel.svelte'; - import ChannelList from '../lib/ChannelList.svelte'; - import CreateChannelForm from '../lib/CreateChannelForm.svelte'; - import LogIn from '../lib/LogIn.svelte'; - import MessageInput from '../lib/MessageInput.svelte'; - - let user; - let loading = true; - - currentUser.subscribe((value) => { - user = value; - }); - - function onBooted(boot) { - currentUser.update(() => ({ - id: boot.login.id, - username: boot.login.name, - })); - let channels = boot.channels.map((channel) => ({ - id: channel.id, - name: channel.name, - })); - channelsList.update((value) => value.setChannels(channels)); - let bootMessages = boot.channels.map((channel) => [channel.id, channel.messages]); - for (let [channel, channelMessages] of bootMessages) { - messages.update((value) => value.addMessages(channel, channelMessages)); - } - } - - onMount(async () => { - try { - let response = await boot(); - switch (response.status) { - case 200: - onBooted(response.data); - subscribeToEvents(response.data.resume_point); - break; - case 401: - currentUser.update(() => null); - break; - default: - // TODO: display error. - break; - } - } catch (_) { - // I don't want exceptions on non-200 series responses, dammit. - } - loading = false; - }); -</script> - -{#if loading} - <h2>Loading…</h2> -{:else if user != null} - <div id="interface"> - <div class="channel-list"> - <ChannelList /> - </div> - <div class="active-channel"> - <ActiveChannel /> - </div> - <div class="create-channel"> - <CreateChannelForm /> - </div> - <div class="create-message"> - <MessageInput /> - </div> - </div> -{:else} - <LogIn /> -{/if} - -<style> - #interface { - height: 89vh; - margin: 1rem; - display: grid; - grid-template-columns: 18rem auto; - grid-template-rows: auto 2rem; - grid-gap: 0.25rem; - } - #interface div { - max-height: 100%; - overflow: scroll; - } - #interface .active-channel { - border: 1px solid grey; - border-radius: 1.25rem; - } -</style> |
