@@ -9,6 +9,7 @@ import { useActivityOptions } from '@/hooks/useActivityOptions';
99import EmptyDashboard from './components/EmptyDashboard' ;
1010import ReservationDashboardCalendar from './components/ReservationDashboardCalendar' ;
1111import ReservationInfoModal from './components/ReservationInfoModal' ;
12+ import CalendarSkeleton from './components/CalendarSkeleton' ;
1213
1314export default function MyDashboardPage ( ) {
1415 const [ selectedActivityId , setSelectedActivityId ] = useState < number | null > (
@@ -19,7 +20,11 @@ export default function MyDashboardPage() {
1920
2021 // 내 체험 리스트 조회
2122 const { data : activitiesData , isLoading, error } = useMyActivities ( ) ;
22- const { activityOptions, uniqueTitles } = useActivityOptions ( activitiesData ) ;
23+ const { activityOptions, uniqueTitles, handleActivityChange } =
24+ useActivityOptions ( activitiesData , ( activityId ) => {
25+ setSelectedActivityId ( activityId ) ;
26+ setSelectedDate ( '' ) ;
27+ } ) ;
2328
2429 // 페이지 로드 시 첫 번째 체험 자동 선택
2530 useEffect ( ( ) => {
@@ -33,18 +38,6 @@ export default function MyDashboardPage() {
3338 }
3439 } , [ activitiesData , selectedActivityId ] ) ;
3540
36- // 체험 선택 -> 제목으로 ID 찾기
37- const handleActivityChange = ( selectedTitle : string ) => {
38- const selectedOption = activityOptions . find (
39- ( option ) => option . label === selectedTitle ,
40- ) ;
41-
42- if ( selectedOption ) {
43- setSelectedActivityId ( parseInt ( selectedOption . value ) ) ;
44- setSelectedDate ( '' ) ;
45- }
46- } ;
47-
4841 // 현재 선택된 체험의 제목 찾기
4942 const selectedActivityTitle =
5043 activityOptions . find (
@@ -76,7 +69,7 @@ export default function MyDashboardPage() {
7669 < div className = 'mb-48 h-56 w-full max-w-792 animate-pulse rounded-md bg-gray-200' />
7770
7871 { /* 달력 스켈레톤 */ }
79- < div className = 'rounded-24 h-600 w-full animate-pulse bg-gray-200' />
72+ < CalendarSkeleton calendarWeeksLength = { 6 } />
8073 </ div >
8174 ) ;
8275 }
@@ -129,7 +122,8 @@ export default function MyDashboardPage() {
129122 value = { selectedActivityTitle }
130123 onChange = { handleActivityChange }
131124 placeholder = '체험을 선택하세요'
132- className = 'h-56'
125+ className = 'h-56 min-w-0'
126+ truncateText = { true }
133127 />
134128 </ div >
135129
0 commit comments