From e6c7bcf7f4c1fd513bbfe15b9d2bb037809e0bb6 Mon Sep 17 00:00:00 2001 From: "diana.dolgolyova" Date: Wed, 11 Mar 2026 18:48:12 +0300 Subject: [PATCH] fix: auto-resize textareas + dark scrollbar in admin editors Textareas auto-grow with content and on window resize, no scrollbar or resize handle needed. Added dark admin scrollbar styles for cases where overflow is needed. Co-Authored-By: Claude Opus 4.6 --- src/app/admin/_components/FormField.tsx | 25 ++++++++++++++++++++++++- src/app/globals.css | 24 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/app/admin/_components/FormField.tsx b/src/app/admin/_components/FormField.tsx index cea629d..5c67cf8 100644 --- a/src/app/admin/_components/FormField.tsx +++ b/src/app/admin/_components/FormField.tsx @@ -1,3 +1,5 @@ +import { useRef, useEffect } from "react"; + interface InputFieldProps { label: string; value: string; @@ -42,15 +44,36 @@ export function TextareaField({ placeholder, rows = 3, }: TextareaFieldProps) { + const ref = useRef(null); + + useEffect(() => { + const el = ref.current; + if (!el) return; + el.style.height = "auto"; + el.style.height = el.scrollHeight + "px"; + }, [value]); + + useEffect(() => { + function onResize() { + const el = ref.current; + if (!el) return; + el.style.height = "auto"; + el.style.height = el.scrollHeight + "px"; + } + window.addEventListener("resize", onResize); + return () => window.removeEventListener("resize", onResize); + }, []); + return (