From b29876b29ccf695c196af658bf8b709e112b6f17 Mon Sep 17 00:00:00 2001 From: JaeHunKang Date: Tue, 17 Jun 2025 11:48:26 +0900 Subject: [PATCH 1/3] =?UTF-8?q?refact:=20=EC=9D=B4=EB=B2=A4=ED=8A=B8=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1=20=EC=B2=AB=20=ED=8E=98=EC=9D=B4=EC=A7=80?= =?UTF-8?q?=EC=97=90=EC=84=9C=EB=A7=8C=20=EC=A2=8C=EC=B8=A1=20=EC=83=81?= =?UTF-8?q?=EB=8B=A8=EC=97=90=20=ED=99=88=EB=B2=84=ED=8A=BC=EB=A7=8C=20?= =?UTF-8?q?=EC=9C=A0=EC=A7=80,=20=EC=B9=B4=EC=B9=B4=EC=98=A4=EB=A7=B5=20?= =?UTF-8?q?=EC=B4=88=EA=B8=B0=20=EC=A2=8C=ED=91=9C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- design-system/ui/Header.tsx | 24 +- src/features/event/model/FunnelContext.tsx | 4 +- src/features/event/ui/DatePicker.tsx | 19 +- src/features/event/ui/EventFunnel.tsx | 1 + src/features/event/ui/EventType.tsx | 2 +- src/index.css | 2 +- .../ui/backgrounds/EventRegisterLayout.tsx | 22 +- yarn.lock | 400 ++++++++++++++---- 8 files changed, 375 insertions(+), 99 deletions(-) diff --git a/design-system/ui/Header.tsx b/design-system/ui/Header.tsx index de4c608d..aa1170ff 100644 --- a/design-system/ui/Header.tsx +++ b/design-system/ui/Header.tsx @@ -10,15 +10,24 @@ interface HeaderProps { leftButtonLabel?: ReactNode; // 왼쪽 콘텐츠 (버튼) leftButtonClick?: () => void; // 왼쪽 버튼 클릭 핸들러 leftButtonClassName?: string; // 왼쪽 버튼 추가 스타일링 클래스 - rightContent?: Button; // 오른쪽 콘텐츠 (버튼) + rightContent?: Button | null; // 오른쪽 콘텐츠 (버튼) color?: 'white' | 'black'; // white 또는 black 중 선택 className?: string; // 추가 스타일링 클래스 } +// Button 타입 가드 함수 추가 +function isButtonElement(element: any): element is React.ReactElement> { + return ( + React.isValidElement(element) && + typeof element.type === 'string' && + element.type === 'button' + ); +} + const Header = ({ centerContent, leftButtonLabel, - leftButtonClick = () => {}, + leftButtonClick = () => { }, leftButtonClassName, rightContent, color = 'black', @@ -26,14 +35,17 @@ const Header = ({ }: HeaderProps) => { return (
{/* 왼쪽 콘텐츠 */}
{leftButtonLabel ? ( - + isButtonElement(leftButtonLabel) ? ( +
{leftButtonLabel}
+ ) : ( + + ) ) : null}
diff --git a/src/features/event/model/FunnelContext.tsx b/src/features/event/model/FunnelContext.tsx index e2ffaa04..66ba5c05 100644 --- a/src/features/event/model/FunnelContext.tsx +++ b/src/features/event/model/FunnelContext.tsx @@ -31,8 +31,8 @@ export const FunnelProvider = ({ children }: { children: ReactNode }) => { onlineType: 'ONLINE', address: '', detailAddress: '', - locationLat: 0, - locationLng: 0, + locationLat: 37.5665, + locationLng: 126.9780, category: 'DEVELOPMENT_STUDY', hashtags: [], organizerEmail: '', diff --git a/src/features/event/ui/DatePicker.tsx b/src/features/event/ui/DatePicker.tsx index 8ebded2c..905e1cfe 100644 --- a/src/features/event/ui/DatePicker.tsx +++ b/src/features/event/ui/DatePicker.tsx @@ -99,7 +99,7 @@ const EventDatePicker = ({
{!isLabel && 시작 날짜} -
+
e.preventDefault()} + className=" + w-20 h-9 md:w-24 md:h-10 + border border-placeholderText + text-sm md:text-md + rounded-[5px] + p-2 cursor-pointer + caret-transparent + " renderCustomHeader={({ date, decreaseMonth, @@ -132,7 +140,7 @@ const EventDatePicker = ({ id="startTime" value={startTime} onChange={e => setStartTime(e.target.value)} - className="w-20 h-9 md:w-24 md:h-10 border border-placeholderText text-sm md:text-md rounded-[5px] p-2" + className="w-20 h-9 md:w-24 md:h-10 border border-placeholderText text-sm md:text-md rounded-[5px] p-2 cursor-pointer" > {timeOptions.map(time => (