Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,14 @@ export const FunnelProvider = ({ children }: { children: ReactNode }) => {
title: '',
startDate: '',
endDate: '',
startTime: '',
endTime: '',
bannerImageUrl: '',
description: '',
referenceLinks: [],
onlineType: 'ONLINE',
address: '',
location: { lat: 0.0, lng: 0.0 },
category: '',
locationLat: 0,
locationLng: 0,
category: 'DEVELOPMENT_STUDY',
hashtags: [],
organizerEmail: '',
organizerPhoneNumber: '',
Expand Down
29 changes: 14 additions & 15 deletions src/features/event-manage/event-create/ui/DatePicker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ const EventDatePicker = ({ className, eventState, setEventState, isLabel = false
eventState?.startDate ? new Date(eventState.startDate) : new Date()
);
const [endDate, setEndDate] = useState<Date | null>(eventState?.endDate ? new Date(eventState.endDate) : new Date());
const [startTime, setStartTime] = useState<string>(eventState?.startTime || '06:00');
const [endTime, setEndTime] = useState<string>(eventState?.endTime || '23:00');
const [startTime, setStartTime] = useState<string>('06:00');
const [endTime, setEndTime] = useState<string>('23:00');

const generateTimeOptions = () => {
const options = [];
Expand All @@ -31,24 +31,23 @@ const EventDatePicker = ({ className, eventState, setEventState, isLabel = false
return options;
};

const formatDate = (date: Date | null) => {
if (!date) return '';
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
return `${year}-${month}-${day}`; // yyyy-mm-dd 형태로 포맷팅
};

const timeOptions = generateTimeOptions();

useEffect(() => {
if (setEventState) {
if (setEventState && startDate && endDate) {
const [startHour, startMin] = startTime.split(':').map(Number);
const [endHour, endMin] = endTime.split(':').map(Number);

const start = new Date(startDate);
start.setHours(startHour, startMin, 0, 0);

const end = new Date(endDate);
end.setHours(endHour, endMin, 0, 0);

setEventState(prev => ({
...prev,
startDate: startDate ? formatDate(startDate) : '',
endDate: endDate ? formatDate(endDate) : '',
startTime,
endTime,
startDate: start.toISOString(),
endDate: end.toISOString(),
}));
}
}, [startDate, endDate, startTime, endTime, setEventState]);
Expand Down
3 changes: 2 additions & 1 deletion src/features/event-manage/event-create/ui/EventCategory.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { useState } from 'react';
import CategoryButton from '../../../../../public/assets/event-manage/creation/BackBtn(black).svg';
import { FunnelState } from '../model/FunnelContext';
import { CategoryType } from '../../../../shared/types/baseEventType';

interface Category {
id: string;
Expand Down Expand Up @@ -32,7 +33,7 @@ const EventCategory = ({ eventState, setEventState }: EventCategoryProps) => {
setSelectedCategory(category);
setOpen(false);
if (setEventState) {
setEventState(prev => ({ ...prev, category: category.id }));
setEventState(prev => ({ ...prev, category: category.id as CategoryType }));
}
};

Expand Down
2 changes: 1 addition & 1 deletion src/features/event-manage/event-create/ui/EventFunnel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const EventFunnel = ({ onNext, onPrev, Funnel, Step, currentStep }: EventFunnelI
if (currentStep === 7) {
createEvent(eventState, {
onSuccess: () => {
navigate('/');
navigate('/menu/myHost');
},
onError: error => {
console.error('API 호출 실패:', error);
Expand Down
2 changes: 1 addition & 1 deletion src/features/event-manage/event-create/ui/EventType.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ const EventType = ({ className }: EventTypeProps) => {
onLocationChange={handleLocationChange}
onDetailAddressChange={handleDetailAddressChange}
/>
<KakaoMap lat={eventState.location.lat} lng={eventState.location.lng} />
<KakaoMap lat={eventState.locationLat} lng={eventState.locationLng} />
</div>
)}
</div>
Expand Down
2 changes: 1 addition & 1 deletion src/pages/event-manage/ui/EventOrganizerInfoPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ const EventOrganizerInfoPage = ({ onValidationChange }: EventOrganizerInfoPagePr
/>
<UnderlineTextField
label="전화번호"
placeholder={`"-" 없이 번호만 입력해주세요`}
placeholder={`"-"를 포함하여 입력해주세요`}
type="tel"
errorMessage={errors.phone?.message}
className="w-full"
Expand Down
7 changes: 2 additions & 5 deletions src/shared/types/baseEventType.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,16 @@ export interface BaseEvent {
title: string;
startDate: string;
endDate: string;
startTime: string;
endTime: string;
bannerImageUrl: string;
description: string;
referenceLinks: {
title: string;
url: string;
address?: string;
detailAddress?: string;
}[];
onlineType: OnlineType;
address: string;
location: { lat: number; lng: number };
locationLat: number;
locationLng: number;
category: CategoryType;
hashtags: string[];
organizerEmail: string;
Expand Down