11"use client" ;
2-
32import { useEffect , useOptimistic , useState , useTransition } from "react" ;
43import { Dialog , DialogContent , DialogFooter , DialogHeader , DialogTitle } from "../ui/dialog" ;
54import { ConcertDatePicker } from "../concert/detail/ConcertDatePicker" ;
@@ -15,8 +14,8 @@ import { getConcertDetail } from "@/lib/api/concerts/concerts.client";
1514import { ConcertDetail } from "@/types/concerts" ;
1615import { toast } from "sonner" ;
1716import { formatDateRange } from "@/utils/helpers/formatters" ;
18- import { createPlanner } from "@/lib/api/planner/planner.client" ;
19- import { getConcertStartDate , isSameDay } from "@/utils/helpers/handleDate" ;
17+ import { createNewPlan } from "@/lib/api/planner/planner.client" ;
18+ import { getConcertStartDate , isSameDay , dateToISOString } from "@/utils/helpers/handleDate" ;
2019
2120export default function PlannerCreate ( ) {
2221 const router = useRouter ( ) ;
@@ -32,10 +31,10 @@ export default function PlannerCreate() {
3231 // 선택된 콘서트 상태
3332 const [ selectedConcert , setSelectedConcert ] = useState < AutoCompleteConcerts | null > ( null ) ;
3433
35- // ✅ 선택된 콘서트의 상세 정보
34+ // 선택된 콘서트의 상세 정보
3635 const [ concertDetail , setConcertDetail ] = useState < ConcertDetail | null > ( null ) ;
3736
38- // ✅ 콘서트 상세 정보 로딩 상태
37+ // 콘서트 상세 정보 로딩 상태
3938 const [ isLoadingConcertDetail , setIsLoadingConcertDetail ] = useState ( false ) ;
4039
4140 const [ search , setSearch ] = useState < string > ( "" ) ;
@@ -142,7 +141,7 @@ export default function PlannerCreate() {
142141 } , [ plannerDialogOpen , router ] ) ;
143142
144143 // 플래너 생성 핸들러
145- const handleCreatePlanner = async ( ) => {
144+ const handleCreateNewPlan = async ( ) => {
146145 if ( ! selectedConcert ?. id ) {
147146 toast . error ( "선택된 공연이 없습니다." ) ;
148147 return ;
@@ -166,10 +165,10 @@ export default function PlannerCreate() {
166165 try {
167166 startTransition ( async ( ) => {
168167 try {
169- const data = await createPlanner ( {
168+ const data = await createNewPlan ( {
170169 concertId : selectedConcert . id . toString ( ) ,
171170 title : plannerTitle . trim ( ) ,
172- planDate : plannerDate . toISOString ( ) ,
171+ planDate : dateToISOString ( plannerDate ) ,
173172 } ) ;
174173
175174 // 성공 후 링크 이동
@@ -315,7 +314,7 @@ export default function PlannerCreate() {
315314 취소
316315 </ Button >
317316 < Button
318- onClick = { handleCreatePlanner }
317+ onClick = { handleCreateNewPlan }
319318 disabled = { ! plannerTitle . trim ( ) || ! plannerDate || isPending }
320319 >
321320 { isPending ? "생성 중..." : "만들기" }
0 commit comments