summaryrefslogtreecommitdiff
path: root/hi-ui/src/routes/+page.svelte
diff options
context:
space:
mode:
authorKit La Touche <kit@transneptune.net>2024-10-09 15:32:52 -0400
committerKit La Touche <kit@transneptune.net>2024-10-09 15:32:52 -0400
commitbd53a51af835478d23bef4772ce7e50553dc3fdf (patch)
tree3f190a47b9f704c412d0ff684b959abf003b8e5b /hi-ui/src/routes/+page.svelte
parentdd62b823e01934a0f841256fdb17b551091896bf (diff)
Move a lot of things around
Diffstat (limited to 'hi-ui/src/routes/+page.svelte')
-rw-r--r--hi-ui/src/routes/+page.svelte96
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&hellip;</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>