From 61cf890700fa658e845e03cc719cd85e3506af3e Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Thu, 27 Feb 2025 22:56:39 +0900 Subject: [PATCH 01/35] =?UTF-8?q?refact:=20=EC=9D=B4=EB=B2=A4=ED=8A=B8?= =?UTF-8?q?=EC=B9=B4=EB=93=9C=20=ED=83=80=EC=9E=85=20=EB=B6=84=EB=A6=AC=20?= =?UTF-8?q?=EB=B0=8F=20IconButton=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/main-buttons/LeftButton.svg | 5 + public/assets/main-buttons/RightButton.svg | 5 + src/pages/home/ui/MainPage.tsx | 149 ++++----------------- src/shared/types/eventCardType.ts | 60 +++++++++ 4 files changed, 95 insertions(+), 124 deletions(-) create mode 100644 public/assets/main-buttons/LeftButton.svg create mode 100644 public/assets/main-buttons/RightButton.svg diff --git a/public/assets/main-buttons/LeftButton.svg b/public/assets/main-buttons/LeftButton.svg new file mode 100644 index 0000000..53dda07 --- /dev/null +++ b/public/assets/main-buttons/LeftButton.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/assets/main-buttons/RightButton.svg b/public/assets/main-buttons/RightButton.svg new file mode 100644 index 0000000..f012aaa --- /dev/null +++ b/public/assets/main-buttons/RightButton.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/pages/home/ui/MainPage.tsx b/src/pages/home/ui/MainPage.tsx index 9e9fc50..e0a30e6 100644 --- a/src/pages/home/ui/MainPage.tsx +++ b/src/pages/home/ui/MainPage.tsx @@ -11,6 +11,10 @@ import VerticalCardButton from '../../../../design-system/ui/buttons/VerticalCar import EventCard from '../../../shared/ui/EventCard'; import { useState, Dispatch, SetStateAction } from 'react'; import { useNavigate } from 'react-router-dom'; +import { closingSoonEvents, latestEvents, trendingEvents } from '../../../shared/types/eventCardType'; +import IconButton from '../../../../design-system/ui/buttons/IconButton'; +import rightButton from '../../../../public/assets/main-buttons/RightButton.svg'; +import leftButton from '../../../../public/assets/main-buttons/LeftButton.svg'; const MainPage = () => { const images = [ @@ -43,97 +47,6 @@ const MainPage = () => { }, ]; - // 이벤트 리스트 분리 - const latestEvents = [ - { - img: firstPage, - eventTitle: '1인프콘 2024 - INFCON 2024', - dDay: 'D-1', - host: '인프런', - eventDate: '2025년 1월 13일', - location: '올림픽 공원', - hashtags: ['#IT', '#개발자', '#컨퍼런스', '#교육'], - }, - { - img: secondPage, - eventTitle: '2인프콘 2024 - INFCON 2024', - dDay: 'D-1', - host: '인프런', - eventDate: '2025년 1월 13일', - location: '올림픽 공원', - hashtags: ['#IT', '#개발자', '#컨퍼런스', '#교육'], - }, - { - img: thirdPage, - eventTitle: '3인프콘 2024 - INFCON 2024', - dDay: 'D-1', - host: '인프런', - eventDate: '2025년 1월 13일', - location: '올림픽 공원', - hashtags: ['#IT', '#개발자', '#컨퍼런스', '#교육'], - }, - ]; - - const trendingEvents = [ - { - img: firstPage, - eventTitle: '1해커톤 2024 - Global Hackathon', - dDay: 'D-5', - host: '해커톤 조직 위원회', - eventDate: '2025년 1월 18일', - location: '서울 코엑스', - hashtags: ['#Hackathon', '#창의력', '#개발', '#팀워크'], - }, - { - img: secondPage, - eventTitle: '2해커톤 2024 - Global Hackathon', - dDay: 'D-5', - host: '해커톤 조직 위원회', - eventDate: '2025년 1월 18일', - location: '서울 코엑스', - hashtags: ['#Hackathon', '#창의력', '#개발', '#팀워크'], - }, - { - img: thirdPage, - eventTitle: '3해커톤 2024 - Global Hackathon', - dDay: 'D-5', - host: '해커톤 조직 위원회', - eventDate: '2025년 1월 18일', - location: '서울 코엑스', - hashtags: ['#Hackathon', '#창의력', '#개발', '#팀워크'], - }, - ]; - - const closingSoonEvents = [ - { - img: firstPage, - eventTitle: '1커뮤니티 네트워킹 - Dev MeetUp 2024', - dDay: 'D-6', - host: 'Dev 커뮤니티', - eventDate: '2025년 1월 12일', - location: '판교 스타트업 캠퍼스', - hashtags: ['#네트워킹', '#개발자', '#스타트업', '#기술교류'], - }, - { - img: secondPage, - eventTitle: '2커뮤니티 네트워킹 - Dev MeetUp 2024', - dDay: 'D-6', - host: 'Dev 커뮤니티', - eventDate: '2025년 1월 12일', - location: '판교 스타트업 캠퍼스', - hashtags: ['#네트워킹', '#개발자', '#스타트업', '#기술교류'], - }, - { - img: thirdPage, - eventTitle: '3커뮤니티 네트워킹 - Dev MeetUp 2024', - dDay: 'D-6', - host: 'Dev 커뮤니티', - eventDate: '2025년 1월 12일', - location: '판교 스타트업 캠퍼스', - hashtags: ['#네트워킹', '#개발자', '#스타트업', '#기술교류'], - }, - ]; - const [latestStartIndex, setLatestStartIndex] = useState(0); const [trendingStartIndex, setTrendingStartIndex] = useState(0); const [closingStartIndex, setClosingStartIndex] = useState(0); @@ -193,7 +106,7 @@ const MainPage = () => { {/* 최신 이벤트 섹션 */} -
+

최신 이벤트

{latestEvents @@ -218,22 +131,18 @@ const MainPage = () => { ))}
{latestStartIndex !== 0 && ( - + /> )} - + />
{/* 요즘 뜨는 이벤트 섹션 */} -
+

요즘 뜨는 이벤트

{trendingEvents @@ -257,23 +166,19 @@ const MainPage = () => { ))}
{trendingStartIndex !== 0 && ( - + /> )} - + />
{/* 곧 마감되는 이벤트 섹션 */} -
+

곧 이벤트가 마감돼요! ⏰

@@ -299,19 +204,15 @@ const MainPage = () => { ))}
{closingStartIndex !== 0 && ( - + /> )} - + />
); From 4545be5baa9e0ff489fe372584798572d2b51dc3 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Thu, 27 Feb 2025 23:30:00 +0900 Subject: [PATCH 04/35] =?UTF-8?q?refact:=20=ED=95=98=EB=8B=A8=EB=B0=94=20?= =?UTF-8?q?=EB=A7=88=EC=9D=B4=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=9D=BC?= =?UTF-8?q?=EC=9A=B0=ED=8C=85=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/shared/types/bottomBarType.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/types/bottomBarType.ts b/src/shared/types/bottomBarType.ts index 3a01c46..961ed31 100644 --- a/src/shared/types/bottomBarType.ts +++ b/src/shared/types/bottomBarType.ts @@ -16,5 +16,5 @@ export const bottomBar: bottomBarData[] = [ { label: '이벤트', icon: EventIcon, iconClassName: 'w-8 h-6 md:w-10 md:h-7', path: '/event-creation' }, { label: '홈', icon: HomeIcon, iconClassName: 'w-8 h-6 md:w-10 md:h-7', path: '/' }, { label: '관심', icon: InterestIcon, iconClassName: 'w-8 h-7 md:w-10 md:h-9 mb-1', path: '/interest' }, - { label: '마이페이지', icon: MypageIcon, iconClassName: 'w-8 h-6 md:w-10 md:h-7', path: '/mypage' }, + { label: '마이페이지', icon: MypageIcon, iconClassName: 'w-8 h-6 md:w-10 md:h-7', path: '/menu/mypage' }, ]; From 99927807783788738576e85900bad1beaa1f40e9 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Thu, 27 Feb 2025 23:43:04 +0900 Subject: [PATCH 05/35] =?UTF-8?q?feat:=20=EC=B2=B4=ED=81=AC=EB=A6=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=203=EA=B0=80=EC=A7=80=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=EB=9D=BC=EC=9A=B0=ED=8C=85=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/features/dashboard/ui/Checklist.tsx | 13 +++++++++---- src/pages/dashboard/ui/DashbaordPage.tsx | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/features/dashboard/ui/Checklist.tsx b/src/features/dashboard/ui/Checklist.tsx index 0401581..bf1ba56 100644 --- a/src/features/dashboard/ui/Checklist.tsx +++ b/src/features/dashboard/ui/Checklist.tsx @@ -1,14 +1,19 @@ +import { useNavigate } from 'react-router-dom'; import check from '../../../../public/assets/dashboard/main/Check.svg'; +import { menuLists } from '../../../shared/types/dashboardType'; // import completeCheck from '../../../../public/assets/dashboard/main/Check(complete).svg'; -const checkLists = ['이벤트 기본 정보', '이벤트 상세와 사진', '티켓 생성하기']; +const checkLists = menuLists + .filter(item => ['이벤트 기본 정보', '이벤트 상세와 사진', '티켓 생성하기'].includes(item.text)) + .map(items => ({ text: items.text, path: items.path })); const CheckList = () => { + const navigate = useNavigate(); return (

체크리스트

-

이벤트를 열기 위해 꼭 필요한 정보에요.

+

이벤트를 열기 위해 꼭 필요한 정보에요.

{[...Array(3)].map((_, index) => ( @@ -17,9 +22,9 @@ const CheckList = () => {
{checkLists.map((item, index) => ( -
+
navigate(item.path)} className="flex items-center gap-3 cursor-pointer"> 체크 -
{item}
+
{item.text}
>
))} diff --git a/src/pages/dashboard/ui/DashbaordPage.tsx b/src/pages/dashboard/ui/DashbaordPage.tsx index 41457ac..ee069d2 100644 --- a/src/pages/dashboard/ui/DashbaordPage.tsx +++ b/src/pages/dashboard/ui/DashbaordPage.tsx @@ -3,7 +3,7 @@ import EventOverview from '../../../widgets/dashboard/ui/EventOverview'; import TicketRevenue from '../../../widgets/dashboard/ui/TicketRevenue'; import ticket from '../../../../public/assets/dashboard/main/Ticket(white).svg'; import cash from '../../../../public/assets/dashboard/main/Cash.svg'; -import CheckList from '../../../features/dashboard/ui/CheckList'; +import CheckList from '../../../features/dashboard/ui/Checklist'; const DashboardPage = () => { return ( From 126518ef2637e2709b5b9a205f981e125f34bb32 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Thu, 27 Feb 2025 23:53:30 +0900 Subject: [PATCH 06/35] =?UTF-8?q?design:=20=EC=9D=BC=EB=B6=80=20CSS=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- design-system/ui/textFields/DefaultTextField.tsx | 2 +- src/features/event-manage/ui/DatePicker.tsx | 8 ++++---- src/pages/dashboard/ui/EventInfoPage.tsx | 10 +++++++--- src/shared/ui/EventCard.tsx | 2 +- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/design-system/ui/textFields/DefaultTextField.tsx b/design-system/ui/textFields/DefaultTextField.tsx index 1183709..a51656d 100644 --- a/design-system/ui/textFields/DefaultTextField.tsx +++ b/design-system/ui/textFields/DefaultTextField.tsx @@ -34,7 +34,7 @@ const DefaultTextField = forwardRef( ) => { return (
- +
{leftText &&
{leftText}
} diff --git a/src/features/event-manage/ui/DatePicker.tsx b/src/features/event-manage/ui/DatePicker.tsx index 46cf54d..52b5d7f 100644 --- a/src/features/event-manage/ui/DatePicker.tsx +++ b/src/features/event-manage/ui/DatePicker.tsx @@ -55,8 +55,8 @@ const EventDatePicker = ({ className, formState, setFormState }: DatePickerProps return (
-
- 시작 날짜 +
+ 시작 날짜
-
- 종료 날짜 +
+ 종료 날짜
{

이벤트 기본 정보

- + - - + +
-

{eventTitle}

+

{eventTitle}

{dDay}
From 2b975b199b3e3ab4aa4405b57ee14178b0e55ae3 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Fri, 28 Feb 2025 00:25:47 +0900 Subject: [PATCH 07/35] =?UTF-8?q?fix:=20=EC=B9=B4=ED=85=8C=EA=B3=A0?= =?UTF-8?q?=EB=A6=AC=20=EB=93=9C=EB=A1=AD=EB=8B=A4=EC=9A=B4=20=EC=84=A0?= =?UTF-8?q?=ED=83=9D=20=ED=9B=84=20=EC=9D=B4=EB=A6=84=20=EB=B0=98=EC=98=81?= =?UTF-8?q?=20=EC=95=88=EB=90=98=EB=8A=94=20=EC=97=90=EB=9F=AC=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event-manage/ui/EventCategory.tsx | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/features/event-manage/ui/EventCategory.tsx b/src/features/event-manage/ui/EventCategory.tsx index 60b77ba..d6d92db 100644 --- a/src/features/event-manage/ui/EventCategory.tsx +++ b/src/features/event-manage/ui/EventCategory.tsx @@ -22,18 +22,22 @@ const EventCategory = ({ formState, setFormState }: EventCategoryProps) => { { id: 'CONFERENCE', name: '컨퍼런스' }, ]; - const handleDropdown = () => setOpen(!open); + const [selectedCategory, setSelectedCategory] = useState( + formState?.category + ? { id: formState.category, name: categories.find(c => c.id === formState.category)?.name || '' } + : null + ); - const handleSelect = (id: string) => { + const handleSelect = (category: Category) => { + setSelectedCategory(category); + setOpen(false); if (setFormState) { - setFormState(prev => ({ - ...prev, - category: id, - })); + setFormState(prev => ({ ...prev, category: category.id })); } - setOpen(false); }; + const handleDropdown = () => setOpen(!open); + return (

이벤트 카테고리

@@ -44,9 +48,7 @@ const EventCategory = ({ formState, setFormState }: EventCategoryProps) => { onClick={handleDropdown} className="flex justify-between p-2 text-left bg-white border border-placeholderText rounded-[2px] focus:outline-none w-full max-w-52" > - - {formState?.category ? categories.find(c => c.id === formState.category)?.name : '이벤트 카테고리 선택'} - + {selectedCategory ? selectedCategory.name : '이벤트 카테고리 선택'} 카테고리 버튼 {open && ( @@ -54,7 +56,7 @@ const EventCategory = ({ formState, setFormState }: EventCategoryProps) => { {categories.map(category => (
handleSelect(category.id)} + onClick={() => handleSelect(category)} className={`p-2 cursor-pointer hover:bg-dropdown transition-colors ${ formState?.category === category.id ? 'bg-dropdown' : '' }`} From 51ea30615b56a2e90664c594011c6c5bdf0b2d26 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Fri, 28 Feb 2025 01:08:49 +0900 Subject: [PATCH 08/35] =?UTF-8?q?refact:=20=EB=8C=80=EC=8B=9C=EB=B3=B4?= =?UTF-8?q?=EB=93=9C=20=ED=8B=B0=EC=BC=93=20=EC=83=9D=EC=84=B1=ED=95=98?= =?UTF-8?q?=EA=B8=B0=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=94=94=EC=9E=90?= =?UTF-8?q?=EC=9D=B8=20=EB=A6=AC=ED=8E=99=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dashboard/ticket/Ticket(horizon).svg | 2 +- src/features/event-manage/ui/DatePicker.tsx | 12 ++++--- .../dashboard/ui/ticket/TicketCreatePage.tsx | 25 ++++++++------- .../dashboard/ui/ticket/TicketListPage.tsx | 32 ++++++++++--------- src/widgets/dashboard/ui/TicketItem.tsx | 5 ++- 5 files changed, 42 insertions(+), 34 deletions(-) diff --git a/public/assets/dashboard/ticket/Ticket(horizon).svg b/public/assets/dashboard/ticket/Ticket(horizon).svg index bd9a611..431618b 100644 --- a/public/assets/dashboard/ticket/Ticket(horizon).svg +++ b/public/assets/dashboard/ticket/Ticket(horizon).svg @@ -1,3 +1,3 @@ - + diff --git a/src/features/event-manage/ui/DatePicker.tsx b/src/features/event-manage/ui/DatePicker.tsx index 52b5d7f..46e20ee 100644 --- a/src/features/event-manage/ui/DatePicker.tsx +++ b/src/features/event-manage/ui/DatePicker.tsx @@ -8,9 +8,10 @@ interface DatePickerProps { className?: string; formState?: FunnelState['formState']; setFormState?: React.Dispatch>; + isLabel?: boolean; } -const EventDatePicker = ({ className, formState, setFormState }: DatePickerProps) => { +const EventDatePicker = ({ className, formState, setFormState, isLabel = false }: DatePickerProps) => { const [startDate, setStartDate] = useState( formState?.startDate ? new Date(formState.startDate) : new Date() ); @@ -54,9 +55,9 @@ const EventDatePicker = ({ className, formState, setFormState }: DatePickerProps return (
-
+
- 시작 날짜 + {!isLabel && 시작 날짜}
+ + {isLabel && >} +
- 종료 날짜 + {!isLabel && 종료 날짜}
{ return ( -
+
티켓(입장권)
-

+

참가자들이 이벤트에 접속, 혹은 입장 할 수 있도록 티켓을 만들어 주세요.
적어도 1개의 티켓이 필요합니다.

{/*티켓 종류 선택란*/} -
-
+
+

티켓 종류

-

+

참가자가 선착순으로 발행된 티켓을 구매합니다.

{/*티켓 이름 입력란*/} -
+
{ />
{/*티켓 설명 입력란*/} -
+
{ className="h-12" />
+ {/*가격 계산 란*/}
- +

X

- +

=

-

예상 수익

+

예상 수익

₩ {formatNumber(sum)}

+ {/*캘린더가 들어갈 자리*/}

판매 기간

- +
+
diff --git a/src/pages/dashboard/ui/ticket/TicketListPage.tsx b/src/pages/dashboard/ui/ticket/TicketListPage.tsx index 961f9d9..9b3eb3c 100644 --- a/src/pages/dashboard/ui/ticket/TicketListPage.tsx +++ b/src/pages/dashboard/ui/ticket/TicketListPage.tsx @@ -4,6 +4,8 @@ import { TicketMockData } from '../../../../shared/types/ticketType'; import TicketItem from '../../../../widgets/dashboard/ui/TicketItem'; import { useNavigate } from 'react-router-dom'; import { DASHBOARD_ROUTES } from '../../../../app/routes/routes'; +import HorizontalCardButton from '../../../../../design-system/ui/buttons/HorizontalCardButton'; +import AddButton from '../../../../../public/assets/dashboard/create_ticket/AddButton.svg'; const TicketListPage = () => { const navigate = useNavigate(); @@ -14,36 +16,36 @@ const TicketListPage = () => { return ( -
-
티켓(입장권)
-

+

+
티켓(입장권)
+

참가자들이 이벤트에 접속, 혹은 입장 할 수 있도록 티켓을 만들어 주세요.
적어도 1개의 티켓이 필요합니다.

{/*티켓 생성 페이지 이동 버튼*/} - +
+ } + onClick={navigateToTicketCreate} + label="티켓 새로 생성하기" + className="text-xl mx-auto" + /> +
{/*티켓 목록 렌더링 구역*/} -
-
+ <> +
-

티켓

+

티켓

- {TicketMockData.length > 0 ? ( TicketMockData.map(value => ) ) : (
현재 등록된 티켓이 없습니다.
)} -
+
); diff --git a/src/widgets/dashboard/ui/TicketItem.tsx b/src/widgets/dashboard/ui/TicketItem.tsx index 25d8463..1c6a315 100644 --- a/src/widgets/dashboard/ui/TicketItem.tsx +++ b/src/widgets/dashboard/ui/TicketItem.tsx @@ -4,13 +4,12 @@ import PersonIcon from '../../../../public/assets/dashboard/ticket/PersonIcon.sv const TicketItem = ({ ticket }: { ticket: TicketType }) => { return ( -
+

{ticket.ticketType}

{ticket.ticketName}

- {/*두 아이콘의 두께 차이가 나는것 같다.*/} -
+
{ticket.availableQuantity}개 남음
From 98580223e4035e3a30ae216e115beee0c5820c2d Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Fri, 28 Feb 2025 01:19:10 +0900 Subject: [PATCH 09/35] =?UTF-8?q?design:=20=EB=8C=80=EC=8B=9C=EB=B3=B4?= =?UTF-8?q?=EB=93=9C=20=EC=9D=B4=EB=A9=94=EC=9D=BC=20=EC=98=88=EC=95=BD=20?= =?UTF-8?q?=EB=B0=9C=EC=86=A1=20CSS=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- design-system/ui/textFields/DefaultTextField.tsx | 2 +- design-system/ui/textFields/MultilineTextField.tsx | 2 +- src/features/dashboard/ui/EmailInput.tsx | 4 ++-- src/features/event-manage/ui/TimePicker.tsx | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/design-system/ui/textFields/DefaultTextField.tsx b/design-system/ui/textFields/DefaultTextField.tsx index a51656d..d6bb99d 100644 --- a/design-system/ui/textFields/DefaultTextField.tsx +++ b/design-system/ui/textFields/DefaultTextField.tsx @@ -37,7 +37,7 @@ const DefaultTextField = forwardRef(
- {leftText &&
{leftText}
} + {leftText &&
{leftText}
} { return (
- + diff --git a/src/features/dashboard/ui/EmailInput.tsx b/src/features/dashboard/ui/EmailInput.tsx index 64196ca..49e2b79 100644 --- a/src/features/dashboard/ui/EmailInput.tsx +++ b/src/features/dashboard/ui/EmailInput.tsx @@ -31,7 +31,7 @@ const EmailInput = ({ type = '이메일 예약 발송', openSelectTicket, allPar
-
+

받는 사람

{/* 이메일 입력 필드 */}
diff --git a/src/features/event-manage/ui/TimePicker.tsx b/src/features/event-manage/ui/TimePicker.tsx index 8c7e271..0e37f7a 100644 --- a/src/features/event-manage/ui/TimePicker.tsx +++ b/src/features/event-manage/ui/TimePicker.tsx @@ -11,19 +11,19 @@ const TimePicker = () => {
-
+
{/* 날짜 선택 */} setSelectedDate(date)} dateFormat="yyyy년 MM월 dd일" - className="border rounded-md px-3 py-2 w-[100px] text-center text-sm md:w-[150px] md:text-base" + className="border rounded-md py-2 w-32 md:w-40 text-center text-sm md:text-base" /> {/* 시간 선택 */} setSelectedMinute(e.target.value)} - className="border rounded-md px-3 py-2 md:w-[80px] w-[60px] md:text-base text-sm text-center" + className="border rounded-md py-2 md:w-20 w-15 md:text-base text-sm text-center" > {['00', '15', '30', '45'].map(minute => (
diff --git a/src/shared/ui/EmailInputBase.tsx b/src/shared/ui/EmailInputBase.tsx index 1a173ea..9e494ff 100644 --- a/src/shared/ui/EmailInputBase.tsx +++ b/src/shared/ui/EmailInputBase.tsx @@ -20,7 +20,7 @@ const EmailInputBase = ({ showAllEmails = false, }: EmailInputBaseProps) => { return ( -
+
{emails.length > 0 && (
{showAllEmails ? ( @@ -55,6 +55,7 @@ const EmailInputBase = ({ onChange={e => setInputValue(e.target.value)} onKeyDown={onKeyDown} placeholder={emails.length === 0 ? placeholder : ''} + readOnly={!showAllEmails} className="w-full outline-none text-xs font-light" />
From 49e10e9ed2c094fdb7ad1a1f82242f585ae6c7b0 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Fri, 28 Feb 2025 19:03:59 +0900 Subject: [PATCH 15/35] =?UTF-8?q?rename:=20=ED=8C=8C=EC=9D=BC=EB=AA=85=20?= =?UTF-8?q?=EC=95=9E=EC=97=90=20=EA=B3=B5=EB=B0=B1=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../features/dashboard/model/ParticipantStore.tsx | 0 src/features/dashboard/ui/ParicipantCard.tsx | 2 +- src/features/dashboard/ui/PariticipantsList.tsx | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename "src/features/dashboard/model/\bParticipantStore.tsx" => src/features/dashboard/model/ParticipantStore.tsx (100%) diff --git "a/src/features/dashboard/model/\bParticipantStore.tsx" b/src/features/dashboard/model/ParticipantStore.tsx similarity index 100% rename from "src/features/dashboard/model/\bParticipantStore.tsx" rename to src/features/dashboard/model/ParticipantStore.tsx diff --git a/src/features/dashboard/ui/ParicipantCard.tsx b/src/features/dashboard/ui/ParicipantCard.tsx index c1ea9cd..2313c70 100644 --- a/src/features/dashboard/ui/ParicipantCard.tsx +++ b/src/features/dashboard/ui/ParicipantCard.tsx @@ -1,6 +1,6 @@ import TertiaryButton from '../../../../design-system/ui/buttons/TertiaryButton'; import Checkbox from '../../../../design-system/ui/Checkbox'; -import { useParticipantStore } from '../model/ParticipantStore'; +import { useParticipantStore } from '../model/ParticipantStore'; import { participantsData } from '../../../shared/types/participantInfoType'; interface ParticipantCardProps { diff --git a/src/features/dashboard/ui/PariticipantsList.tsx b/src/features/dashboard/ui/PariticipantsList.tsx index 5a3d6e8..63dd8a5 100644 --- a/src/features/dashboard/ui/PariticipantsList.tsx +++ b/src/features/dashboard/ui/PariticipantsList.tsx @@ -2,7 +2,7 @@ import { useEffect } from 'react'; import Checkbox from '../../../../design-system/ui/Checkbox'; import { participantsInfo } from '../../../shared/types/participantInfoType'; import ParticipantCard from './ParicipantCard'; -import { useParticipantStore } from '../model/ParticipantStore'; +import { useParticipantStore } from '../model/ParticipantStore'; interface ParticipantsListProps { listType: 'all' | 'approved' | 'pending'; From 0a1143ec8156ac445e66f5882be6575eb9d4fd67 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Sat, 1 Mar 2025 01:25:32 +0900 Subject: [PATCH 16/35] =?UTF-8?q?feat:=20=EB=82=B4=20=ED=98=B8=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=9D=B4=EB=B2=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=B9=B4=EB=93=9C=EC=97=90=20=EB=8C=80=EC=8B=9C?= =?UTF-8?q?=EB=B3=B4=EB=93=9C=20=EB=B0=94=EB=A1=9C=EA=B0=80=EA=B8=B0=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- design-system/ui/buttons/TertiaryButton.tsx | 2 +- src/shared/ui/EventCard.tsx | 22 +++++++++++++++++++++ tailwind.config.js | 2 ++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/design-system/ui/buttons/TertiaryButton.tsx b/design-system/ui/buttons/TertiaryButton.tsx index bf3b819..a632ea6 100644 --- a/design-system/ui/buttons/TertiaryButton.tsx +++ b/design-system/ui/buttons/TertiaryButton.tsx @@ -3,7 +3,7 @@ interface TertiaryButtonProps { type: 'button' | 'submit'; color: 'pink' | 'black'; size: 'small' | 'medium' | 'large'; - onClick?: () => void; + onClick?: React.MouseEventHandler; className?: string; } diff --git a/src/shared/ui/EventCard.tsx b/src/shared/ui/EventCard.tsx index fd4f29a..a8c0a8a 100644 --- a/src/shared/ui/EventCard.tsx +++ b/src/shared/ui/EventCard.tsx @@ -1,3 +1,5 @@ +import { useLocation, useNavigate } from 'react-router-dom'; +import TertiaryButton from '../../../design-system/ui/buttons/TertiaryButton'; import Countdown from '../../../design-system/ui/texts/Countdown'; interface EventCardProps { @@ -12,6 +14,11 @@ interface EventCardProps { } const EventCard = ({ img, eventTitle, dDay, host, eventDate, location, hashtags, onClick }: EventCardProps) => { + const navigate = useNavigate(); + const { pathname } = useLocation(); + + const isHostPage = pathname.startsWith(`/menu/myHost`) || pathname.startsWith(`/menu/hostDetail`); + return (
{/* 이미지 */} @@ -35,6 +42,21 @@ const EventCard = ({ img, eventTitle, dDay, host, eventDate, location, hashtags, ))}
+ + {/* 대시보드 버튼 */} + {isHostPage && ( + { + event?.stopPropagation(); + navigate('/dashboard'); + }} + className="w-31.5 md:w-33 mt-2" + /> + )}
); diff --git a/tailwind.config.js b/tailwind.config.js index 423df5e..ebe2d2d 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -18,6 +18,8 @@ export default { 17: '4.25rem', 18: '4.5rem', 19: '4.75rem', + 31.5: '8rem', + 33: '8.25rem', 90: '22.5rem', }, height: { From 45b2235c55bd3abc289d2f6bd47316b1b3348c69 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Sat, 1 Mar 2025 22:43:02 +0900 Subject: [PATCH 17/35] =?UTF-8?q?feat:=20=EC=A0=84=EC=B2=B4=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=ED=97=A4=EB=8D=94=EC=97=90=20=EC=9E=88?= =?UTF-8?q?=EB=8A=94=20=EB=A1=9C=EA=B3=A0=20=ED=81=B4=EB=A6=AD=EC=8B=9C=20?= =?UTF-8?q?=EB=A9=94=EC=9D=B8=ED=8E=98=EC=9D=B4=EC=A7=80=EB=A1=9C=20naviga?= =?UTF-8?q?te?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/event/ui/AllEventsPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/event/ui/AllEventsPage.tsx b/src/pages/event/ui/AllEventsPage.tsx index 760cd4a..5b33331 100644 --- a/src/pages/event/ui/AllEventsPage.tsx +++ b/src/pages/event/ui/AllEventsPage.tsx @@ -22,7 +22,7 @@ const AllEventsPage = () => { /> } leftButtonClassName="sm:text-lg md:text-xl lg:text-2xl font-extrabold font-nexon" - leftButtonClick={() => {}} + leftButtonClick={() => navigater('/')} leftButtonLabel="같이가요" rightContent={ {}} />} /> From ac626499a79098fceb0465dee240711f36dee8ac Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Sat, 1 Mar 2025 22:58:23 +0900 Subject: [PATCH 18/35] =?UTF-8?q?refact:=20=EC=9D=B4=EC=9A=A9=EC=95=BD?= =?UTF-8?q?=EA=B4=80=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?UI=20=EC=88=98=EC=A0=95=EA=B3=BC=20=ED=97=A4=EB=8D=94=20?= =?UTF-8?q?=EB=92=A4=EB=A1=9C=EA=B0=80=EA=B8=B0=20=EC=B6=94=EA=B0=80,=20?= =?UTF-8?q?=EC=9D=BC=EB=B6=80=20=EB=94=94=EC=9E=90=EC=9D=B8=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 --- src/pages/join/AgreementPage.tsx | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/pages/join/AgreementPage.tsx b/src/pages/join/AgreementPage.tsx index d77bf6f..e9f6a5d 100644 --- a/src/pages/join/AgreementPage.tsx +++ b/src/pages/join/AgreementPage.tsx @@ -12,26 +12,32 @@ const AgreementPage: React.FC = () => { console.log('isAllRequiredAgreed:', isAllRequiredAgreed()); return ( -
+
navigate(-1)} color="black" /> -
-
-

서비스 이용을 위해

-

약관에 동의해 주세요.

-
+
+

+ 서비스 이용을 위해 +
+ 약관에 동의해 주세요. +

+
-
); }; From 3bc8caaa9efd929973476ee539897e7da3f92ccd Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Sat, 1 Mar 2025 23:04:13 +0900 Subject: [PATCH 19/35] =?UTF-8?q?refact:=20=ED=9A=8C=EC=9B=90=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=20=EC=9E=85=EB=A0=A5=20=ED=8E=98=EC=9D=B4=EC=A7=80=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=20UI=20=EC=88=98=EC=A0=95,=20=ED=97=A4?= =?UTF-8?q?=EB=8D=94=20=EB=92=A4=EB=A1=9C=EA=B0=80=EA=B8=B0=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80,=EC=9D=BC=EB=B6=80=20=EB=94=94=EC=9E=90=EC=9D=B8=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/join/InfoInputPage.tsx | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/pages/join/InfoInputPage.tsx b/src/pages/join/InfoInputPage.tsx index 40d173b..53da552 100644 --- a/src/pages/join/InfoInputPage.tsx +++ b/src/pages/join/InfoInputPage.tsx @@ -4,6 +4,7 @@ import Header from '../../../design-system/ui/Header'; import Button from '../../../design-system/ui/Button'; import { validations } from '../../shared/lib/validation'; import UnderlineTextField from '../../../design-system/ui/textFields/UnderlineTextField'; +import { useNavigate } from 'react-router-dom'; interface FormInputs { name: string; @@ -24,6 +25,7 @@ const InfoInputPage: React.FC = () => { } = useForm({ mode: 'onChange', }); + const navigate = useNavigate(); const nameValue = watch('name'); const phoneValue = watch('phone'); @@ -48,14 +50,12 @@ const InfoInputPage: React.FC = () => {
window.history.back()} + leftButtonLabel="<" + leftButtonClassName="text-2xl z-30 font-semibold" + leftButtonClick={() => navigate(-1)} color="black" /> -
+ {/* 이름 필드 */} { })} /> -
); }; From 535ebc0659e745229ccd406e4be5573e6af72f92 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Sat, 1 Mar 2025 23:13:37 +0900 Subject: [PATCH 20/35] =?UTF-8?q?rename:=20=EB=82=B4=20=ED=98=B8=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EA=B4=80=EB=A0=A8=20=ED=8E=98=EC=9D=B4=EC=A7=80=20?= =?UTF-8?q?myHost=20=ED=8F=B4=EB=8D=94=EB=A1=9C=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/routes/Router.tsx | 8 ++++---- src/pages/menu/ui/{ => myHost}/HostDetailPage.tsx | 6 +++--- src/pages/menu/ui/{ => myHost}/HostEditPage.tsx | 12 ++++++------ src/pages/menu/ui/{ => myHost}/HostInfoPage.tsx | 4 ++-- src/pages/menu/ui/{ => myHost}/MyHostPage.tsx | 12 ++++++------ 5 files changed, 21 insertions(+), 21 deletions(-) rename src/pages/menu/ui/{ => myHost}/HostDetailPage.tsx (84%) rename src/pages/menu/ui/{ => myHost}/HostEditPage.tsx (90%) rename src/pages/menu/ui/{ => myHost}/HostInfoPage.tsx (92%) rename src/pages/menu/ui/{ => myHost}/MyHostPage.tsx (77%) diff --git a/src/app/routes/Router.tsx b/src/app/routes/Router.tsx index 94779ff..68b9464 100644 --- a/src/app/routes/Router.tsx +++ b/src/app/routes/Router.tsx @@ -9,9 +9,9 @@ import AllEventsPage from '../../pages/event/ui/AllEventsPage'; import MyTicketPage from '../../pages/menu/ui/MyTicketPage'; import SearchPage from '../../pages/search/ui/SearchPage'; -import MyHostPage from '../../pages/menu/ui/MyHostPage'; -import HostDetailPage from '../../pages/menu/ui/HostDetailPage'; -import HostEditPage from '../../pages/menu/ui/HostEditPage'; +import MyHostPage from '../../pages/menu/ui/myHost/MyHostPage'; +import HostDetailPage from '../../pages/menu/ui/myHost/HostDetailPage'; +import HostEditPage from '../../pages/menu/ui/myHost/HostEditPage'; import MyPage from '../../pages/menu/ui/MyPage'; import MenuPage from '../../pages/menu/ui/MenuPage'; import DashboardPage from '../../pages/dashboard/ui/DashbaordPage'; @@ -20,7 +20,7 @@ import EventDetailPage from '../../pages/dashboard/ui/EventDetailPage'; import EventTagPage from '../../pages/dashboard/ui/EventTagPage'; import TicketListPage from '../../pages/dashboard/ui/ticket/TicketListPage'; import TicketCreatePage from '../../pages/dashboard/ui/ticket/TicketCreatePage'; -import HostInfoPage from '../../pages/menu/ui/HostInfoPage'; +import HostInfoPage from '../../pages/menu/ui/myHost/HostInfoPage'; import EmailPage from '../../pages/dashboard/ui/mail/EmailPage'; import EventDetailsPage from '../../pages/event/ui/EventDetailsPage'; import CardRegisterPage from '../../pages/payment/ui/CardRegisterPage'; diff --git a/src/pages/menu/ui/HostDetailPage.tsx b/src/pages/menu/ui/myHost/HostDetailPage.tsx similarity index 84% rename from src/pages/menu/ui/HostDetailPage.tsx rename to src/pages/menu/ui/myHost/HostDetailPage.tsx index 7b61296..c4cf598 100644 --- a/src/pages/menu/ui/HostDetailPage.tsx +++ b/src/pages/menu/ui/myHost/HostDetailPage.tsx @@ -1,7 +1,7 @@ import { useNavigate, useParams } from 'react-router-dom'; -import HostDetailLayout from '../../../shared/ui/backgrounds/HostDetailLayout'; -import { trendingEvents } from '../../../shared/types/eventCardType'; -import EventCard from '../../../shared/ui/EventCard'; +import HostDetailLayout from '../../../../shared/ui/backgrounds/HostDetailLayout'; +import { trendingEvents } from '../../../../shared/types/eventCardType'; +import EventCard from '../../../../shared/ui/EventCard'; const HostDetailPage = () => { const navigate = useNavigate(); diff --git a/src/pages/menu/ui/HostEditPage.tsx b/src/pages/menu/ui/myHost/HostEditPage.tsx similarity index 90% rename from src/pages/menu/ui/HostEditPage.tsx rename to src/pages/menu/ui/myHost/HostEditPage.tsx index 5083d2d..10b89f4 100644 --- a/src/pages/menu/ui/HostEditPage.tsx +++ b/src/pages/menu/ui/myHost/HostEditPage.tsx @@ -1,11 +1,11 @@ import { useState } from 'react'; -import HostDetailLayout from '../../../shared/ui/backgrounds/HostDetailLayout'; -import ProfileCircle from '../../../../design-system/ui/Profile'; -import MultilineTextField from '../../../../design-system/ui/textFields/MultilineTextField'; -import DefaultTextField from '../../../../design-system/ui/textFields/DefaultTextField'; -import TertiaryButton from '../../../../design-system/ui/buttons/TertiaryButton'; +import HostDetailLayout from '../../../../shared/ui/backgrounds/HostDetailLayout'; +import ProfileCircle from '../../../../../design-system/ui/Profile'; +import MultilineTextField from '../../../../../design-system/ui/textFields/MultilineTextField'; +import DefaultTextField from '../../../../../design-system/ui/textFields/DefaultTextField'; +import TertiaryButton from '../../../../../design-system/ui/buttons/TertiaryButton'; import { useParams } from 'react-router-dom'; -import MemberEmailInput from '../../../features/menu/ui/MemberEmailInput'; +import MemberEmailInput from '../../../../features/menu/ui/MemberEmailInput'; const HostEditPage = () => { const { id } = useParams<{ id: string }>(); diff --git a/src/pages/menu/ui/HostInfoPage.tsx b/src/pages/menu/ui/myHost/HostInfoPage.tsx similarity index 92% rename from src/pages/menu/ui/HostInfoPage.tsx rename to src/pages/menu/ui/myHost/HostInfoPage.tsx index c7662a1..0ee266e 100644 --- a/src/pages/menu/ui/HostInfoPage.tsx +++ b/src/pages/menu/ui/myHost/HostInfoPage.tsx @@ -1,5 +1,5 @@ -import HostDetailLayout from '../../../shared/ui/backgrounds/HostDetailLayout'; -import ProfileCircle from '../../../../design-system/ui/Profile'; +import HostDetailLayout from '../../../../shared/ui/backgrounds/HostDetailLayout'; +import ProfileCircle from '../../../../../design-system/ui/Profile'; import { useParams } from 'react-router-dom'; const HostInfoPage = () => { diff --git a/src/pages/menu/ui/MyHostPage.tsx b/src/pages/menu/ui/myHost/MyHostPage.tsx similarity index 77% rename from src/pages/menu/ui/MyHostPage.tsx rename to src/pages/menu/ui/myHost/MyHostPage.tsx index d94ff8c..d905c13 100644 --- a/src/pages/menu/ui/MyHostPage.tsx +++ b/src/pages/menu/ui/myHost/MyHostPage.tsx @@ -1,10 +1,10 @@ -import TicketHostLayout from '../../../shared/ui/backgrounds/TicketHostLayout'; -import HostLogo from '../../../../public/assets/menu/HostLogo.svg'; -import ProfileCircle from '../../../../design-system/ui/Profile'; -import { trendingEvents } from '../../../shared/types/eventCardType'; -import EventCard from '../../../shared/ui/EventCard'; +import TicketHostLayout from '../../../../shared/ui/backgrounds/TicketHostLayout'; +import HostLogo from '../../../../../public/assets/menu/HostLogo.svg'; +import ProfileCircle from '../../../../../design-system/ui/Profile'; +import { trendingEvents } from '../../../../shared/types/eventCardType'; +import EventCard from '../../../../shared/ui/EventCard'; import { useState } from 'react'; -import { hostInfo } from '../../../shared/types/hostInfoType'; +import { hostInfo } from '../../../../shared/types/hostInfoType'; const MyHostPage = () => { const [selectedHostId, setSelectedHostId] = useState(null); From b6b73da52e8dbe703fe6476c32f0175e9efb9c05 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Sun, 2 Mar 2025 21:20:26 +0900 Subject: [PATCH 21/35] =?UTF-8?q?fix:=20ES=20Module=ED=99=98=EA=B2=BD?= =?UTF-8?q?=EC=97=90=EC=84=9C=EB=8A=94=20require=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=ED=95=A0=20=EC=88=98=20=EC=97=86=EB=8B=A4=EB=8A=94=20=EC=97=90?= =?UTF-8?q?=EB=9F=AC=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tailwind.config.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tailwind.config.js b/tailwind.config.js index ebe2d2d..5cdf762 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,5 +1,7 @@ +import defaultTheme from 'tailwindcss/defaultTheme'; +import scrollbarHide from 'tailwind-scrollbar-hide'; + /** @type {import('tailwindcss').Config} */ -const defaultTheme = require('tailwindcss/defaultTheme'); export default { content: [ From 6d16af88e0a20bc79e321ef504d91e0c459ff951 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Sun, 2 Mar 2025 21:32:18 +0900 Subject: [PATCH 22/35] =?UTF-8?q?rename:=20main-buttons=EC=97=90=EC=84=9C?= =?UTF-8?q?=20main=EC=9C=BC=EB=A1=9C=20=ED=8C=8C=EC=9D=BC=EB=AA=85=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/{main-buttons => main}/Conference.svg | 0 public/assets/{main-buttons => main}/DevStudy.svg | 0 public/assets/{main-buttons => main}/Hackathon.svg | 0 public/assets/{main-buttons => main}/LeftButton.svg | 0 public/assets/{main-buttons => main}/Networking.svg | 0 public/assets/{main-buttons => main}/RightButton.svg | 0 src/pages/home/ui/MainPage.tsx | 12 ++++++------ 7 files changed, 6 insertions(+), 6 deletions(-) rename public/assets/{main-buttons => main}/Conference.svg (100%) rename public/assets/{main-buttons => main}/DevStudy.svg (100%) rename public/assets/{main-buttons => main}/Hackathon.svg (100%) rename public/assets/{main-buttons => main}/LeftButton.svg (100%) rename public/assets/{main-buttons => main}/Networking.svg (100%) rename public/assets/{main-buttons => main}/RightButton.svg (100%) diff --git a/public/assets/main-buttons/Conference.svg b/public/assets/main/Conference.svg similarity index 100% rename from public/assets/main-buttons/Conference.svg rename to public/assets/main/Conference.svg diff --git a/public/assets/main-buttons/DevStudy.svg b/public/assets/main/DevStudy.svg similarity index 100% rename from public/assets/main-buttons/DevStudy.svg rename to public/assets/main/DevStudy.svg diff --git a/public/assets/main-buttons/Hackathon.svg b/public/assets/main/Hackathon.svg similarity index 100% rename from public/assets/main-buttons/Hackathon.svg rename to public/assets/main/Hackathon.svg diff --git a/public/assets/main-buttons/LeftButton.svg b/public/assets/main/LeftButton.svg similarity index 100% rename from public/assets/main-buttons/LeftButton.svg rename to public/assets/main/LeftButton.svg diff --git a/public/assets/main-buttons/Networking.svg b/public/assets/main/Networking.svg similarity index 100% rename from public/assets/main-buttons/Networking.svg rename to public/assets/main/Networking.svg diff --git a/public/assets/main-buttons/RightButton.svg b/public/assets/main/RightButton.svg similarity index 100% rename from public/assets/main-buttons/RightButton.svg rename to public/assets/main/RightButton.svg diff --git a/src/pages/home/ui/MainPage.tsx b/src/pages/home/ui/MainPage.tsx index e0a30e6..1086a7e 100644 --- a/src/pages/home/ui/MainPage.tsx +++ b/src/pages/home/ui/MainPage.tsx @@ -13,8 +13,8 @@ import { useState, Dispatch, SetStateAction } from 'react'; import { useNavigate } from 'react-router-dom'; import { closingSoonEvents, latestEvents, trendingEvents } from '../../../shared/types/eventCardType'; import IconButton from '../../../../design-system/ui/buttons/IconButton'; -import rightButton from '../../../../public/assets/main-buttons/RightButton.svg'; -import leftButton from '../../../../public/assets/main-buttons/LeftButton.svg'; +import rightButton from '../../../../public/assets/main/RightButton.svg'; +import leftButton from '../../../../public/assets/main/LeftButton.svg'; const MainPage = () => { const images = [ @@ -26,22 +26,22 @@ const MainPage = () => { // 버튼 데이터 const cardButtons = [ { - iconPath: '/assets/main-buttons/DevStudy.svg', + iconPath: '/assets/main/DevStudy.svg', label: '개발/스터디', onClick: () => console.log('DevStudy clicked'), }, { - iconPath: '/assets/main-buttons/Networking.svg', + iconPath: '/assets/main/Networking.svg', label: '네트워킹', onClick: () => console.log('Networking clicked'), }, { - iconPath: '/assets/main-buttons/Hackathon.svg', + iconPath: '/assets/main/Hackathon.svg', label: '해커톤', onClick: () => console.log('Hackathon clicked'), }, { - iconPath: '/assets/main-buttons/Conference.svg', + iconPath: '/assets/main/Conference.svg', label: '컨퍼런스', onClick: () => console.log('Conference clicked'), }, From 6fd669ad56d6cd22043ecb6930b85a0dea1b3b60 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Sun, 2 Mar 2025 22:55:24 +0900 Subject: [PATCH 23/35] =?UTF-8?q?feat:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=EB=AA=A8=EB=8B=AC=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/buttons/HorizontalCardButton.tsx | 4 +- package.json | 1 + public/assets/main/Google.svg | 6 +++ public/assets/main/Kakao.svg | 7 +++ src/pages/home/ui/MainPage.tsx | 8 ++- src/widgets/main/ui/LoginModal.tsx | 49 +++++++++++++++++++ tailwind.config.js | 1 + yarn.lock | 23 ++++++++- 8 files changed, 94 insertions(+), 5 deletions(-) create mode 100644 public/assets/main/Google.svg create mode 100644 public/assets/main/Kakao.svg create mode 100644 src/widgets/main/ui/LoginModal.tsx diff --git a/design-system/ui/buttons/HorizontalCardButton.tsx b/design-system/ui/buttons/HorizontalCardButton.tsx index ffe8dd4..c834494 100644 --- a/design-system/ui/buttons/HorizontalCardButton.tsx +++ b/design-system/ui/buttons/HorizontalCardButton.tsx @@ -1,5 +1,5 @@ import React, { useState } from 'react'; -import { flexRowStart } from '../../styles/flex'; +import { flexCenter } from '../../styles/flex'; interface CardButtonProps { iconPath: React.ReactElement; @@ -20,7 +20,7 @@ export default function HorizontalCardButton({ return (
-
+ ); }; diff --git a/src/shared/ui/backgrounds/PaymentLayout.tsx b/src/shared/ui/backgrounds/PaymentLayout.tsx index 4e0ece9..5b869f7 100644 --- a/src/shared/ui/backgrounds/PaymentLayout.tsx +++ b/src/shared/ui/backgrounds/PaymentLayout.tsx @@ -1,10 +1,48 @@ -const PaymentLayout = () => { - return ( -
- {/* 헤더 영역 */} +import { useNavigate } from 'react-router-dom'; +import Header from '../../../../design-system/ui/Header'; +import ticket from '../../../../public/assets/dashboard/ticket/Ticket(horizon).svg'; + +interface PaymentLayoutProps { + children: React.ReactNode; + centerContent: string; +} +const PaymentLayout = ({ children, centerContent }: PaymentLayoutProps) => { + const navigate = useNavigate(); + return ( +
{/* 레이아웃 내용 */} -
+
+ {/* 헤더 영역 */} +
navigate(-1)} + centerContent={centerContent} + color="white" + /> + {/*티켓 정보*/} +
+
+
+

티켓 정보

+

티켓 수량을 선택하고 결제 수단을 선택하세요

+
+
+
+ ticket logo +
+

콘서트 티켓

+

50,000원 / 장

+
+
+

2매

+
+
+
+ + {children} +
); }; From 09992cbda7b725d31f2b31ef2c044e77535be06e Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Mon, 3 Mar 2025 22:17:41 +0900 Subject: [PATCH 26/35] =?UTF-8?q?refact:=20=EB=B2=84=ED=8A=BC=EB=8F=84=20P?= =?UTF-8?q?aymentLayout=EC=97=90=20=EC=9D=B4=EB=8F=99,=20=EC=9D=BC?= =?UTF-8?q?=EB=B6=80=20CSS=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/payment/ui/PaymentPage.tsx | 14 +++----------- src/shared/ui/backgrounds/PaymentLayout.tsx | 15 ++++++++++----- src/widgets/payment/ui/PaymentCard.tsx | 6 +++--- 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/pages/payment/ui/PaymentPage.tsx b/src/pages/payment/ui/PaymentPage.tsx index f245b74..06744da 100644 --- a/src/pages/payment/ui/PaymentPage.tsx +++ b/src/pages/payment/ui/PaymentPage.tsx @@ -1,19 +1,15 @@ import Header from '../../../../design-system/ui/Header'; import ticket from '../../../../public/assets/dashboard/ticket/Ticket(horizon).svg'; import PaymentCard from '../../../widgets/payment/ui/PaymentCard'; -import Button from '../../../../design-system/ui/Button'; import PaymentLayout from '../../../shared/ui/backgrounds/PaymentLayout'; const PaymentPage = () => { return ( - {/*결제 카드 선택 */} -
- -
-
+ +
-
+

결제 금액

총 결제 금액

@@ -21,10 +17,6 @@ const PaymentPage = () => {
-
-
-
); }; diff --git a/src/shared/ui/backgrounds/PaymentLayout.tsx b/src/shared/ui/backgrounds/PaymentLayout.tsx index 5b869f7..3cd3ff5 100644 --- a/src/shared/ui/backgrounds/PaymentLayout.tsx +++ b/src/shared/ui/backgrounds/PaymentLayout.tsx @@ -1,6 +1,7 @@ import { useNavigate } from 'react-router-dom'; import Header from '../../../../design-system/ui/Header'; import ticket from '../../../../public/assets/dashboard/ticket/Ticket(horizon).svg'; +import Button from '../../../../design-system/ui/Button'; interface PaymentLayoutProps { children: React.ReactNode; @@ -11,8 +12,7 @@ const PaymentLayout = ({ children, centerContent }: PaymentLayoutProps) => { const navigate = useNavigate(); return (
- {/* 레이아웃 내용 */} -
+
{/* 헤더 영역 */}
{

티켓 수량을 선택하고 결제 수단을 선택하세요

-
- ticket logo +
+ ticket logo

콘서트 티켓

50,000원 / 장

@@ -40,8 +40,13 @@ const PaymentLayout = ({ children, centerContent }: PaymentLayoutProps) => {
- +
+
{children} +
+
+
); diff --git a/src/widgets/payment/ui/PaymentCard.tsx b/src/widgets/payment/ui/PaymentCard.tsx index 4d97882..11217b3 100644 --- a/src/widgets/payment/ui/PaymentCard.tsx +++ b/src/widgets/payment/ui/PaymentCard.tsx @@ -13,7 +13,7 @@ const PaymentCard = ({ title }: { title: string }) => { ]; return ( -
+

{title}

@@ -29,14 +29,14 @@ const PaymentCard = ({ title }: { title: string }) => { ))} {/* 카드 추가 버튼 */}
- 카드 등록 버튼 + 카드 등록 버튼
} label="카드 등록" From 557dc4179fd8c22dfa3b15361a9d25de6d750a68 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Mon, 3 Mar 2025 22:45:22 +0900 Subject: [PATCH 27/35] =?UTF-8?q?refact:=20children=20=EC=B5=9C=EC=86=8C?= =?UTF-8?q?=20=EB=86=92=EC=9D=B4=20=EC=A7=80=EC=A0=95=ED=95=98=EC=97=AC=20?= =?UTF-8?q?=EC=A0=80=EC=9E=A5=ED=95=98=EA=B8=B0=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?=EB=A7=A8=20=EB=B0=91=EC=9C=BC=EB=A1=9C=20=EA=B0=80=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/payment/ui/CardRegisterPage.tsx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/pages/payment/ui/CardRegisterPage.tsx b/src/pages/payment/ui/CardRegisterPage.tsx index 6382abf..a578c4b 100644 --- a/src/pages/payment/ui/CardRegisterPage.tsx +++ b/src/pages/payment/ui/CardRegisterPage.tsx @@ -53,7 +53,7 @@ const CardRegisterPage = () => { return ( -
+

안전한 결제를 위해 카드 정보를 입력해주세요.

@@ -83,11 +83,11 @@ const CardRegisterPage = () => { {errors.cardHolder &&

{errors.cardHolder.message}

}
-
+
{
{
{ {errors.cvc &&

{errors.cvc.message}

}
-
-
+
+
From d28613f60ddbf469b46b198305a9feeb0dc25a13 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Mon, 3 Mar 2025 22:56:46 +0900 Subject: [PATCH 28/35] =?UTF-8?q?refact:=20navigate=20=EC=A7=81=EC=A0=91?= =?UTF-8?q?=20=EC=84=A0=EC=96=B8=EC=9C=BC=EB=A1=9C=20=EB=A6=AC=ED=8C=A9?= =?UTF-8?q?=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/dashboard/ui/EventDetailPage.tsx | 9 +++++---- src/pages/dashboard/ui/EventInfoPage.tsx | 10 +++++----- src/pages/dashboard/ui/EventTagPage.tsx | 10 +++++----- src/pages/event/ui/EventDetailsPage.tsx | 5 +---- src/pages/join/AgreementPage.tsx | 2 -- src/pages/join/InfoInputPage.tsx | 3 +-- src/pages/menu/ui/MyTicketPage.tsx | 11 ++--------- src/pages/menu/ui/myHost/HostDetailPage.tsx | 5 +---- src/pages/search/ui/SearchPage.tsx | 6 +----- 9 files changed, 21 insertions(+), 40 deletions(-) diff --git a/src/pages/dashboard/ui/EventDetailPage.tsx b/src/pages/dashboard/ui/EventDetailPage.tsx index bd7d16a..b9df890 100644 --- a/src/pages/dashboard/ui/EventDetailPage.tsx +++ b/src/pages/dashboard/ui/EventDetailPage.tsx @@ -8,9 +8,6 @@ import DashboardLayout from '../../../shared/ui/backgrounds/DashboardLayout'; const EventDetailPage = () => { const navigate = useNavigate(); - const handleNextClick = () => { - navigate('/dashbord/eventDetail'); - }; return (
@@ -20,7 +17,11 @@ const EventDetailPage = () => {
-
); diff --git a/src/pages/dashboard/ui/EventInfoPage.tsx b/src/pages/dashboard/ui/EventInfoPage.tsx index 4b8d114..3440410 100644 --- a/src/pages/dashboard/ui/EventInfoPage.tsx +++ b/src/pages/dashboard/ui/EventInfoPage.tsx @@ -15,10 +15,6 @@ const EventInfoPage = () => { setSelectedOption(option); }; - const handleNextClick = () => { - navigate('/dashbord/eventDetail'); - }; - return (
@@ -47,7 +43,11 @@ const EventInfoPage = () => { )}
-
); diff --git a/src/pages/dashboard/ui/EventTagPage.tsx b/src/pages/dashboard/ui/EventTagPage.tsx index f5a8a21..e414894 100644 --- a/src/pages/dashboard/ui/EventTagPage.tsx +++ b/src/pages/dashboard/ui/EventTagPage.tsx @@ -7,10 +7,6 @@ import EventTag from '../../../features/event-manage/ui/EventTag'; const EventTagPage = () => { const navigate = useNavigate(); - const handleNextClick = () => { - navigate('/dashbord/eventDetail'); - }; - return (
@@ -19,7 +15,11 @@ const EventTagPage = () => {
-
); diff --git a/src/pages/event/ui/EventDetailsPage.tsx b/src/pages/event/ui/EventDetailsPage.tsx index fe88f1b..2011ccf 100644 --- a/src/pages/event/ui/EventDetailsPage.tsx +++ b/src/pages/event/ui/EventDetailsPage.tsx @@ -19,9 +19,6 @@ const EventDetailsPage = () => { const [isModalOpen, setIsModalOpen] = useState(false); const [clickedLike, setClickedLike] = useState(false); - const handlePreviousButton = () => { - navigate(-1); - }; const handleShareClick = (title: string) => { setTitle(title); setIsModalOpen(true); @@ -45,7 +42,7 @@ const EventDetailsPage = () => { <>
navigate(-1)} leftButtonLabel="<" centerContent="같이가요" rightContent={검색} diff --git a/src/pages/join/AgreementPage.tsx b/src/pages/join/AgreementPage.tsx index e9f6a5d..ff6a31a 100644 --- a/src/pages/join/AgreementPage.tsx +++ b/src/pages/join/AgreementPage.tsx @@ -9,8 +9,6 @@ const AgreementPage: React.FC = () => { const { isAllRequiredAgreed } = useAgreementStore(); const navigate = useNavigate(); - console.log('isAllRequiredAgreed:', isAllRequiredAgreed()); - return (
{ +const InfoInputPage = () => { const { register, handleSubmit, diff --git a/src/pages/menu/ui/MyTicketPage.tsx b/src/pages/menu/ui/MyTicketPage.tsx index 7311a68..12fb058 100644 --- a/src/pages/menu/ui/MyTicketPage.tsx +++ b/src/pages/menu/ui/MyTicketPage.tsx @@ -10,13 +10,6 @@ import EventCard from '../../../shared/ui/EventCard'; const MyTicketPage = () => { const [isModalOpen, setIsModalOpen] = useState(false); - const handleEventCardClick = () => { - setIsModalOpen(true); - }; - const handleCloseModal = () => { - setIsModalOpen(false); - }; - return ( {/* 이벤트 카드 목록 */} @@ -31,7 +24,7 @@ const MyTicketPage = () => { eventDate={event.eventDate} location={event.location} hashtags={event.hashtags} - onClick={handleEventCardClick} + onClick={() => setIsModalOpen(true)} /> ))}
@@ -52,7 +45,7 @@ const MyTicketPage = () => { isApproved={true} isCheckIn={false} isCountdownChecked={true} - onClick={handleCloseModal} + onClick={() => setIsModalOpen(false)} />
diff --git a/src/pages/menu/ui/myHost/HostDetailPage.tsx b/src/pages/menu/ui/myHost/HostDetailPage.tsx index c4cf598..e1461ff 100644 --- a/src/pages/menu/ui/myHost/HostDetailPage.tsx +++ b/src/pages/menu/ui/myHost/HostDetailPage.tsx @@ -11,13 +11,10 @@ const HostDetailPage = () => { // hostId에 해당하는 이벤트들만 필터링 const filteredEvents = trendingEvents.filter(event => event.id === Number(id)); - const handleClick = () => { - navigate(`/menu/hostEdit/${id}`); - }; return ( + } diff --git a/src/pages/search/ui/SearchPage.tsx b/src/pages/search/ui/SearchPage.tsx index 70a25c5..f2ba22f 100644 --- a/src/pages/search/ui/SearchPage.tsx +++ b/src/pages/search/ui/SearchPage.tsx @@ -45,10 +45,6 @@ const SearchPage = () => { const navigate = useNavigate(); const inputRef = useRef(null); // Input 요소를 참조하기 위한 훅 - const handlePreviousButton = () => { - navigate('/'); //Q.바로 이전 페이지로 돌아가는게 자연스럽지 않을까요? - }; - const changeInputKeyword = (e: React.ChangeEvent) => { setKeyword(e.target.value); }; @@ -73,7 +69,7 @@ const SearchPage = () => { /> } leftButtonClassName="text-xl hover:no-underline" - leftButtonClick={handlePreviousButton} + leftButtonClick={() => navigate(-1)} leftButtonLabel="<" /> {keyword ? ( From 9737650db43fc3b7985ce1d719a1af913cecb63d Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Mon, 3 Mar 2025 23:01:18 +0900 Subject: [PATCH 29/35] =?UTF-8?q?refact:=20userData=EB=A5=BC=20hostInfo?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/menu/ui/myHost/HostEditPage.tsx | 18 ++++-------------- src/pages/menu/ui/myHost/HostInfoPage.tsx | 17 ++++------------- src/shared/types/hostInfoType.ts | 7 +++++++ 3 files changed, 15 insertions(+), 27 deletions(-) diff --git a/src/pages/menu/ui/myHost/HostEditPage.tsx b/src/pages/menu/ui/myHost/HostEditPage.tsx index 10b89f4..a08f75d 100644 --- a/src/pages/menu/ui/myHost/HostEditPage.tsx +++ b/src/pages/menu/ui/myHost/HostEditPage.tsx @@ -6,6 +6,7 @@ import DefaultTextField from '../../../../../design-system/ui/textFields/Default import TertiaryButton from '../../../../../design-system/ui/buttons/TertiaryButton'; import { useParams } from 'react-router-dom'; import MemberEmailInput from '../../../../features/menu/ui/MemberEmailInput'; +import { hostInfo } from '../../../../shared/types/hostInfoType'; const HostEditPage = () => { const { id } = useParams<{ id: string }>(); @@ -14,18 +15,7 @@ const HostEditPage = () => { const [tags, setTags] = useState([]); const [inputValue, setInputValue] = useState(''); - const userData = [ - { id: 1, name: '유진', fullName: '백유진' }, - { id: 1, name: '예진', fullName: '고예진' }, - { id: 2, name: '유진', fullName: '백유진' }, - { id: 2, name: '예진', fullName: '고예진' }, - { id: 1, name: '히은', fullName: '조히은' }, - { id: 3, name: '유진', fullName: '백유진' }, - { id: 3, name: '정준', fullName: '민정준' }, - { id: 1, name: '히은', fullName: '조히은' }, - ]; - - const user = userData.filter(user => user.id === Number(id)); + const user = hostInfo.filter(user => user.id === Number(id)); const handeHostInfoClick = () => { setSelectedHost(true); @@ -81,10 +71,10 @@ const HostEditPage = () => { key={user.id} id={user.id} profile="userProfile" - name={user.name} + name={user.nickname} className="w-12 h-12 md:w-13 md:h-13 lg:w-14 lg:h-14 text-sm md:text-16 lg:text-base" > - {user.fullName} + {user.name} ))}
diff --git a/src/pages/menu/ui/myHost/HostInfoPage.tsx b/src/pages/menu/ui/myHost/HostInfoPage.tsx index 0ee266e..f9b8e83 100644 --- a/src/pages/menu/ui/myHost/HostInfoPage.tsx +++ b/src/pages/menu/ui/myHost/HostInfoPage.tsx @@ -1,21 +1,12 @@ import HostDetailLayout from '../../../../shared/ui/backgrounds/HostDetailLayout'; import ProfileCircle from '../../../../../design-system/ui/Profile'; import { useParams } from 'react-router-dom'; +import { hostInfo } from '../../../../shared/types/hostInfoType'; const HostInfoPage = () => { const { id } = useParams<{ id: string }>(); - const userData = [ - { id: 1, name: '유진', fullName: '백유진' }, - { id: 1, name: '예진', fullName: '고예진' }, - { id: 2, name: '유진', fullName: '백유진' }, - { id: 2, name: '예진', fullName: '고예진' }, - { id: 1, name: '히은', fullName: '조히은' }, - { id: 3, name: '유진', fullName: '백유진' }, - { id: 3, name: '정준', fullName: '민정준' }, - { id: 1, name: '히은', fullName: '조히은' }, - ]; - const user = userData.filter(user => user.id === Number(id)); + const user = hostInfo.filter(user => user.id === Number(id)); return ( @@ -33,10 +24,10 @@ const HostInfoPage = () => { key={user.id} id={user.id} profile="userProfile" - name={user.name} + name={user.nickname} className="w-12 h-12 md:w-13 md:h-13 lg:w-14 lg:h-14 text-sm md:text-16 lg:text-base" > - {user.fullName} + {user.name} ))}
diff --git a/src/shared/types/hostInfoType.ts b/src/shared/types/hostInfoType.ts index 3731c38..b526b74 100644 --- a/src/shared/types/hostInfoType.ts +++ b/src/shared/types/hostInfoType.ts @@ -3,6 +3,7 @@ import email from '../../../public/assets/event-manage/details/Email.svg'; export interface hostInfoData { id: number; + nickname?: string; name: string; description: string; phoneImg: string; @@ -14,6 +15,7 @@ export interface hostInfoData { export const hostInfo: hostInfoData[] = [ { id: 1, + nickname: '예진', name: '고예진', description: '먹는거에 진심인 사람들이 모여 숨겨진 맛집을 찾아다니는 모임입니다.', phoneImg: phone, @@ -23,6 +25,7 @@ export const hostInfo: hostInfoData[] = [ }, { id: 2, + nickname: '유진', name: '백유진', description: '여행을 좋아하는 사람들이 모여 새로운 모험을 떠나는 그룹입니다.', phoneImg: phone, @@ -32,6 +35,7 @@ export const hostInfo: hostInfoData[] = [ }, { id: 3, + nickname: '히은', name: '조히은', description: '책을 좋아하는 사람들이 함께 모여 독서를 즐기는 커뮤니티입니다.', phoneImg: phone, @@ -41,6 +45,7 @@ export const hostInfo: hostInfoData[] = [ }, { id: 4, + nickname: '정준', name: '민정준', description: '먹는거에 진심인 사람들이 모여 숨겨진 맛집을 찾아다니는 모임입니다.', phoneImg: phone, @@ -50,6 +55,7 @@ export const hostInfo: hostInfoData[] = [ }, { id: 5, + nickname: '유진', name: '백유진', description: '여행을 좋아하는 사람들이 모여 새로운 모험을 떠나는 그룹입니다.', phoneImg: phone, @@ -59,6 +65,7 @@ export const hostInfo: hostInfoData[] = [ }, { id: 6, + nickname: '히은', name: '조히은', description: '책을 좋아하는 사람들이 함께 모여 독서를 즐기는 커뮤니티입니다.', phoneImg: phone, From 4d0e5a380496aa5c0fad1eed5ce4ef3c6a9a4044 Mon Sep 17 00:00:00 2001 From: Yejiin21 <101397075+Yejiin21@users.noreply.github.com> Date: Mon, 3 Mar 2025 23:04:23 +0900 Subject: [PATCH 30/35] =?UTF-8?q?feat:=20mainCardButtonType=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/textFields/SearchTextField.tsx | 2 +- src/pages/home/ui/MainPage.tsx | 40 ++----------------- src/shared/types/mainCardButtonType.ts | 22 ++++++++++ 3 files changed, 27 insertions(+), 37 deletions(-) create mode 100644 src/shared/types/mainCardButtonType.ts diff --git a/design-system/ui/textFields/SearchTextField.tsx b/design-system/ui/textFields/SearchTextField.tsx index 82f7682..091619f 100644 --- a/design-system/ui/textFields/SearchTextField.tsx +++ b/design-system/ui/textFields/SearchTextField.tsx @@ -20,7 +20,7 @@ const SearchTextField = forwardRef( onChange={onChange} placeholder={placeholder} {...rest} - className="w-full sm:h-6 md:h-7 border-[0.3px] border-black rounded-[3px] px-2 outline-none placeholder:text-placeholderText text-xs font-light" + className="w-full h-7 md:h-8 border-[0.3px] border-black rounded-[3px] px-2 outline-none placeholder:text-placeholderText text-xs font-light" />
{iconPath}
diff --git a/src/pages/home/ui/MainPage.tsx b/src/pages/home/ui/MainPage.tsx index c05789d..a6405ce 100644 --- a/src/pages/home/ui/MainPage.tsx +++ b/src/pages/home/ui/MainPage.tsx @@ -17,6 +17,7 @@ import rightButton from '../../../../public/assets/main/RightButton.svg'; import leftButton from '../../../../public/assets/main/LeftButton.svg'; import { AnimatePresence } from 'framer-motion'; import LoginModal from '../../../widgets/main/ui/LoginModal'; +import { cardButtons } from '../../../shared/types/mainCardButtonType'; const MainPage = () => { const images = [ @@ -25,29 +26,6 @@ const MainPage = () => { { img: thirdPage, link: 'https://example.com/page3' }, ]; - // 버튼 데이터 - const cardButtons = [ - { - iconPath: '/assets/main/DevStudy.svg', - label: '개발/스터디', - onClick: () => console.log('DevStudy clicked'), - }, - { - iconPath: '/assets/main/Networking.svg', - label: '네트워킹', - onClick: () => console.log('Networking clicked'), - }, - { - iconPath: '/assets/main/Hackathon.svg', - label: '해커톤', - onClick: () => console.log('Hackathon clicked'), - }, - { - iconPath: '/assets/main/Conference.svg', - label: '컨퍼런스', - onClick: () => console.log('Conference clicked'), - }, - ]; const [modalOpen, setModalOpen] = useState(false); const [latestStartIndex, setLatestStartIndex] = useState(0); const [trendingStartIndex, setTrendingStartIndex] = useState(0); @@ -64,16 +42,6 @@ const MainPage = () => { const handlePrev = (setStartIndex: SetStartIndex, currentIndex: number, eventsLength: number): void => { setStartIndex((currentIndex - 1 + eventsLength) % eventsLength); }; - const handleEventCardClick = () => { - navigate('/event-details'); - }; - const handleAllEventsButtonClick = () => { - navigate('/all-events'); - }; - - const handleSearchButtonClick = () => { - navigate('/search'); - }; return (
@@ -81,7 +49,7 @@ const MainPage = () => { centerContent={ } - onClick={handleSearchButtonClick} + onClick={() => navigate('/search')} onChange={() => {}} placeholder="입력해주세요" /> @@ -130,7 +98,7 @@ const MainPage = () => { eventDate={event.eventDate} location={event.location} hashtags={event.hashtags} - onClick={handleEventCardClick} + onClick={() => navigate('/event-details')} /> ))}
@@ -219,7 +187,7 @@ const MainPage = () => { />