diff --git a/src/lib/components/ui/textarea/index.ts b/src/lib/components/ui/textarea/index.ts deleted file mode 100644 index 6eb6ba3..0000000 --- a/src/lib/components/ui/textarea/index.ts +++ /dev/null @@ -1,28 +0,0 @@ -import Root from "./textarea.svelte"; - -type FormTextareaEvent = T & { - currentTarget: EventTarget & HTMLTextAreaElement; -}; - -type TextareaEvents = { - blur: FormTextareaEvent; - change: FormTextareaEvent; - click: FormTextareaEvent; - focus: FormTextareaEvent; - keydown: FormTextareaEvent; - keypress: FormTextareaEvent; - keyup: FormTextareaEvent; - mouseover: FormTextareaEvent; - mouseenter: FormTextareaEvent; - mouseleave: FormTextareaEvent; - paste: FormTextareaEvent; - input: FormTextareaEvent; -}; - -export { - Root, - // - Root as Textarea, - type TextareaEvents, - type FormTextareaEvent, -}; diff --git a/src/lib/components/ui/textarea/textarea.svelte b/src/lib/components/ui/textarea/textarea.svelte deleted file mode 100644 index e0face7..0000000 --- a/src/lib/components/ui/textarea/textarea.svelte +++ /dev/null @@ -1,43 +0,0 @@ - - - diff --git a/src/lib/functions/autoresize.svelte.ts b/src/lib/functions/autoresize.svelte.ts index 96272a7..e8fc2c1 100644 --- a/src/lib/functions/autoresize.svelte.ts +++ b/src/lib/functions/autoresize.svelte.ts @@ -1,6 +1,6 @@ export function autoResize(node: HTMLElement) { function resize() { - node.style.height = 'auto'; + node.style.height = '40px'; node.style.height = node.scrollHeight + 'px'; } diff --git a/src/routes/channel/[channel]/+page.svelte b/src/routes/channel/[channel]/+page.svelte index 9280563..d9917bc 100644 --- a/src/routes/channel/[channel]/+page.svelte +++ b/src/routes/channel/[channel]/+page.svelte @@ -2,7 +2,7 @@ import { page } from '$app/state'; import Message from '$lib/components/message.svelte'; import { Button } from '$lib/components/ui/button/index'; - import Textarea from '$lib/components/ui/textarea/textarea.svelte'; + import { autoResize } from '$lib/functions/autoresize.svelte'; import Websocket from '$lib/functions/clientWebsocket.svelte'; import type { TypeMessage } from '$lib/types'; import Send from 'lucide-svelte/icons/send'; @@ -10,14 +10,14 @@ import { onMount } from 'svelte'; import { v4 as uuidv4 } from 'uuid'; import type { PageData } from './$types'; - import { autoResize } from '$lib/functions/autoresize.svelte'; const { data }: { data: PageData } = $props(); let user: string = uuidv4(); let socket: Websocket | undefined = $state(); let msg: string = $state(''); - const channel = $derived(page.params.channel); + const channel: string = $derived(page.params.channel); + let textareaRef: HTMLElement | undefined = $state(); // Connect on page load onMount(() => { @@ -49,9 +49,17 @@ class="flex w-full gap-1" onsubmit={() => { socket?.sendMessage(user!, msg); + if (textareaRef) textareaRef.style.height = '40px'; msg = ''; }}> - +