From f8e9da5b1aa1bbd37c52cbd098c047d8224c2817 Mon Sep 17 00:00:00 2001 From: YouD0313 <102004480+YouD0313@users.noreply.github.com> Date: Thu, 29 May 2025 20:50:05 +0900 Subject: [PATCH 1/6] =?UTF-8?q?feat:=20=EB=9D=BC=EC=9A=B0=ED=84=B0=20?= =?UTF-8?q?=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20pages=20=EC=84=B8?= =?UTF-8?q?=ED=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/admin/adminAllUser/AdminAllUser.tsx | 3 ++ src/pages/admin/adminBanner/AdminBanner.tsx | 3 ++ .../adminInquiries/AdminInquires.styled.ts | 3 ++ .../admin/adminInquiries/AdminInquires.tsx | 5 +++ src/pages/admin/adminMain/AdminMain.tsx | 3 ++ src/pages/admin/adminManage/AdminManage.tsx | 3 ++ src/pages/admin/adminNotice/AdminNotice.tsx | 3 ++ src/pages/admin/adminReports/AdminReports.tsx | 3 ++ src/routes/AdminRoutes.tsx | 41 +++++++++++++++++++ 9 files changed, 67 insertions(+) create mode 100644 src/pages/admin/adminAllUser/AdminAllUser.tsx create mode 100644 src/pages/admin/adminBanner/AdminBanner.tsx create mode 100644 src/pages/admin/adminInquiries/AdminInquires.styled.ts create mode 100644 src/pages/admin/adminInquiries/AdminInquires.tsx create mode 100644 src/pages/admin/adminMain/AdminMain.tsx create mode 100644 src/pages/admin/adminManage/AdminManage.tsx create mode 100644 src/pages/admin/adminNotice/AdminNotice.tsx create mode 100644 src/pages/admin/adminReports/AdminReports.tsx diff --git a/src/pages/admin/adminAllUser/AdminAllUser.tsx b/src/pages/admin/adminAllUser/AdminAllUser.tsx new file mode 100644 index 00000000..c2e5ee24 --- /dev/null +++ b/src/pages/admin/adminAllUser/AdminAllUser.tsx @@ -0,0 +1,3 @@ +export default function AdminAllUser() { + return
; +} diff --git a/src/pages/admin/adminBanner/AdminBanner.tsx b/src/pages/admin/adminBanner/AdminBanner.tsx new file mode 100644 index 00000000..a1812dec --- /dev/null +++ b/src/pages/admin/adminBanner/AdminBanner.tsx @@ -0,0 +1,3 @@ +export default function AdminBanner() { + return
; +} diff --git a/src/pages/admin/adminInquiries/AdminInquires.styled.ts b/src/pages/admin/adminInquiries/AdminInquires.styled.ts new file mode 100644 index 00000000..ce147df6 --- /dev/null +++ b/src/pages/admin/adminInquiries/AdminInquires.styled.ts @@ -0,0 +1,3 @@ +import styled from 'styled-components'; + +export const AdminInquiriesContainer = styled.div``; diff --git a/src/pages/admin/adminInquiries/AdminInquires.tsx b/src/pages/admin/adminInquiries/AdminInquires.tsx new file mode 100644 index 00000000..2d180680 --- /dev/null +++ b/src/pages/admin/adminInquiries/AdminInquires.tsx @@ -0,0 +1,5 @@ +import * as S from './AdminInquires.styled'; + +export default function AdminInquires() { + return ; +} diff --git a/src/pages/admin/adminMain/AdminMain.tsx b/src/pages/admin/adminMain/AdminMain.tsx new file mode 100644 index 00000000..c0ccc4cf --- /dev/null +++ b/src/pages/admin/adminMain/AdminMain.tsx @@ -0,0 +1,3 @@ +export default function AdminMain() { + return
; +} diff --git a/src/pages/admin/adminManage/AdminManage.tsx b/src/pages/admin/adminManage/AdminManage.tsx new file mode 100644 index 00000000..c4afcf56 --- /dev/null +++ b/src/pages/admin/adminManage/AdminManage.tsx @@ -0,0 +1,3 @@ +export default function AdminManage() { + return
; +} diff --git a/src/pages/admin/adminNotice/AdminNotice.tsx b/src/pages/admin/adminNotice/AdminNotice.tsx new file mode 100644 index 00000000..23d39175 --- /dev/null +++ b/src/pages/admin/adminNotice/AdminNotice.tsx @@ -0,0 +1,3 @@ +export default function AdminNotice() { + return
; +} diff --git a/src/pages/admin/adminReports/AdminReports.tsx b/src/pages/admin/adminReports/AdminReports.tsx new file mode 100644 index 00000000..2d5490d9 --- /dev/null +++ b/src/pages/admin/adminReports/AdminReports.tsx @@ -0,0 +1,3 @@ +export default function AdminReports() { + return
; +} diff --git a/src/routes/AdminRoutes.tsx b/src/routes/AdminRoutes.tsx index 00efc712..7bbe7d49 100644 --- a/src/routes/AdminRoutes.tsx +++ b/src/routes/AdminRoutes.tsx @@ -2,10 +2,19 @@ import NotFoundPage from '../pages/notFoundPage/NotFoundPage'; import { lazy } from 'react'; import { ADMIN_ROUTE } from '../constants/routes'; import ProtectAdminRoute from './ProtectAdminRoute'; +import { Outlet } from 'react-router-dom'; const Sidebar = lazy( () => import('../components/common/admin/sidebar/AdminSidebar') ); +const Main = lazy(() => import('../pages/admin/adminMain/AdminMain')); +const Notice = lazy(() => import('../pages/admin/adminMain/AdminMain')); +const Banner = lazy(() => import('../pages/admin/adminMain/AdminMain')); +const Tags = lazy(() => import('../pages/admin/adminMain/AdminMain')); +const AllUser = lazy(() => import('../pages/admin/adminMain/AdminMain')); +const Reports = lazy(() => import('../pages/admin/adminMain/AdminMain')); +const Inquiries = lazy(() => import('../pages/admin/adminMain/AdminMain')); +const Manage = lazy(() => import('../pages/admin/adminMain/AdminMain')); export const AdminRoutes = () => { const routeList = [ @@ -14,8 +23,40 @@ export const AdminRoutes = () => { element: ( + ), + children: [ + { index: true, element:
}, + { + path: ADMIN_ROUTE.notice, + element: , + }, + { + path: ADMIN_ROUTE.banner, + element: , + }, + { + path: ADMIN_ROUTE.tags, + element: , + }, + { + path: ADMIN_ROUTE.allUser, + element: , + }, + { + path: ADMIN_ROUTE.reports, + element: , + }, + { + path: ADMIN_ROUTE.inquiries, + element: , + }, + { + path: ADMIN_ROUTE.manage, + element: , + }, + ], }, ]; From 41cc6d12b4e9102aae4a1ec012607f7d112d9997 Mon Sep 17 00:00:00 2001 From: YouD0313 <102004480+YouD0313@users.noreply.github.com> Date: Thu, 29 May 2025 19:37:06 +0900 Subject: [PATCH 2/6] =?UTF-8?q?refactor:=20=EA=B4=80=EB=A6=AC=EC=9E=90=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=95=84=EC=9B=83=20=EB=AA=A8=EB=8B=AC?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/admin/sidebar/AdminSidebar.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/components/common/admin/sidebar/AdminSidebar.tsx b/src/components/common/admin/sidebar/AdminSidebar.tsx index e91064f6..d277060e 100644 --- a/src/components/common/admin/sidebar/AdminSidebar.tsx +++ b/src/components/common/admin/sidebar/AdminSidebar.tsx @@ -7,14 +7,19 @@ import ContentBorder from '../../contentBorder/ContentBorder'; import useAuthStore from '../../../../store/authStore'; import { useNavigate } from 'react-router-dom'; import { ROUTES } from '../../../../constants/routes'; +import { useModal } from '../../../../hooks/useModal'; +import Modal from '../../modal/Modal'; +import { MODAL_MESSAGE } from '../../../../constants/user/modalMessage'; export default function AdminSidebar() { const navigate = useNavigate(); const logout = useAuthStore((state) => state.logout); + const { isOpen, message, handleModalOpen, handleModalClose } = useModal(); const handleClickLogout = () => { - logout(); + handleModalOpen(MODAL_MESSAGE.needAuth); setTimeout(() => { + logout(); navigate(ROUTES.main); }, 1000); }; @@ -39,6 +44,9 @@ export default function AdminSidebar() { + + {message} + ); } From 46b26313ea63a4d0a073e253a8e8428a1b171d28 Mon Sep 17 00:00:00 2001 From: YouD0313 <102004480+YouD0313@users.noreply.github.com> Date: Thu, 29 May 2025 21:03:51 +0900 Subject: [PATCH 3/6] =?UTF-8?q?fix:=20=EC=BD=94=EB=93=9C=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/user/customerService/CustomerServiceHeader.tsx | 4 ++-- .../user/customerService/noticeDetail/NoticeDetailBundle.tsx | 2 +- src/pages/admin/adminNotice/AdminNotice.styled.ts | 3 +++ src/pages/admin/adminNotice/AdminNotice.tsx | 4 +++- 4 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 src/pages/admin/adminNotice/AdminNotice.styled.ts diff --git a/src/components/user/customerService/CustomerServiceHeader.tsx b/src/components/user/customerService/CustomerServiceHeader.tsx index 2eca5341..59e79f47 100644 --- a/src/components/user/customerService/CustomerServiceHeader.tsx +++ b/src/components/user/customerService/CustomerServiceHeader.tsx @@ -1,8 +1,8 @@ import { MagnifyingGlassIcon, XCircleIcon } from '@heroicons/react/24/outline'; import * as S from './CustomerServiceHeader.styled'; import MovedInquiredLink from './MoveInquiredLink'; -import { Outlet, useLocation, useSearchParams } from 'react-router-dom'; -import { useEffect, useState } from 'react'; +import { Outlet, useSearchParams } from 'react-router-dom'; +import { useState } from 'react'; import Modal from '../../common/modal/Modal'; import { useModal } from '../../../hooks/useModal'; import { MODAL_MESSAGE_CUSTOMER_SERVICE } from '../../../constants/user/customerService'; diff --git a/src/components/user/customerService/noticeDetail/NoticeDetailBundle.tsx b/src/components/user/customerService/noticeDetail/NoticeDetailBundle.tsx index cf77fa0b..f9f6dd0a 100644 --- a/src/components/user/customerService/noticeDetail/NoticeDetailBundle.tsx +++ b/src/components/user/customerService/noticeDetail/NoticeDetailBundle.tsx @@ -33,7 +33,7 @@ export default function NoticeDetailBundle() { createdAt='' viewCount={0} /> - + ); } diff --git a/src/pages/admin/adminNotice/AdminNotice.styled.ts b/src/pages/admin/adminNotice/AdminNotice.styled.ts new file mode 100644 index 00000000..c3389834 --- /dev/null +++ b/src/pages/admin/adminNotice/AdminNotice.styled.ts @@ -0,0 +1,3 @@ +import styled from 'styled-components'; + +export const Container = styled.div``; diff --git a/src/pages/admin/adminNotice/AdminNotice.tsx b/src/pages/admin/adminNotice/AdminNotice.tsx index 23d39175..dfe129a2 100644 --- a/src/pages/admin/adminNotice/AdminNotice.tsx +++ b/src/pages/admin/adminNotice/AdminNotice.tsx @@ -1,3 +1,5 @@ +import * as S from './AdminNotice.styled'; + export default function AdminNotice() { - return
; + return ; } From 4626241eb5125b73529ee4fc269ca7a96465e713 Mon Sep 17 00:00:00 2001 From: YouD0313 <102004480+YouD0313@users.noreply.github.com> Date: Thu, 29 May 2025 21:28:29 +0900 Subject: [PATCH 4/6] =?UTF-8?q?feat:=20admin=20=EC=82=AC=EC=9D=B4=EB=93=9C?= =?UTF-8?q?=EB=B0=94=20outlet=20=EC=84=B8=ED=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/sidebar/AdminSidebar.styled.ts | 6 ++- .../common/admin/sidebar/AdminSidebar.tsx | 45 ++++++++++--------- .../common/admin/title/AdminTitle.styled.ts | 7 +++ .../common/admin/title/AdminTitle.tsx | 15 +++++++ src/pages/admin/adminNotice/AdminNotice.tsx | 9 +++- src/pages/admin/adminTags/AdminTags.tsx | 3 ++ src/routes/AdminRoutes.tsx | 18 ++++---- 7 files changed, 71 insertions(+), 32 deletions(-) create mode 100644 src/components/common/admin/title/AdminTitle.styled.ts create mode 100644 src/components/common/admin/title/AdminTitle.tsx create mode 100644 src/pages/admin/adminTags/AdminTags.tsx diff --git a/src/components/common/admin/sidebar/AdminSidebar.styled.ts b/src/components/common/admin/sidebar/AdminSidebar.styled.ts index f6de17c5..c2e5194b 100644 --- a/src/components/common/admin/sidebar/AdminSidebar.styled.ts +++ b/src/components/common/admin/sidebar/AdminSidebar.styled.ts @@ -1,7 +1,11 @@ import styled from 'styled-components'; -export const SidebarContainer = styled.section` +export const LayoutContainer = styled.div` height: 100vh; + display: flex; +`; + +export const SidebarContainer = styled.section` padding: 1rem; width: 15rem; border-right: 1px solid ${({ theme }) => theme.color.grey}; diff --git a/src/components/common/admin/sidebar/AdminSidebar.tsx b/src/components/common/admin/sidebar/AdminSidebar.tsx index d277060e..a3760cb5 100644 --- a/src/components/common/admin/sidebar/AdminSidebar.tsx +++ b/src/components/common/admin/sidebar/AdminSidebar.tsx @@ -5,7 +5,7 @@ import logoutIcon from '../../../../assets/logout.svg'; import AdminSidebarList from './sidebarList/AdminSidebarList'; import ContentBorder from '../../contentBorder/ContentBorder'; import useAuthStore from '../../../../store/authStore'; -import { useNavigate } from 'react-router-dom'; +import { Outlet, useNavigate } from 'react-router-dom'; import { ROUTES } from '../../../../constants/routes'; import { useModal } from '../../../../hooks/useModal'; import Modal from '../../modal/Modal'; @@ -25,28 +25,31 @@ export default function AdminSidebar() { }; return ( - - - - - - Logout - - - - - - - - + + + + + + + Logout + + + + + + + + + + {message} - + ); } diff --git a/src/components/common/admin/title/AdminTitle.styled.ts b/src/components/common/admin/title/AdminTitle.styled.ts new file mode 100644 index 00000000..6eac44eb --- /dev/null +++ b/src/components/common/admin/title/AdminTitle.styled.ts @@ -0,0 +1,7 @@ +import styled from 'styled-components'; + +export const TitleContainer = styled.header``; + +export const TitleWrapper = styled.div``; + +export const Title = styled.h1``; diff --git a/src/components/common/admin/title/AdminTitle.tsx b/src/components/common/admin/title/AdminTitle.tsx new file mode 100644 index 00000000..dc6cf3ef --- /dev/null +++ b/src/components/common/admin/title/AdminTitle.tsx @@ -0,0 +1,15 @@ +import * as S from './AdminTitle.styled'; + +interface AdminTitleProps { + title: string; +} + +export default function AdminTitle({ title }: AdminTitleProps) { + return ( + + + {title} + + + ); +} diff --git a/src/pages/admin/adminNotice/AdminNotice.tsx b/src/pages/admin/adminNotice/AdminNotice.tsx index dfe129a2..9a760a49 100644 --- a/src/pages/admin/adminNotice/AdminNotice.tsx +++ b/src/pages/admin/adminNotice/AdminNotice.tsx @@ -1,5 +1,12 @@ +import AdminTitle from '../../../components/common/admin/title/AdminTitle'; import * as S from './AdminNotice.styled'; export default function AdminNotice() { - return ; + console.log('공지사항 렌더'); + + return ( + + + + ); } diff --git a/src/pages/admin/adminTags/AdminTags.tsx b/src/pages/admin/adminTags/AdminTags.tsx new file mode 100644 index 00000000..b8bd4f27 --- /dev/null +++ b/src/pages/admin/adminTags/AdminTags.tsx @@ -0,0 +1,3 @@ +export default function AdminTags() { + return
; +} diff --git a/src/routes/AdminRoutes.tsx b/src/routes/AdminRoutes.tsx index 7bbe7d49..1a7806aa 100644 --- a/src/routes/AdminRoutes.tsx +++ b/src/routes/AdminRoutes.tsx @@ -2,19 +2,20 @@ import NotFoundPage from '../pages/notFoundPage/NotFoundPage'; import { lazy } from 'react'; import { ADMIN_ROUTE } from '../constants/routes'; import ProtectAdminRoute from './ProtectAdminRoute'; -import { Outlet } from 'react-router-dom'; const Sidebar = lazy( () => import('../components/common/admin/sidebar/AdminSidebar') ); const Main = lazy(() => import('../pages/admin/adminMain/AdminMain')); -const Notice = lazy(() => import('../pages/admin/adminMain/AdminMain')); -const Banner = lazy(() => import('../pages/admin/adminMain/AdminMain')); -const Tags = lazy(() => import('../pages/admin/adminMain/AdminMain')); -const AllUser = lazy(() => import('../pages/admin/adminMain/AdminMain')); -const Reports = lazy(() => import('../pages/admin/adminMain/AdminMain')); -const Inquiries = lazy(() => import('../pages/admin/adminMain/AdminMain')); -const Manage = lazy(() => import('../pages/admin/adminMain/AdminMain')); +const Notice = lazy(() => import('../pages/admin/adminNotice/AdminNotice')); +const Banner = lazy(() => import('../pages/admin/adminBanner/AdminBanner')); +const Tags = lazy(() => import('../pages/admin/adminTags/AdminTags')); +const AllUser = lazy(() => import('../pages/admin/adminAllUser/AdminAllUser')); +const Reports = lazy(() => import('../pages/admin/adminReports/AdminReports')); +const Inquiries = lazy( + () => import('../pages/admin/adminInquiries/AdminInquires') +); +const Manage = lazy(() => import('../pages/admin/adminManage/AdminManage')); export const AdminRoutes = () => { const routeList = [ @@ -23,7 +24,6 @@ export const AdminRoutes = () => { element: ( - ), children: [ From 28caec98bd1d11b7998bc9442981559ee629d98f Mon Sep 17 00:00:00 2001 From: YouD0313 <102004480+YouD0313@users.noreply.github.com> Date: Thu, 29 May 2025 21:33:17 +0900 Subject: [PATCH 5/6] =?UTF-8?q?feat:=20admin=20title=20=EC=84=B8=ED=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/admin/sidebar/AdminSidebar.styled.ts | 5 +++++ src/components/common/admin/sidebar/AdminSidebar.tsx | 4 +++- src/components/common/admin/title/AdminTitle.styled.ts | 4 +++- src/components/common/admin/title/AdminTitle.tsx | 2 ++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/components/common/admin/sidebar/AdminSidebar.styled.ts b/src/components/common/admin/sidebar/AdminSidebar.styled.ts index c2e5194b..bdbea3d5 100644 --- a/src/components/common/admin/sidebar/AdminSidebar.styled.ts +++ b/src/components/common/admin/sidebar/AdminSidebar.styled.ts @@ -5,6 +5,11 @@ export const LayoutContainer = styled.div` display: flex; `; +export const ContainerArea = styled.section` + flex: 1; + padding: 2rem; +`; + export const SidebarContainer = styled.section` padding: 1rem; width: 15rem; diff --git a/src/components/common/admin/sidebar/AdminSidebar.tsx b/src/components/common/admin/sidebar/AdminSidebar.tsx index a3760cb5..1048c626 100644 --- a/src/components/common/admin/sidebar/AdminSidebar.tsx +++ b/src/components/common/admin/sidebar/AdminSidebar.tsx @@ -46,7 +46,9 @@ export default function AdminSidebar() { - + + + {message} diff --git a/src/components/common/admin/title/AdminTitle.styled.ts b/src/components/common/admin/title/AdminTitle.styled.ts index 6eac44eb..6a12e940 100644 --- a/src/components/common/admin/title/AdminTitle.styled.ts +++ b/src/components/common/admin/title/AdminTitle.styled.ts @@ -2,6 +2,8 @@ import styled from 'styled-components'; export const TitleContainer = styled.header``; -export const TitleWrapper = styled.div``; +export const TitleWrapper = styled.div` + margin-bottom: 2rem; +`; export const Title = styled.h1``; diff --git a/src/components/common/admin/title/AdminTitle.tsx b/src/components/common/admin/title/AdminTitle.tsx index dc6cf3ef..ddacc5ea 100644 --- a/src/components/common/admin/title/AdminTitle.tsx +++ b/src/components/common/admin/title/AdminTitle.tsx @@ -1,3 +1,4 @@ +import ContentBorder from '../../contentBorder/ContentBorder'; import * as S from './AdminTitle.styled'; interface AdminTitleProps { @@ -10,6 +11,7 @@ export default function AdminTitle({ title }: AdminTitleProps) { {title} + ); } From f1d80af514e4ec13b9c6013a431bc43ffb680675 Mon Sep 17 00:00:00 2001 From: YouD0313 <102004480+YouD0313@users.noreply.github.com> Date: Thu, 29 May 2025 21:41:53 +0900 Subject: [PATCH 6/6] =?UTF-8?q?fix:=20=EC=98=A4=ED=83=80=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{AdminInquires.styled.ts => AdminInquiries.styled.ts} | 0 .../adminInquiries/{AdminInquires.tsx => AdminInquiries.tsx} | 0 src/routes/AdminRoutes.tsx | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename src/pages/admin/adminInquiries/{AdminInquires.styled.ts => AdminInquiries.styled.ts} (100%) rename src/pages/admin/adminInquiries/{AdminInquires.tsx => AdminInquiries.tsx} (100%) diff --git a/src/pages/admin/adminInquiries/AdminInquires.styled.ts b/src/pages/admin/adminInquiries/AdminInquiries.styled.ts similarity index 100% rename from src/pages/admin/adminInquiries/AdminInquires.styled.ts rename to src/pages/admin/adminInquiries/AdminInquiries.styled.ts diff --git a/src/pages/admin/adminInquiries/AdminInquires.tsx b/src/pages/admin/adminInquiries/AdminInquiries.tsx similarity index 100% rename from src/pages/admin/adminInquiries/AdminInquires.tsx rename to src/pages/admin/adminInquiries/AdminInquiries.tsx diff --git a/src/routes/AdminRoutes.tsx b/src/routes/AdminRoutes.tsx index 1a7806aa..29431060 100644 --- a/src/routes/AdminRoutes.tsx +++ b/src/routes/AdminRoutes.tsx @@ -13,7 +13,7 @@ const Tags = lazy(() => import('../pages/admin/adminTags/AdminTags')); const AllUser = lazy(() => import('../pages/admin/adminAllUser/AdminAllUser')); const Reports = lazy(() => import('../pages/admin/adminReports/AdminReports')); const Inquiries = lazy( - () => import('../pages/admin/adminInquiries/AdminInquires') + () => import('../pages/admin/adminInquiries/AdminInquiries') ); const Manage = lazy(() => import('../pages/admin/adminManage/AdminManage'));