From 4401dce2b5545ce8117818812d8e3c8919f5f7fd Mon Sep 17 00:00:00 2001
From: Owen Jacobson <owen@grimoire.ca>
Date: Thu, 10 Oct 2024 21:05:48 -0400
Subject: Remove redundancy in `hi-ui` directory name.

---
 ui/src/lib/components/MessageInput.svelte | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 ui/src/lib/components/MessageInput.svelte

(limited to 'ui/src/lib/components/MessageInput.svelte')

diff --git a/ui/src/lib/components/MessageInput.svelte b/ui/src/lib/components/MessageInput.svelte
new file mode 100644
index 0000000..b33574b
--- /dev/null
+++ b/ui/src/lib/components/MessageInput.svelte
@@ -0,0 +1,30 @@
+<script>
+    import { tick } from 'svelte';
+    import { postToChannel } from '$lib/apiServer';
+    import { activeChannel } from '$lib/store';
+
+    let input;
+    let value;
+    let disabled;
+    activeChannel.subscribe((value) => {
+        disabled = !value.isSet();
+        if (input && !disabled) {
+            input.focus();
+        }
+    });
+
+    async function handleSubmit(event) {
+        disabled = true;
+        // TODO try/catch:
+        await postToChannel($activeChannel.get(), value);
+        value = '';
+        disabled = false;
+        await tick();
+        input.focus();
+    }
+</script>
+
+<form on:submit|preventDefault={handleSubmit} class="flex flex-row flex-nowrap">
+    <input bind:this={input} bind:value={value} disabled={disabled} type="search" class="flex-auto h-6 input rounded-r-none" />
+    <button color="primary variant-filled-secondary" type="submit" class="flex-none w-6 h-6 btn-icon variant-filled rounded-l-none">&raquo;</button>
+</form>
-- 
cgit v1.2.3

