diff --git a/app/(sub-page)/components/navigation-items.tsx b/app/(sub-page)/components/navigation-items.tsx
index 0f741295..22a212ea 100644
--- a/app/(sub-page)/components/navigation-items.tsx
+++ b/app/(sub-page)/components/navigation-items.tsx
@@ -40,7 +40,7 @@ export function NavigationItem({ href, label, target }: NavigationItemProps) {
diff --git a/app/(sub-page)/components/side-navigation-bar.tsx b/app/(sub-page)/components/side-navigation-bar.tsx
index 8a0d8b9b..cf8417d7 100644
--- a/app/(sub-page)/components/side-navigation-bar.tsx
+++ b/app/(sub-page)/components/side-navigation-bar.tsx
@@ -23,7 +23,7 @@ export default function SideNavigationBar({ header, content, footer }: SideNavig
return (
-
+
diff --git a/app/(sub-page)/layout.tsx b/app/(sub-page)/layout.tsx
index 03ec2911..2d7eb794 100644
--- a/app/(sub-page)/layout.tsx
+++ b/app/(sub-page)/layout.tsx
@@ -10,7 +10,9 @@ function SubPageLayout({ children }: LayoutProps) {
return (
<>
-
+
+
+
{children}
>
);
diff --git a/app/(sub-page)/result/components/result-category-detail-container.tsx b/app/(sub-page)/result/components/result-category-detail-container.tsx
new file mode 100644
index 00000000..c50ed6e3
--- /dev/null
+++ b/app/(sub-page)/result/components/result-category-detail-container.tsx
@@ -0,0 +1,19 @@
+'use client';
+
+import useDialog from '@/app/hooks/useDialog';
+import { DIALOG_KEY } from '@/app/utils/key/dialog-key.util';
+import { ResultCategoryKey } from '@/app/utils/key/result-category.key';
+import dynamic from 'next/dynamic';
+import { useEffect } from 'react';
+
+const ResultCategoryDetail = dynamic(() => import('@/app/ui/result/result-category-detail/result-category-detail'));
+
+export default function ResultCategoryDetailContainer({ category }: { category: ResultCategoryKey }) {
+ const { isOpen, open } = useDialog(DIALOG_KEY.RESULT_CATEGORY);
+
+ useEffect(() => {
+ if (category && !isOpen) open();
+ }, []);
+
+ return isOpen && category ? : null;
+}
diff --git a/app/(sub-page)/result/page.tsx b/app/(sub-page)/result/page.tsx
index e931fd26..87a1d84d 100644
--- a/app/(sub-page)/result/page.tsx
+++ b/app/(sub-page)/result/page.tsx
@@ -1,12 +1,17 @@
import UserInfoCard from '@/app/ui/user/user-info-card/user-info-card';
-import ResultCategoryDetail from '@/app/ui/result/result-category-detail/result-category-detail';
import { Suspense } from 'react';
import UserInfoCardSkeleton from '@/app/ui/user/user-info-card/user-info-card.skeleton';
-import ResultCategory from '@/app/ui/result/result-category/result-category';
import ResultCategorySkeleton from '@/app/ui/result/result-category/result-category.skeleton';
import ContentContainer from '@/app/ui/view/atom/content-container/content-container';
import { ResultCategoryKey } from '@/app/utils/key/result-category.key';
import type { Metadata } from 'next';
+import ResultCategoryDetailContainer from '@/app/(sub-page)/result/components/result-category-detail-container';
+import dynamic from 'next/dynamic';
+
+const ResultCategory = dynamic(() => import('@/app/ui/result/result-category/result-category'), {
+ ssr: false,
+ loading: () => ,
+});
export const metadata: Metadata = {
title: '졸업 요건 검사 결과',
@@ -39,10 +44,8 @@ function ResultPage({ searchParams }: ResultPageProp) {
- }>
-
-
-
+
+
);
}
diff --git a/app/(sub-page)/sign-in/page.tsx b/app/(sub-page)/sign-in/page.tsx
index 42205546..7c321181 100644
--- a/app/(sub-page)/sign-in/page.tsx
+++ b/app/(sub-page)/sign-in/page.tsx
@@ -18,11 +18,11 @@ export const metadata: Metadata = {
export default function SignInPage() {
return (