From 502d6ed7ac33f44d0b97f8b3da9d399868487338 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?DESKTOP-6FVFHUO=5C=EA=B8=B0=ED=9B=88?= Date: Tue, 30 Dec 2025 14:43:38 +0900 Subject: [PATCH 01/18] =?UTF-8?q?=EB=A6=AC=EB=B2=A0=EC=9D=B4=EC=8A=A4=20?= =?UTF-8?q?=EC=9D=B4=ED=9B=84=20import=EB=AC=B8=20=EA=B2=BD=EB=A1=9C?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- feature/Experience/ExperienceForm.tsx | 2 +- feature/Experience/schedule/DateInput.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/feature/Experience/ExperienceForm.tsx b/feature/Experience/ExperienceForm.tsx index ec60099..55d057e 100644 --- a/feature/Experience/ExperienceForm.tsx +++ b/feature/Experience/ExperienceForm.tsx @@ -1,7 +1,7 @@ "use client"; import { Button } from "@/components/button/Button"; -import { Input } from "@/components/common/input"; +import { Input } from "@/components/input/Input"; import type { ExperienceFormValues } from "@/types/ExperienceForm.types"; import { useExperienceForm } from "@/hooks/useExperienceForm"; diff --git a/feature/Experience/schedule/DateInput.tsx b/feature/Experience/schedule/DateInput.tsx index e460ac4..f4249d6 100644 --- a/feature/Experience/schedule/DateInput.tsx +++ b/feature/Experience/schedule/DateInput.tsx @@ -2,7 +2,7 @@ import { useState, useRef } from "react"; import CalendarIcon from "@/public/icon_calendar.svg"; import DatePicker from "./Datepicker"; -import { Input } from "@/components/common/input"; +import { Input } from "@/components/input/Input"; import { useClickOutside } from "@/hooks/useClickOutside"; interface Props { From 02297595d6b9d058dbff1f48cd51fafa2d28b02a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?DESKTOP-6FVFHUO=5C=EA=B8=B0=ED=9B=88?= Date: Tue, 30 Dec 2025 14:46:57 +0900 Subject: [PATCH 02/18] =?UTF-8?q?=EB=A6=AC=EB=B2=A0=EC=9D=B4=EC=8A=A4=20?= =?UTF-8?q?=EC=9D=B4=ED=9B=84=20import=EB=AC=B8=20=EA=B2=BD=EB=A1=9C?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\273\244\353\260\213\354\203\235\354\204\261\354\232\251.md" | 1 + 1 file changed, 1 insertion(+) diff --git "a/\353\271\210\354\273\244\353\260\213\354\203\235\354\204\261\354\232\251.md" "b/\353\271\210\354\273\244\353\260\213\354\203\235\354\204\261\354\232\251.md" index e69de29..272a356 100644 --- "a/\353\271\210\354\273\244\353\260\213\354\203\235\354\204\261\354\232\251.md" +++ "b/\353\271\210\354\273\244\353\260\213\354\203\235\354\204\261\354\232\251.md" @@ -0,0 +1 @@ +빈커밋 생성 이유 develop이 아닌 main으로 PR 요청해서 수정했습니다 \ No newline at end of file From c3597c2c12a06823472ae9907b20cd4cbfedbb8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?DESKTOP-6FVFHUO=5C=EA=B8=B0=ED=9B=88?= Date: Wed, 31 Dec 2025 09:50:25 +0900 Subject: [PATCH 03/18] =?UTF-8?q?refactor:=20=EB=B9=84=EC=A0=9C=EC=96=B4?= =?UTF-8?q?=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- feature/Experience/ExperienceForm.tsx | 63 +++++++++++++++------------ 1 file changed, 34 insertions(+), 29 deletions(-) diff --git a/feature/Experience/ExperienceForm.tsx b/feature/Experience/ExperienceForm.tsx index 55d057e..937d9dd 100644 --- a/feature/Experience/ExperienceForm.tsx +++ b/feature/Experience/ExperienceForm.tsx @@ -1,15 +1,12 @@ "use client"; +import { useRef } from "react"; import { Button } from "@/components/button/Button"; -import { Input } from "@/components/input/Input"; -import type { ExperienceFormValues } from "@/types/ExperienceForm.types"; - -import { useExperienceForm } from "@/hooks/useExperienceForm"; +import { ImageSection } from "./ImageSection"; +import { ScheduleSection } from "./ScheduleSection"; import { useScheduleManager } from "@/hooks/useScheduleManager"; import { useImageManager } from "@/hooks/useImageManager"; - -import { ImageSection } from "./ImageSection"; -import { ScheduleSection } from "./ScheduleSection"; +import type { ExperienceFormValues } from "@/types/ExperienceForm.types"; interface Props { initialValues?: Partial; @@ -22,21 +19,25 @@ export default function ExperienceForm({ onSubmit, submitLabel = "등록하기", }: Props) { - /** 기본 폼 상태 */ - const { values, handleChange } = useExperienceForm(initialValues); - /** 스케줄 관리 */ - const scheduleManager = useScheduleManager( - initialValues?.schedules ?? [] - ); + const titleRef = useRef(null); + const categoryRef = useRef(null); + const descriptionRef = useRef(null); + const priceRef = useRef(null); + const addressRef = useRef(null); + + const scheduleManager = useScheduleManager(initialValues?.schedules ?? []); - /** 이미지 관리 */ const bannerImages = useImageManager(); const detailImages = useImageManager(); const handleSubmit = () => { onSubmit({ - ...values, + title: titleRef.current?.value ?? "", + category: categoryRef.current?.value ?? "", + description: descriptionRef.current?.value ?? "", + price: Number(priceRef.current?.value ?? 0), + address: addressRef.current?.value ?? "", schedules: scheduleManager.schedules, bannerImageUrl: bannerImages.images[0]?.preview ?? "", subImageUrls: detailImages.images.map((img) => img.preview), @@ -55,49 +56,53 @@ export default function ExperienceForm({ {/* 제목 */} - {/* 카테고리 */} - {/* 설명 */}