diff --git a/apps/admin/app/@content/announcement/page.tsx b/apps/admin/app/@content/announcement/page.tsx new file mode 100644 index 00000000..fad6d39a --- /dev/null +++ b/apps/admin/app/@content/announcement/page.tsx @@ -0,0 +1,3 @@ +export default function Page() { + return
AnnouncementPage
; +} diff --git a/apps/admin/app/@content/category/page.tsx b/apps/admin/app/@content/category/page.tsx new file mode 100644 index 00000000..69138e66 --- /dev/null +++ b/apps/admin/app/@content/category/page.tsx @@ -0,0 +1,3 @@ +export default function Page() { + return
CategoryPage
; +} diff --git a/apps/admin/app/@content/default.tsx b/apps/admin/app/@content/default.tsx new file mode 100644 index 00000000..6ddf1b76 --- /dev/null +++ b/apps/admin/app/@content/default.tsx @@ -0,0 +1,3 @@ +export default function Default() { + return null; +} diff --git a/apps/admin/app/@content/main-page/page.tsx b/apps/admin/app/@content/main-page/page.tsx new file mode 100644 index 00000000..f0f5693c --- /dev/null +++ b/apps/admin/app/@content/main-page/page.tsx @@ -0,0 +1,3 @@ +export default function Page() { + return
Main-PagePage
; +} diff --git a/apps/admin/app/@content/push-notice/page.tsx b/apps/admin/app/@content/push-notice/page.tsx new file mode 100644 index 00000000..ef9a619c --- /dev/null +++ b/apps/admin/app/@content/push-notice/page.tsx @@ -0,0 +1,3 @@ +export default function Page() { + return
PushNoticePage
; +} diff --git a/apps/admin/app/@content/raffle-event/page.tsx b/apps/admin/app/@content/raffle-event/page.tsx new file mode 100644 index 00000000..66e59abf --- /dev/null +++ b/apps/admin/app/@content/raffle-event/page.tsx @@ -0,0 +1,3 @@ +export default function Page() { + return
RaffleEventPage
; +} diff --git a/apps/admin/app/@content/recommend-keyword/page.tsx b/apps/admin/app/@content/recommend-keyword/page.tsx new file mode 100644 index 00000000..bbe79a4e --- /dev/null +++ b/apps/admin/app/@content/recommend-keyword/page.tsx @@ -0,0 +1,3 @@ +export default function Page() { + return
KeywordPage
; +} diff --git a/apps/admin/app/@content/settlement/page.tsx b/apps/admin/app/@content/settlement/page.tsx new file mode 100644 index 00000000..f475defb --- /dev/null +++ b/apps/admin/app/@content/settlement/page.tsx @@ -0,0 +1,3 @@ +export default function Page() { + return
SettlementPage
; +} diff --git a/apps/admin/app/@content/user/page.tsx b/apps/admin/app/@content/user/page.tsx new file mode 100644 index 00000000..0454b1d8 --- /dev/null +++ b/apps/admin/app/@content/user/page.tsx @@ -0,0 +1,3 @@ +export default function Page() { + return
UserPage
; +} diff --git a/apps/admin/app/@sidebar/_components/SideBar.tsx b/apps/admin/app/@sidebar/_components/SideBar.tsx new file mode 100644 index 00000000..b4bb1651 --- /dev/null +++ b/apps/admin/app/@sidebar/_components/SideBar.tsx @@ -0,0 +1,40 @@ +import SideBarTab from './SideBarTab.tsx'; +import Image from 'next/image'; + +export default function SideBar() { + return ( +
+ {/* 헤더 */} +
+ {/* 로고 */} +
+ logo +
+ + {/* 계정정보 */} +
+

어드민

+

admin@admin.com

+
+
+ + {/* 탭 */} +
+ 회원 관리 + 정산 관리 + 래플/이벤트 관리 + 카테고리 관리 + 푸시 알림 관리 + 추천 검색어 관리 + 공지사항 관리 + 메인 페이지 관리 +
+
+ ); +} diff --git a/apps/admin/app/@sidebar/_components/SideBarTab.tsx b/apps/admin/app/@sidebar/_components/SideBarTab.tsx new file mode 100644 index 00000000..578dc403 --- /dev/null +++ b/apps/admin/app/@sidebar/_components/SideBarTab.tsx @@ -0,0 +1,39 @@ +'use client'; + +import Link from 'next/link'; +import {usePathname} from 'next/navigation'; +import {Icon} from '@wraffle/ui'; + +export default function SideBarTab({ + children, + href, +}: { + children: React.ReactNode; + href: string; +}) { + const path = usePathname(); + const isActive = href === path; + return ( + +
+

+ {children} +

+ +
+ + ); +} +`p-2 text-[#4E5968]`; diff --git a/apps/admin/app/@sidebar/page.tsx b/apps/admin/app/@sidebar/page.tsx new file mode 100644 index 00000000..d0c1ef26 --- /dev/null +++ b/apps/admin/app/@sidebar/page.tsx @@ -0,0 +1,11 @@ +import SideBar from './_components/SideBar'; + +export default function Home() { + return ( +
+
+ +
+
+ ); +} diff --git a/apps/admin/app/favicon.ico b/apps/admin/app/favicon.ico deleted file mode 100644 index 718d6fea..00000000 Binary files a/apps/admin/app/favicon.ico and /dev/null differ diff --git a/apps/admin/app/layout.tsx b/apps/admin/app/layout.tsx index 4492c015..849591d2 100644 --- a/apps/admin/app/layout.tsx +++ b/apps/admin/app/layout.tsx @@ -1,22 +1,34 @@ import './globals.css'; import type {Metadata} from 'next'; import {Inter} from 'next/font/google'; +import IconLoader from '@wraffle/ui/src/ui/icon/IconLoader'; const inter = Inter({subsets: ['latin']}); export const metadata: Metadata = { - title: 'Create Next App', - description: 'Generated by create next app', + title: 'Wraffle Admin', + description: 'Wraffle Admin', + icons: { + icon: '/favicon.png', + }, }; export default function RootLayout({ - children, -}: Readonly<{ - children: React.ReactNode; -}>) { + sidebar, + content, +}: { + sidebar: React.ReactNode; + content: React.ReactNode; +}) { return ( - {children} + +
+ {IconLoader} + {sidebar} + {content} +
+ ); } diff --git a/apps/admin/app/page.tsx b/apps/admin/app/page.tsx index 1b82dd78..40323528 100644 --- a/apps/admin/app/page.tsx +++ b/apps/admin/app/page.tsx @@ -1,113 +1,3 @@ -import Image from 'next/image'; - export default function Home() { - return ( -
-
-

- Get started by editing  - app/page.tsx -

-
- - By{' '} - Vercel Logo - -
-
- -
- Next.js Logo -
- -
- -

- Docs{' '} - - -> - -

-

- Find in-depth information about Next.js features and API. -

-
- - -

- Learn{' '} - - -> - -

-

- Learn about Next.js in an interactive course with quizzes! -

-
- - -

- Templates{' '} - - -> - -

-

- Explore starter templates for Next.js. -

-
- - -

- Deploy{' '} - - -> - -

-

- Instantly deploy your Next.js site to a shareable URL with Vercel. -

-
-
-
- ); + return null; } diff --git a/apps/admin/next.config.mjs b/apps/admin/next.config.mjs index be605b4a..9510663a 100644 --- a/apps/admin/next.config.mjs +++ b/apps/admin/next.config.mjs @@ -18,6 +18,9 @@ const nextConfig = { }; return config; }, + experimental: { + optimizePackageImports: ['@wraffle/ui'], + }, }; export default nextConfig; diff --git a/apps/admin/public/chevron-down.svg b/apps/admin/public/chevron-down.svg new file mode 100644 index 00000000..059c7760 --- /dev/null +++ b/apps/admin/public/chevron-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/admin/public/favicon.png b/apps/admin/public/favicon.png new file mode 100644 index 00000000..986a31f9 Binary files /dev/null and b/apps/admin/public/favicon.png differ diff --git a/apps/admin/public/logo.png b/apps/admin/public/logo.png new file mode 100644 index 00000000..3e3f86df Binary files /dev/null and b/apps/admin/public/logo.png differ diff --git a/apps/admin/public/next.svg b/apps/admin/public/next.svg deleted file mode 100644 index 5174b28c..00000000 --- a/apps/admin/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/apps/admin/public/vercel.svg b/apps/admin/public/vercel.svg deleted file mode 100644 index d2f84222..00000000 --- a/apps/admin/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file