+
+
{user.nickname}
@@ -61,7 +63,7 @@ export default function ReviewCard(review: Review) {
})}
-
+
);
}
diff --git a/src/domain/Activity/components/detail/activity-summary/ActivityDropdown.tsx b/src/domain/Activity/components/detail/activity-summary/ActivityDropdown.tsx
index a2b00ff1..796052bd 100644
--- a/src/domain/Activity/components/detail/activity-summary/ActivityDropdown.tsx
+++ b/src/domain/Activity/components/detail/activity-summary/ActivityDropdown.tsx
@@ -57,6 +57,7 @@ export default function ActivityDropdown({
try {
await deleteActivity(id);
queryClient.invalidateQueries({ queryKey: activitiesKeys.all });
+ queryClient.invalidateQueries({ queryKey: ['carousel-activities'] });
router.push('/activities');
} catch (e) {
console.error(e);
diff --git a/src/domain/Activity/components/detail/description/DescriptionSection.tsx b/src/domain/Activity/components/detail/description/DescriptionSection.tsx
index 4b8ca1cd..2fed032f 100644
--- a/src/domain/Activity/components/detail/description/DescriptionSection.tsx
+++ b/src/domain/Activity/components/detail/description/DescriptionSection.tsx
@@ -1,3 +1,5 @@
+import ExpandableText from '@/domain/Activity/components/detail/Review/ExpandableText';
+
/**
* DescriptionSection
* 체험 상세 페이지에서 체험 설명을 보여주는 컴포넌트
@@ -16,9 +18,7 @@ export default function DescriptionSection({
return (
체험 설명
-
- {description}
-
+
);
}
diff --git a/src/domain/Reservation/components/my-activity-card/DeleteMyActivityModal.tsx b/src/domain/Reservation/components/my-activity-card/DeleteMyActivityModal.tsx
index 565397f1..b716f2ed 100644
--- a/src/domain/Reservation/components/my-activity-card/DeleteMyActivityModal.tsx
+++ b/src/domain/Reservation/components/my-activity-card/DeleteMyActivityModal.tsx
@@ -29,6 +29,7 @@ export default function DeleteMyActivityModal({
},
onSettled: () => {
queryClient.invalidateQueries({ queryKey: ['my-activities'] });
+ queryClient.invalidateQueries({ queryKey: ['carousel-activities'] });
},
});
diff --git a/src/domain/Reservation/components/reservation-calendar/DayCell.tsx b/src/domain/Reservation/components/reservation-calendar/DayCell.tsx
index bb1f8903..7ca4d26c 100644
--- a/src/domain/Reservation/components/reservation-calendar/DayCell.tsx
+++ b/src/domain/Reservation/components/reservation-calendar/DayCell.tsx
@@ -205,7 +205,13 @@ export default function DayCell({
status: 'declined',
}),
onSuccess: () => {
- queryClient.invalidateQueries({ queryKey: ['reservationsBySchedule'] });
+ queryClient.invalidateQueries({
+ queryKey: [
+ 'allReservationsByDate',
+ selectedActivityId,
+ day.format('YYYY-MM-DD'),
+ ],
+ });
queryClient.invalidateQueries({ queryKey: ['schedules'] });
queryClient.invalidateQueries({ queryKey: ['reservationDashboard'] });
},
diff --git a/src/middleware.ts b/src/middleware.ts
index 08237855..579d61f5 100644
--- a/src/middleware.ts
+++ b/src/middleware.ts
@@ -1,5 +1,6 @@
import { NextRequest, NextResponse } from 'next/server';
+import setAuthCookies from '@/domain/Auth/utils/setAuthCookies';
import { ERROR_CODES, ROUTES } from '@/shared/constants/routes';
import { BRIDGE_API } from './shared/constants/bridgeEndpoints';
@@ -139,21 +140,14 @@ export async function middleware(request: NextRequest) {
signal: AbortSignal.timeout(30000),
});
- const finalResponse = new NextResponse(response.body, {
- status: response.status,
- statusText: response.statusText,
- headers: response.headers,
- });
-
- finalResponse.cookies.set('accessToken', newAccessToken, {
- httpOnly: true,
- secure: process.env.NODE_ENV === 'production',
- path: '/',
- maxAge: 60 * 60,
- sameSite: 'lax',
- });
-
- return finalResponse;
+ return setAuthCookies(
+ new NextResponse(response.body, {
+ status: response.status,
+ statusText: response.statusText,
+ headers: response.headers,
+ }),
+ tokens,
+ );
} else {
console.log(
'[Middleware] Refresh Token 만료 또는 갱신 실패. 로그인 페이지로 리다이렉트합니다.',
diff --git a/vercel.json b/vercel.json
new file mode 100644
index 00000000..afb1d559
--- /dev/null
+++ b/vercel.json
@@ -0,0 +1,8 @@
+{
+ "rewrites": [
+ {
+ "source": "/storybook",
+ "destination": "/_next/static/storybook/index.html"
+ }
+ ]
+}