From 5438dc12a9ba89a4a684f50477aaabebbf6fe2f5 Mon Sep 17 00:00:00 2001 From: sunjung Date: Sat, 4 Apr 2026 20:00:23 +0900 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20PLI-14=20(=ED=8D=BC=EB=B8=94?= =?UTF-8?q?=EB=A6=AC=EC=8B=B1=20=ED=94=BC=EB=93=9C=EB=B0=B1=20=EB=B0=98?= =?UTF-8?q?=EC=98=81)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/icons/calendarwhite.svg | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/assets/icons/calendarwhite.svg diff --git a/src/assets/icons/calendarwhite.svg b/src/assets/icons/calendarwhite.svg new file mode 100644 index 0000000..03e83b8 --- /dev/null +++ b/src/assets/icons/calendarwhite.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + From 2eb176714e8ce22b7c54d76c06524a49d8283049 Mon Sep 17 00:00:00 2001 From: sunjung Date: Sat, 4 Apr 2026 20:04:02 +0900 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20PLI-14=20(=ED=8D=BC=EB=B8=94?= =?UTF-8?q?=EB=A6=AC=EC=8B=B1=20=ED=94=BC=EB=93=9C=EB=B0=B1=20=EB=B0=98?= =?UTF-8?q?=EC=98=81)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/icons/index.ts | 1 + src/components/ui/Chip.tsx | 4 +- src/screens/myTrip/MyTripScreen.tsx | 43 +++++++++++-------- src/screens/myTrip/components/TripCard.tsx | 36 ++++++++-------- .../myTrip/components/TripTimeline.tsx | 2 +- 5 files changed, 46 insertions(+), 40 deletions(-) diff --git a/src/assets/icons/index.ts b/src/assets/icons/index.ts index 93745e2..c770a28 100644 --- a/src/assets/icons/index.ts +++ b/src/assets/icons/index.ts @@ -53,6 +53,7 @@ export { default as KebabShareIcon } from './kebabshare.svg'; export { default as KebabTrashIcon } from './kebabtrash.svg'; export { default as KebabMapIcon } from './kebabmap.svg'; export { default as PlusGrayIcon } from './plusgray.svg'; +export { default as CalendarWhiteIcon } from './calendarwhite.svg'; export { default as SearchingIcon } from './searching.svg'; diff --git a/src/components/ui/Chip.tsx b/src/components/ui/Chip.tsx index 52610a5..a369993 100644 --- a/src/components/ui/Chip.tsx +++ b/src/components/ui/Chip.tsx @@ -26,7 +26,7 @@ export const Chip = React.memo( accessibilityRole="button" accessibilityLabel={label} accessibilityState={{ selected: isSelected }}> - {label} + {label} ); } @@ -35,7 +35,7 @@ export const Chip = React.memo( - {label} + {label} ); }, diff --git a/src/screens/myTrip/MyTripScreen.tsx b/src/screens/myTrip/MyTripScreen.tsx index b06d7b7..4b98625 100644 --- a/src/screens/myTrip/MyTripScreen.tsx +++ b/src/screens/myTrip/MyTripScreen.tsx @@ -122,7 +122,7 @@ const MyTripScreen: React.FC = () => { 내여행 - {filteredTripCardItems.length}개의 여행이 있어요 + {filteredTripCardItems.length}개의 여행이 있어요 { {/* Chip */} - + setSelectedChip('전체')} isSelected={selectedChip === '전체'} - className="mr-2" + className="mr-2 px-4 py-2" /> setSelectedChip('예정된 여행')} isSelected={selectedChip === '예정된 여행'} - className="mr-2" + className="mr-2 px-4 py-2" /> setSelectedChip('지난 여행')} isSelected={selectedChip === '지난 여행'} + className="mr-2 px-4 py-2" /> {/* TripCard */} {filteredTripCardItems.length === 0 ? ( - + ) : ( - filteredTripCardItems.map((tripCardItem) => ( - ( + - setOpenCardId((prev) => (prev === tripCardItem.id ? null : tripCardItem.id)) - } + style={{ zIndex: filteredTripCardItems.length - index }} > - - + + setOpenCardId((prev) => (prev === tripCardItem.id ? null : tripCardItem.id)) + } + > + + + )) )} diff --git a/src/screens/myTrip/components/TripCard.tsx b/src/screens/myTrip/components/TripCard.tsx index 2942d88..59a6359 100644 --- a/src/screens/myTrip/components/TripCard.tsx +++ b/src/screens/myTrip/components/TripCard.tsx @@ -4,7 +4,7 @@ import { Image, Pressable, Text, View } from 'react-native'; import { TripStatusChip } from '@/components/ui'; import { PlaceIcon, - CalendarIcon, + CalendarWhiteIcon, ChevronDownIcon, ChevronUpIcon, } from '@/assets/icons'; @@ -37,7 +37,7 @@ const TripCard = ({ {/*TripStatusChip*/} - + {/*City*/} - - {city} + + {city} {/*Date*/} - - {dateText} + + {dateText} {/*schedule*/} - - - - {scheduleText}개의 일정 - {scheduleCountText}일간 - + + + + + {scheduleText}개의 일정 + {scheduleCountText}일간 + - {/*Toggle*/} - + {/*Toggle*/} {isOpen ? '일정 접기 ' : '전체 보기 '} @@ -88,8 +88,8 @@ const TripCard = ({ )} - - + + {isOpen && {children}} @@ -97,4 +97,4 @@ const TripCard = ({ ); }; -export default TripCard; \ No newline at end of file +export default TripCard; diff --git a/src/screens/myTrip/components/TripTimeline.tsx b/src/screens/myTrip/components/TripTimeline.tsx index d893cee..e4de4cb 100644 --- a/src/screens/myTrip/components/TripTimeline.tsx +++ b/src/screens/myTrip/components/TripTimeline.tsx @@ -136,7 +136,7 @@ const TripTimeline: React.FC = ({ items }) => { - + {item.title} From e7811dce3cd98507f294b36b60bcd42967ee2640 Mon Sep 17 00:00:00 2001 From: sunjung Date: Mon, 6 Apr 2026 12:03:05 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20PLI-14=20(=EB=84=A4=EB=B9=84?= =?UTF-8?q?=EA=B2=8C=EC=9D=B4=EC=85=98=20=EC=B6=94=EA=B0=80,=20=EC=97=AC?= =?UTF-8?q?=EB=B0=B1=20=EC=A1=B0=EC=A0=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/screens/myTrip/MyTripScreen.tsx | 1 + src/screens/myTrip/components/TripCard.tsx | 34 +++++++++++-------- .../myTrip/components/TripTimeline.tsx | 8 ++--- 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/src/screens/myTrip/MyTripScreen.tsx b/src/screens/myTrip/MyTripScreen.tsx index 4b98625..3deaadf 100644 --- a/src/screens/myTrip/MyTripScreen.tsx +++ b/src/screens/myTrip/MyTripScreen.tsx @@ -176,6 +176,7 @@ const MyTripScreen: React.FC = () => { imageSource={tripCardItem.imageSource} status={tripCardItem.status} isOpen={openCardId === tripCardItem.id} + onImagePress={() => navigation.navigate('TripDetail')} onToggle={() => setOpenCardId((prev) => (prev === tripCardItem.id ? null : tripCardItem.id)) } diff --git a/src/screens/myTrip/components/TripCard.tsx b/src/screens/myTrip/components/TripCard.tsx index 59a6359..4cea55d 100644 --- a/src/screens/myTrip/components/TripCard.tsx +++ b/src/screens/myTrip/components/TripCard.tsx @@ -18,6 +18,7 @@ export interface TripCardProps { status: 'traveling' | 'scheduled' | 'completed'; isOpen: boolean; onToggle: () => void; + onImagePress?: () => void; children?: React.ReactNode; } @@ -30,6 +31,7 @@ const TripCard = ({ status, isOpen, onToggle, + onImagePress, children, }: TripCardProps) => { @@ -45,27 +47,29 @@ const TripCard = ({ }} > - - + + + - + - {/*TripStatusChip*/} - - - + {/*TripStatusChip*/} + + + - {/*City*/} - - {city} + {/*City*/} + + {city} - {/*Date*/} - - - {dateText} + {/*Date*/} + + + {dateText} + - + {/*schedule*/} diff --git a/src/screens/myTrip/components/TripTimeline.tsx b/src/screens/myTrip/components/TripTimeline.tsx index e4de4cb..5f65589 100644 --- a/src/screens/myTrip/components/TripTimeline.tsx +++ b/src/screens/myTrip/components/TripTimeline.tsx @@ -119,14 +119,14 @@ const TripTimeline: React.FC = ({ items }) => { - + {items.map((item, index) => { const isLast = index === items.length - 1; return ( - + {item.startTime} @@ -136,7 +136,7 @@ const TripTimeline: React.FC = ({ items }) => { - + {item.title} @@ -155,4 +155,4 @@ const TripTimeline: React.FC = ({ items }) => { ); }; -export default TripTimeline; \ No newline at end of file +export default TripTimeline;