diff --git a/package.json b/package.json
index dd0a5d8..198523c 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,7 @@
"react-dom": "^18"
},
"devDependencies": {
+ "@octokit/openapi-types": "^19.0.0",
"@octokit/rest": "^20.0.2",
"@octokit/types": "^12.0.0",
"@tanstack/react-query": "^5.0.0",
@@ -39,7 +40,9 @@
"next-auth": "^4.24.3",
"node-mocks-http": "^1.13.0",
"postcss": "^8",
+ "react-daisyui": "^4.1.2",
"react-icons": "^4.11.0",
+ "react-test-renderer": "^18.2.0",
"sharp": "^0.32.6",
"tailwindcss": "^3",
"typescript": "^5",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3e242e5..b1937d1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -16,6 +16,9 @@ dependencies:
version: 18.2.0(react@18.2.0)
devDependencies:
+ '@octokit/openapi-types':
+ specifier: ^19.0.0
+ version: 19.0.0
'@octokit/rest':
specifier: ^20.0.2
version: 20.0.2
@@ -85,9 +88,15 @@ devDependencies:
postcss:
specifier: ^8
version: 8.4.31
+ react-daisyui:
+ specifier: ^4.1.2
+ version: 4.1.2(daisyui@3.9.3)(react-dom@18.2.0)(react@18.2.0)(tailwindcss@3.3.3)
react-icons:
specifier: ^4.11.0
version: 4.11.0(react@18.2.0)
+ react-test-renderer:
+ specifier: ^18.2.0
+ version: 18.2.0(react@18.2.0)
sharp:
specifier: ^0.32.6
version: 0.32.6
@@ -3792,6 +3801,20 @@ packages:
strip-json-comments: 2.0.1
dev: true
+ /react-daisyui@4.1.2(daisyui@3.9.3)(react-dom@18.2.0)(react@18.2.0)(tailwindcss@3.3.3):
+ resolution: {integrity: sha512-Sx8ziaxKDe/59bw+UxTFOoDSJEuA8iGhgmMbzSAtnhaaZPP20kluHG+1/wY5mBSxfcAuk6oI8fqKcJRp55WzPQ==}
+ peerDependencies:
+ daisyui: ^3.0.22
+ react: '>=16'
+ react-dom: '>=16'
+ tailwindcss: '>=3.2.7'
+ dependencies:
+ daisyui: 3.9.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ tailwindcss: 3.3.3
+ dev: true
+
/react-dom@18.2.0(react@18.2.0):
resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
peerDependencies:
@@ -3826,6 +3849,27 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /react-shallow-renderer@16.15.0(react@18.2.0):
+ resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==}
+ peerDependencies:
+ react: ^16.0.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ object-assign: 4.1.1
+ react: 18.2.0
+ react-is: 18.2.0
+ dev: true
+
+ /react-test-renderer@18.2.0(react@18.2.0):
+ resolution: {integrity: sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==}
+ peerDependencies:
+ react: ^18.2.0
+ dependencies:
+ react: 18.2.0
+ react-is: 18.2.0
+ react-shallow-renderer: 16.15.0(react@18.2.0)
+ scheduler: 0.23.0
+ dev: true
+
/react@18.2.0:
resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
engines: {node: '>=0.10.0'}
diff --git a/src/app/api/github/repo/route.ts b/src/app/api/github/repo/route.ts
new file mode 100644
index 0000000..1edc2cf
--- /dev/null
+++ b/src/app/api/github/repo/route.ts
@@ -0,0 +1,8 @@
+import search from '@/pkg/github/api/search'
+import deleteRepo from '@/pkg/github/api/delete'
+import { patch } from '@/pkg/github/api/patch'
+export {
+ search as GET,
+ deleteRepo as DELETE,
+ patch as PATCH
+}
diff --git a/src/app/api/github/route.ts b/src/app/api/github/route.ts
deleted file mode 100644
index e55a18d..0000000
--- a/src/app/api/github/route.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { deleteRepo } from '@/pkg/github/api/delete';
-import { patch } from '@/pkg/github/api/patch';
-export {
- deleteRepo as DELETE,
- patch as PATCH
-}
diff --git a/src/app/api/github/search/route.ts b/src/app/api/github/search/route.ts
deleted file mode 100644
index e7814ea..0000000
--- a/src/app/api/github/search/route.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import search from '@/pkg/github/api/search'
-
-export {
- search as POST
-}
diff --git a/src/app/auth/layout.tsx b/src/app/auth/layout.tsx
new file mode 100644
index 0000000..a312128
--- /dev/null
+++ b/src/app/auth/layout.tsx
@@ -0,0 +1,10 @@
+import LayoutFull from '@/pkg/ui/views/LayoutFull';
+import { PropsWithChildren } from 'react';
+
+export default function Layout({children}: PropsWithChildren) {
+ return (
+
+ {children}
+
+ )
+}
diff --git a/src/app/dashboard/layout.tsx b/src/app/dashboard/layout.tsx
new file mode 100644
index 0000000..d82d42a
--- /dev/null
+++ b/src/app/dashboard/layout.tsx
@@ -0,0 +1,10 @@
+import LayoutDefault from '@/pkg/ui/views/LayoutDefault';
+import { PropsWithChildren } from 'react';
+
+export default function Layout({children}: PropsWithChildren) {
+ return (
+
+ {children}
+
+ )
+}
diff --git a/src/app/dashboard/page.tsx b/src/app/dashboard/page.tsx
index 2e73c30..9df63cd 100644
--- a/src/app/dashboard/page.tsx
+++ b/src/app/dashboard/page.tsx
@@ -1,6 +1,6 @@
-import Dashboard from '@/pkg/github/components/Dashboard'
+import GitHubDashboard from '@/pkg/github/pages/DashboardPage'
export default function DashboardPage() {
- return
+ return GitHubDashboard()
}
diff --git a/src/app/globals.css b/src/app/globals.css
index a90f074..e406c48 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -2,3 +2,20 @@
@tailwind components;
@tailwind utilities;
+@layer components {
+ .pagination > button {
+ @apply btn btn-xs;
+ }
+
+ .pagination > button.nav {
+ @apply bg-slate-950 text-white;
+ }
+
+ .pagination > button.number {
+ @apply btn-outline;
+ }
+
+ .pagination > button > svg {
+ @apply w-4 h-4;
+ }
+}
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 9334c4e..7410630 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -2,11 +2,8 @@ import type { Metadata } from 'next'
import { Inter } from 'next/font/google'
import './globals.css'
import classNames from 'classnames'
-import ComposeProviders from '@/pkg/ui/ComposeProviders'
-import ThemeProvider from '@/pkg/ui/contexts/ThemeContext'
-import AuthProvider from '@/pkg/auth/context/AuthContext'
-import ToastProvider from '@/pkg/ui/contexts/ToastContext'
-import ReactQueryProvider from '@/pkg/ui/contexts/ReactQueryContext'
+import Layout from '@/pkg/ui/views/Layout'
+import Providers from '@/pkg/ui/Providers'
const inter = Inter({ subsets: ['latin'] })
@@ -27,14 +24,9 @@ export default function RootLayout({
'bg-gray-200 min-h-screen': true
})}
>
-
+
{children}
-
+