diff --git a/frontend/src/features/admin/AdminFeaturePage.jsx b/frontend/src/features/admin/AdminFeaturePage.jsx index 75bda92..4581b01 100644 --- a/frontend/src/features/admin/AdminFeaturePage.jsx +++ b/frontend/src/features/admin/AdminFeaturePage.jsx @@ -1,5 +1,5 @@ import { Suspense } from 'react' -import { useParams, Navigate, Link } from 'react-router-dom' +import { useParams, Link } from 'react-router-dom' import { useQuery } from '@tanstack/react-query' import { getAdminComponent } from '../registry' import { api } from '../../api/client' @@ -8,7 +8,7 @@ export default function AdminFeaturePage() { const { slug } = useParams() const Component = getAdminComponent(slug) - // 메뉴 정보 조회 (편집 링크 표시용) + // 메뉴 정보 조회 (없는 기능 안내용) const { data: menus = [] } = useQuery({ queryKey: ['admin', 'menus'], queryFn: () => api('/api/admin/menus').catch(() => []), @@ -19,17 +19,9 @@ export default function AdminFeaturePage() { return (
{menu && ( -
-
-

{menu.title}

-

{menu.description}

-
- - ⚙ 메뉴 정보 편집 - +
+

{menu.title}

+

{menu.description}

)}
@@ -38,30 +30,24 @@ export default function AdminFeaturePage() {

features/{slug}/{slug.split('-').map((s) => s[0].toUpperCase() + s.slice(1)).join('')}Admin.jsx

+ + 메뉴 정보 편집 → +
) } return ( -
- {menu && ( -
- - ⚙ 메뉴 정보 편집 - -
- )} - -
-
- }> - -
-
+ +
+
+ }> + +
) } diff --git a/frontend/src/features/admin/AdminHome.jsx b/frontend/src/features/admin/AdminHome.jsx index 306cf60..6edfedf 100644 --- a/frontend/src/features/admin/AdminHome.jsx +++ b/frontend/src/features/admin/AdminHome.jsx @@ -1,4 +1,4 @@ -import { Link, useNavigate } from 'react-router-dom' +import { Link, useNavigate, useOutletContext } from 'react-router-dom' import { useQuery } from '@tanstack/react-query' import { api } from '../../api/client' @@ -60,6 +60,7 @@ function AddCard({ to, icon, label }) { } export default function AdminHome() { + const { handleLogout } = useOutletContext() || {} const { data: menus = [], isLoading: loading } = useQuery({ queryKey: ['admin', 'menus'], queryFn: () => api('/api/admin/menus').catch(() => []), @@ -120,6 +121,18 @@ export default function AdminHome() {
+ + {/* 로그아웃 */} + {handleLogout && ( +
+ +
+ )} ) } diff --git a/frontend/src/features/admin/AdminLayout.jsx b/frontend/src/features/admin/AdminLayout.jsx index cff5288..1dc186a 100644 --- a/frontend/src/features/admin/AdminLayout.jsx +++ b/frontend/src/features/admin/AdminLayout.jsx @@ -1,12 +1,10 @@ -import { useSearchParams, Outlet, Navigate, Link, useLocation } from 'react-router-dom' +import { useSearchParams, Outlet, Navigate } from 'react-router-dom' import { useQuery, useQueryClient } from '@tanstack/react-query' import { api } from '../../api/client' export default function AdminLayout() { const queryClient = useQueryClient() const [searchParams] = useSearchParams() - const location = useLocation() - const isRoot = location.pathname === '/admin' || location.pathname === '/admin/' const keyFromUrl = searchParams.get('key') const key = keyFromUrl || localStorage.getItem('maple-admin-key') @@ -45,33 +43,5 @@ export default function AdminLayout() { return } - return ( -
-
-
- {!isRoot && ( - - ← - - )} -
-
Admin
-

관리자

-
-
- -
- - -
- ) + return }