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 @@ + + + + + + + + + + + + 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..3deaadf 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 }} > - - + 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 2942d88..4cea55d 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'; @@ -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) => { @@ -37,7 +39,7 @@ const TripCard = ({ - - + + + - + - {/*TripStatusChip*/} - - - + {/*TripStatusChip*/} + + + - {/*City*/} - - {city} + {/*City*/} + + {city} - {/*Date*/} - - - {dateText} + {/*Date*/} + + + {dateText} + - + {/*schedule*/} - - - - {scheduleText}개의 일정 - {scheduleCountText}일간 - + + + + + {scheduleText}개의 일정 + {scheduleCountText}일간 + - {/*Toggle*/} - + {/*Toggle*/} {isOpen ? '일정 접기 ' : '전체 보기 '} @@ -88,8 +92,8 @@ const TripCard = ({ )} - - + + {isOpen && {children}} @@ -97,4 +101,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..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;