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 (
+
+ {/* 헤더 */}
+
+ {/* 로고 */}
+
+
+
+
+ {/* 계정정보 */}
+
+
어드민
+
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 (
+
+
+
+ );
+}
+`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
-
-
-
-
-
-
-
-
-
-
- );
+ 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