diff --git a/apps/fo/src/entities/auth/lib/auth-wrapper.tsx b/apps/fo/src/entities/auth/lib/auth-wrapper.tsx
index bf159756c..21fd87180 100644
--- a/apps/fo/src/entities/auth/lib/auth-wrapper.tsx
+++ b/apps/fo/src/entities/auth/lib/auth-wrapper.tsx
@@ -1,7 +1,6 @@
"use client";
import { useEffect } from "react";
-import { useRouter } from "next/navigation";
import { client } from "@/src/shared/api";
import type { IUserInfo } from "@/src/shared/store";
import { isAtLoginRedirectUrl } from "@common/network";
@@ -12,7 +11,6 @@ const LOGIN_PAGE_URL =
process.env.NEXT_PUBLIC_CM_LOGIN_PAGE_URL || "/auth/login";
const AuthWrapper = ({ children }: { children: React.ReactNode }) => {
- const router = useRouter();
const { userInfo, setUserInfo } = useUserStore((state) => state);
async function authCheck() {
diff --git a/apps/st/app/(auth)/auth/layout.tsx b/apps/st/app/(auth)/auth/layout.tsx
new file mode 100644
index 000000000..33651c590
--- /dev/null
+++ b/apps/st/app/(auth)/auth/layout.tsx
@@ -0,0 +1,17 @@
+import "@/app/styles/base.css";
+
+export const metadata = {
+ title: "유역하수도 통합 정보플랫폼",
+};
+
+export default function AuthLayout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+
+
{children}
+
+ );
+}
diff --git a/apps/st/app/auth/login/page.tsx b/apps/st/app/(auth)/auth/login/page.tsx
similarity index 100%
rename from apps/st/app/auth/login/page.tsx
rename to apps/st/app/(auth)/auth/login/page.tsx
diff --git a/apps/st/app/(with-base-layout)/layout.tsx b/apps/st/app/(main)/(with-base-layout)/layout.tsx
similarity index 97%
rename from apps/st/app/(with-base-layout)/layout.tsx
rename to apps/st/app/(main)/(with-base-layout)/layout.tsx
index 71343c00e..6faa92cc1 100644
--- a/apps/st/app/(with-base-layout)/layout.tsx
+++ b/apps/st/app/(main)/(with-base-layout)/layout.tsx
@@ -12,12 +12,11 @@ import { useQuery, useQueryClient } from "@tanstack/react-query";
import { ENDPOINT } from "@/shared/config";
import { getCookie, useAlertStore, useMenuStore } from "@/shared/lib";
import { StatisticsPageLayout } from "@/shared/ui/statistics-page-layout";
+import { MenuApi } from "@/entities/menu";
import type { MenuItem } from "@/entities/menu";
import { BaseLayout } from "@common/components";
import { getConfig } from "@common/config";
-import { getMenuList } from "../../../../packages/common/components/src/api";
-
import { getTabStoreState, useTabStore } from "@/store/tab-store";
const appConfig = getConfig();
@@ -51,7 +50,7 @@ export default function WithBaseLayout({
const { data: menuListData } = useQuery({
queryKey: [ENDPOINT.CMS_SERVICE.MENU_ROLES],
- queryFn: () => getMenuList(appSiteId),
+ queryFn: () => MenuApi.getMenuRoles(appSiteId),
enabled: isLoggedIn,
});
diff --git a/apps/st/app/(with-base-layout)/loading.tsx b/apps/st/app/(main)/(with-base-layout)/loading.tsx
similarity index 100%
rename from apps/st/app/(with-base-layout)/loading.tsx
rename to apps/st/app/(main)/(with-base-layout)/loading.tsx
diff --git a/apps/st/app/(with-base-layout)/statistics/page.tsx b/apps/st/app/(main)/(with-base-layout)/statistics/page.tsx
similarity index 98%
rename from apps/st/app/(with-base-layout)/statistics/page.tsx
rename to apps/st/app/(main)/(with-base-layout)/statistics/page.tsx
index f32417f76..23feaf7e1 100644
--- a/apps/st/app/(with-base-layout)/statistics/page.tsx
+++ b/apps/st/app/(main)/(with-base-layout)/statistics/page.tsx
@@ -1,3 +1,2 @@
import { StatisticsPage } from "@/pages/statistics";
-
export default StatisticsPage;
diff --git a/apps/st/app/layout.tsx b/apps/st/app/(main)/layout.tsx
similarity index 100%
rename from apps/st/app/layout.tsx
rename to apps/st/app/(main)/layout.tsx
diff --git a/apps/st/src/entities/menu/api/menu-service.ts b/apps/st/src/entities/menu/api/menu-service.ts
index 07e9e552a..59788e0f5 100644
--- a/apps/st/src/entities/menu/api/menu-service.ts
+++ b/apps/st/src/entities/menu/api/menu-service.ts
@@ -1,79 +1,81 @@
import { client } from "@/shared/api";
import { ENDPOINT } from "@/shared/config";
import type {
- MenuService,
- Menu,
- MenuItem,
- MenuFormData,
- MenuTemporarilyStoredData,
- SiteMapFormData,
+ MenuService,
+ Menu,
+ MenuItem,
+ MenuFormData,
+ MenuTemporarilyStoredData,
+ SiteMapFormData,
} from "../model/menu-interface";
export class MenuApiService implements MenuService {
- async getMenuRoles(siteId: string): Promise