From 3a260c207b13ca795c4367692fe1842cf45e68f9 Mon Sep 17 00:00:00 2001 From: theorose49 Date: Tue, 30 Jun 2026 08:50:57 +0900 Subject: [PATCH] =?UTF-8?q?feat(ui):=20=EC=9E=90=EC=9C=A0=20=ED=85=8D?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=ED=95=84=EB=93=9C=20=EC=9E=90=EB=8F=99?= =?UTF-8?q?=EC=99=84=EC=84=B1(TextSuggest)=20=E2=80=94=20=EC=BB=A8?= =?UTF-8?q?=EC=84=A4=ED=8C=85=EC=A2=85=EB=A5=98=C2=B7=EA=B5=AD=EA=B0=80?= =?UTF-8?q?=C2=B7=EC=97=AD=ED=95=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - TextSuggest(input+datalist): 직접 입력 + 추천 드롭다운 - 컨설팅 종류/제출 국가: 큐레이션 + 기존 프로젝트 입력값 병합 추천(useFieldSuggestions) - 작업자 역할: 작업자/PM/검토자/디자이너/자문/번역 추천 - 프로젝트 생성·수정 모달, 작업자 추가 폼에 적용 Co-Authored-By: Claude Opus 4.8 (1M context) --- src/components/ui.tsx | 24 +++++++++++++++++++++++- src/lib/suggest.ts | 29 +++++++++++++++++++++++++++++ src/pages/ProjectDetail.tsx | 10 ++++++---- src/pages/Projects.tsx | 8 +++++--- 4 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 src/lib/suggest.ts diff --git a/src/components/ui.tsx b/src/components/ui.tsx index 0f2c7b1..395e25c 100644 --- a/src/components/ui.tsx +++ b/src/components/ui.tsx @@ -1,7 +1,7 @@ import type { ButtonHTMLAttributes, InputHTMLAttributes, ReactNode, SelectHTMLAttributes, } from "react"; -import { useEffect } from "react"; +import { useEffect, useId } from "react"; import { X } from "lucide-react"; import { classNames } from "@/lib/format"; @@ -101,6 +101,28 @@ export function Select(props: SelectHTMLAttributes) { return onChange(e.target.value)} + className={classNames("form-input", className)} + /> + + {options.map((o) => + + ); +} + export function Textarea(props: React.TextareaHTMLAttributes) { return (