From 507c972ecafeceaf4f8962ad881f8fb50c9b86c1 Mon Sep 17 00:00:00 2001
From: Elizabeth Hunt <me@liz.coffee>
Date: Sat, 4 Oct 2025 17:37:22 -0700
Subject: paste art

---
 src/pages/ChooseArt.tsx | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 src/pages/ChooseArt.tsx

(limited to 'src/pages/ChooseArt.tsx')

diff --git a/src/pages/ChooseArt.tsx b/src/pages/ChooseArt.tsx
new file mode 100644
index 0000000..fab6d79
--- /dev/null
+++ b/src/pages/ChooseArt.tsx
@@ -0,0 +1,45 @@
+import type React from 'react';
+import { useEffect, useRef, useState } from 'react';
+
+export interface ChooseArtProps {
+    artSubmissionCallback: (art: string) => void;
+}
+
+export const ChooseArt: React.FC<ChooseArtProps> = ({
+    artSubmissionCallback,
+}) => {
+    const [art, setArt] = useState('');
+    const promptRef = useRef<HTMLTextAreaElement>(null);
+
+    useEffect(() => {
+        if (!promptRef.current) {
+            return;
+        }
+        // Automatically focus the textarea when the component mounts
+        promptRef.current.focus();
+    }, [promptRef]);
+
+    const handleSubmit = () => {
+        if (!art.trim()) {
+            return;
+        }
+        artSubmissionCallback(art);
+    };
+
+    return (
+        <div>
+            <textarea
+                ref={promptRef}
+                value={art}
+                onChange={(e) => setArt(e.target.value)}
+                placeholder='paste your ascii art here...'
+                rows={15}
+                cols={80}
+            />
+            <div className={"maybe-visible " + (art.trim() ? "visible" : "invisible")}>
+                <hr />
+                <button  onClick={handleSubmit}>color!</button>
+            </div>
+        </div>
+    );
+};
-- 
cgit v1.3

