From a4832dcf767aa41f842998012126a597cd78e921 Mon Sep 17 00:00:00 2001 From: Archiruz Date: Sun, 29 Dec 2024 23:10:43 +0700 Subject: [PATCH 1/8] style: revised editorial and images for landing page --- app/(user)/page.tsx | 35 ++++++++++++------ .../{apa-itu-gdsc.png => apa-itu-gdgoc.png} | Bin assets/backup/ml-ai.png | Bin 0 -> 16949 bytes assets/backup/mobile-dev.png | Bin 0 -> 13512 bytes assets/backup/web-dev.png | Bin 0 -> 20312 bytes assets/{gdsc-global.png => gdg-global.png} | Bin assets/gdsc-logo-light.png | Bin 17584 -> 22857 bytes assets/ml-ai.png | Bin 16949 -> 18382 bytes assets/mobile-dev.png | Bin 13512 -> 16251 bytes assets/ui-ux.png | Bin 0 -> 18251 bytes assets/web-dev.png | Bin 20312 -> 20330 bytes components/Navbar.jsx | 4 +- 12 files changed, 26 insertions(+), 13 deletions(-) rename assets/{apa-itu-gdsc.png => apa-itu-gdgoc.png} (100%) create mode 100644 assets/backup/ml-ai.png create mode 100644 assets/backup/mobile-dev.png create mode 100644 assets/backup/web-dev.png rename assets/{gdsc-global.png => gdg-global.png} (100%) create mode 100644 assets/ui-ux.png diff --git a/app/(user)/page.tsx b/app/(user)/page.tsx index 8fe6f3a..09b7701 100644 --- a/app/(user)/page.tsx +++ b/app/(user)/page.tsx @@ -1,15 +1,16 @@ // app/page.tsx -import ArticleCard from "@/components/ArticleCard"; +import ArticleCard from "@/components/ArticleCard"; import Image from "next/image"; import Link from "next/link"; import fs from "fs"; import path from "path"; import matter from "gray-matter"; -import HeroImage from "@/assets/gdsc-global.png"; -import ApaItu from "@/assets/apa-itu-gdsc.png"; +import HeroImage from "@/assets/gdg-global.png"; +import ApaItu from "@/assets/apa-itu-gdgoc.png"; import mlai from "@/assets/ml-ai.png"; import mobiledev from "@/assets/mobile-dev.png"; import webdev from "@/assets/web-dev.png"; +import uiux from "@/assets/ui-ux.png"; import Head from "next/head"; // Utility function to fetch posts @@ -77,7 +78,7 @@ export default async function Home() { return (
- Beranda | GDSC Universitas Negeri Malang + Beranda | GDGoC Universitas Negeri Malang

#WeGrowAsOne☝

- Official Page of Google Developer Student Clubs + Official Page of Google Developer Groups on Campus
Universitas Negeri Malang

@@ -106,14 +107,14 @@ export default async function Home() {
- {/* Apa itu GDSC */} + {/* Apa itu GDGoC */}
- apa-itu-gdsc + apa-itu-gdgoc
-

Apa itu GDSC?

+

Apa itu GDGoC?

- Google Developer Student Clubs (GDSC) adalah komunitas pengembang berbasis universitas yang diinisiasi oleh Google. Komunitas ini menyediakan lingkungan belajar sesama rekan bagi mahasiswa yang tertarik dengan teknologi, mahasiswa dari jurusan apa pun dipersilakan untuk bergabung sebagai member. + Google Developer Groups on Campus (GDGoC) adalah komunitas pengembang berbasis universitas yang diinisiasi oleh Google. Komunitas ini menyediakan lingkungan belajar sesama rekan bagi mahasiswa yang tertarik dengan teknologi, mahasiswa dari jurusan apa pun dipersilakan untuk bergabung sebagai member.

@@ -128,9 +129,9 @@ export default async function Home() {

- Yang Dipelajari di GDSC UM + Yang Dipelajari di GDGoC UM

-
+
web-dev

Web Development

@@ -161,6 +162,18 @@ export default async function Home() {
+
+ mobile-dev +

UI/UX

+
+
+ Visual Design +
+
+ Wireframing +
+
+
ml-ai

ML/AI

diff --git a/assets/apa-itu-gdsc.png b/assets/apa-itu-gdgoc.png similarity index 100% rename from assets/apa-itu-gdsc.png rename to assets/apa-itu-gdgoc.png diff --git a/assets/backup/ml-ai.png b/assets/backup/ml-ai.png new file mode 100644 index 0000000000000000000000000000000000000000..721d600574adbaf5f2e31011c799b1136149681c GIT binary patch literal 16949 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 M07*qoM6N<$g2!#vR{#J2 literal 0 HcmV?d00001 diff --git a/assets/backup/mobile-dev.png b/assets/backup/mobile-dev.png new file mode 100644 index 0000000000000000000000000000000000000000..f112f6b349e4135457989c52a962e9f5a9ec35f6 GIT binary patch literal 13512 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 literal 0 HcmV?d00001 diff --git a/assets/gdsc-global.png b/assets/gdg-global.png similarity index 100% rename from assets/gdsc-global.png rename to assets/gdg-global.png diff --git a/assets/gdsc-logo-light.png b/assets/gdsc-logo-light.png index ee6c85b3961f7e82b56cbefb3d3aaddc143961dc..1e7d4205fae10ae73686018e7292bb29f331be6a 100644 GIT binary patch literal 22857 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∨l0;-Wj(bYvMLInb-k0c7M2Gi?1Me96v|DUdDXuo>ul-3wJ7Wc7 zzu1=4B@^?C!$XDYRWT+J7Z98*W!{U|<5z0TP*6$Yp3XwRD;Xte`oV|xF8&l@bm0Y8 zN=TdZr)%gNor5w`KfV-yHru2zHd)GS!n170!h^0(_8NJI%V zg{4h^J+R?!W2g2-?i0;M0Ccf{>D)dkBV0t{mrjxVT?WUc$xD%UOwxF#Z*=doAqlon zb3FLZTe?YgSI;4T+mDSOel8^h%}nG&R|fa&L7)Qev}J7{5_T~zyqcz!>D51hKzixx zieJ5W0B9*Q&X)pO=<-LvBOgK)gYFC$q)*Hr3hvS#$}wi_+wtO! zsRG4bLRVL^$Xg4;VJRa3X)go1%g|*AAqT%e4>tnGVuE<3!wWa|Kp@aA&Hq2v`8Dsez`>Gwxit#% z)yCDl*L*cXr6yfNfwfnYWbWjx#?abb?^+PQ`yCg=iKGt6_6-!h|94*T|DE>``Rg?> zpe}QR?nL=iGv*y@V6UV`(mTWvTYp1jNpv((130=$F<E2_GlT(&W S>8LA`X^;ly`n9?!?Ee6BX@vy< literal 17584 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 diff --git a/assets/ml-ai.png b/assets/ml-ai.png index 721d600574adbaf5f2e31011c799b1136149681c..01c082d4d9bcc9ce48c97685c5f1b42429824ee0 100644 GIT binary patch literal 18382 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 M07*qoM6N<$g2!#vR{#J2 diff --git a/assets/mobile-dev.png b/assets/mobile-dev.png index f112f6b349e4135457989c52a962e9f5a9ec35f6..1e244ff95149b34333b7f18dcf8c3a846ecfd00e 100644 GIT binary patch literal 16251 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 literal 13512 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 KZ224I*1rK&>rPt$ literal 20312 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 diff --git a/components/Navbar.jsx b/components/Navbar.jsx index 7dd29e8..c1b868a 100644 --- a/components/Navbar.jsx +++ b/components/Navbar.jsx @@ -30,12 +30,12 @@ const Navbar = () => {

-
+
logo
From a2e608c0ad649d1d81f4b045fce286c2703c9376 Mon Sep 17 00:00:00 2001 From: Archiruz Date: Sun, 29 Dec 2024 23:19:30 +0700 Subject: [PATCH 2/8] style: revised footer logo --- app/(user)/page.tsx | 2 +- components/Footer.jsx | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/(user)/page.tsx b/app/(user)/page.tsx index 09b7701..a6eea9e 100644 --- a/app/(user)/page.tsx +++ b/app/(user)/page.tsx @@ -209,7 +209,7 @@ export default async function Home() { ))}
Lihat artikel lainnya diff --git a/components/Footer.jsx b/components/Footer.jsx index 0957447..3a586bd 100644 --- a/components/Footer.jsx +++ b/components/Footer.jsx @@ -1,4 +1,4 @@ -import LogoGDSC from "@/assets/logo_gdsc.svg"; +import LogoCommunity from "@/assets/gdsc-logo-light.png"; import Image from "next/image"; import Link from "next/link"; import React from "react"; @@ -35,12 +35,12 @@ const Footer = () => { href={"/"} className="flex title-font font-medium items-center md:justify-start justify-center text-white" > -
+
logo @@ -81,7 +81,7 @@ const Footer = () => {

- © 2023 GDSC UM + © 2024 GDSC UM

From 6267b7fddfdbd3481f539f3364974510dfffc531 Mon Sep 17 00:00:00 2001 From: Archiruz Date: Sun, 29 Dec 2024 23:24:38 +0700 Subject: [PATCH 3/8] style: update references from GDSC to GDGoC in profile page --- app/(user)/profile/page.tsx | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/app/(user)/profile/page.tsx b/app/(user)/profile/page.tsx index a9e5ac2..d04c114 100644 --- a/app/(user)/profile/page.tsx +++ b/app/(user)/profile/page.tsx @@ -8,7 +8,7 @@ function page() { return (
- Tentang GDSC UM + Tentang GDGoC UM

- Tentang GDSC Universitas Negeri Malang + Tentang GDGoC Universitas Negeri Malang

- Google Developer Student Clubs (GDSC) adalah komunitas pengembang + Google Developer Groups on Campus (GDGoC) adalah komunitas pengembang berbasis universitas yang diinisiasi oleh Google. Komunitas ini menyediakan lingkungan belajar sesama rekan bagi mahasiswa yang tertarik dengan teknologi, mahasiswa dari jurusan apa pun dipersilakan - untuk bergabung sebagai member. Mulai tahun 2022, GDSC dengan bangga - hadir di Universitas Negeri Malang dengan nama Google Developer - Student Clubs Universitas Negeri Malang (GDSC UM). GDSC UM hadir untuk + untuk bergabung sebagai member. Mulai tahun 2022, kami dengan bangga + hadir di Universitas Negeri Malang dengan nama awal Google Developer + Student Clubs Universitas Negeri Malang (GDSC UM). Pada tahun 2024 + GDSC UM berganti nama menjadi GDGoC UM. Komunitas ini hadir untuk menampung, mengembangkan, serta menyalurkan bakat dan minat Mahasiswa Universitas Negeri Malang di bidang pengembangan teknologi. Dalam - melaksanakan misi tersebut, GDSC UM memiliki pengurus yang disebut + melaksanakan misi tersebut, GDGoC UM memiliki pengurus yang disebut Core Team.

-

Struktur GDSC UM

+

Struktur GDGoC UM

- https://gdsc.community.dev/universitas-negeri-malang/ + https://gdg.community.dev/gdg-on-campus-universitas-negeri-malang-malang-indonesia/
From d81c7c7d182118ef180779583dafeb4431583cd7 Mon Sep 17 00:00:00 2001 From: Alvalen Date: Mon, 30 Dec 2024 21:53:46 +0700 Subject: [PATCH 4/8] feat: add Prisma schema and environment configuration --- .env.example | 2 + .gitignore | 2 +- package.json | 4 + pnpm-lock.yaml | 469 ++++++++++++++++++++++++++++++++++++++++++- prisma/schema.prisma | 14 ++ 5 files changed, 488 insertions(+), 3 deletions(-) create mode 100644 .env.example create mode 100644 prisma/schema.prisma diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..e1037e9 --- /dev/null +++ b/.env.example @@ -0,0 +1,2 @@ +DATABASE_URL="mysql://username:password@host:port/database" +NEXTAUTH_SECRET="your-secret-key" diff --git a/.gitignore b/.gitignore index d32cc78..14e8ef7 100644 --- a/.gitignore +++ b/.gitignore @@ -30,7 +30,7 @@ yarn-debug.log* yarn-error.log* # env files (can opt-in for committing if needed) -.env* +.env # vercel .vercel diff --git a/package.json b/package.json index 3d860ec..83efc54 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ }, "dependencies": { "@hookform/resolvers": "^3.9.1", + "@prisma/client": "^6.1.0", "@radix-ui/react-avatar": "^1.1.1", "@radix-ui/react-dialog": "^1.1.4", "@radix-ui/react-dropdown-menu": "^2.1.2", @@ -20,11 +21,13 @@ "@radix-ui/react-slot": "^1.1.0", "@radix-ui/react-tooltip": "^1.1.6", "@tanstack/react-table": "^8.20.6", + "bcrypt": "^5.1.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "gray-matter": "^4.0.3", "lucide-react": "^0.468.0", "next": "15.0.4", + "next-auth": "^4.24.11", "react": "^19.0.0", "react-dom": "^19.0.0", "react-hook-form": "^7.54.0", @@ -41,6 +44,7 @@ "eslint": "^8", "eslint-config-next": "15.0.4", "postcss": "^8", + "prisma": "^6.1.0", "tailwindcss": "^3.4.1", "typescript": "^5" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b964c25..b2b8962 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@hookform/resolvers': specifier: ^3.9.1 version: 3.9.1(react-hook-form@7.54.0(react@19.0.0)) + '@prisma/client': + specifier: ^6.1.0 + version: 6.1.0(prisma@6.1.0) '@radix-ui/react-avatar': specifier: ^1.1.1 version: 1.1.1(@types/react-dom@19.0.2(@types/react@19.0.1))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -41,6 +44,9 @@ importers: '@tanstack/react-table': specifier: ^8.20.6 version: 8.20.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + bcrypt: + specifier: ^5.1.1 + version: 5.1.1 class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -56,6 +62,9 @@ importers: next: specifier: 15.0.4 version: 15.0.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next-auth: + specifier: ^4.24.11 + version: 4.24.11(next@15.0.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: specifier: ^19.0.0 version: 19.0.0 @@ -99,6 +108,9 @@ importers: postcss: specifier: ^8 version: 8.4.49 + prisma: + specifier: ^6.1.0 + version: 6.1.0 tailwindcss: specifier: ^3.4.1 version: 3.4.16 @@ -112,6 +124,10 @@ packages: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} @@ -293,6 +309,10 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@mapbox/node-pre-gyp@1.0.11': + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} + hasBin: true + '@next/env@15.0.4': resolution: {integrity: sha512-WNRvtgnRVDD4oM8gbUcRc27IAhaL4eXQ/2ovGbgLnPGUvdyDr8UdXP4Q/IBDdAdojnD2eScryIDirv0YUCjUVw==} @@ -363,10 +383,37 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} + '@panva/hkdf@1.2.1': + resolution: {integrity: sha512-6oclG6Y3PiDFcoyk8srjLfVKyMfVCKJ27JwNPViuXziFpmdz+MZnZN/aKY0JGXgYuO/VghU0jcOAZgWXZ1Dmrw==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@prisma/client@6.1.0': + resolution: {integrity: sha512-AbQYc5+EJKm1Ydfq3KxwcGiy7wIbm4/QbjCKWWoNROtvy7d6a3gmAGkKjK0iUCzh+rHV8xDhD5Cge8ke/kiy5Q==} + engines: {node: '>=18.18'} + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + + '@prisma/debug@6.1.0': + resolution: {integrity: sha512-0himsvcM4DGBTtvXkd2Tggv6sl2JyUYLzEGXXleFY+7Kp6rZeSS3hiTW9mwtUlXrwYbJP6pwlVNB7jYElrjWUg==} + + '@prisma/engines-version@6.1.0-21.11f085a2012c0f4778414c8db2651556ee0ef959': + resolution: {integrity: sha512-PdJqmYM2Fd8K0weOOtQThWylwjsDlTig+8Pcg47/jszMuLL9iLIaygC3cjWJLda69siRW4STlCTMSgOjZzvKPQ==} + + '@prisma/engines@6.1.0': + resolution: {integrity: sha512-GnYJbCiep3Vyr1P/415ReYrgJUjP79fBNc1wCo7NP6Eia0CzL2Ot9vK7Infczv3oK7JLrCcawOSAxFxNFsAERQ==} + + '@prisma/fetch-engine@6.1.0': + resolution: {integrity: sha512-asdFi7TvPlEZ8CzSZ/+Du5wZ27q6OJbRSXh+S8ISZguu+S9KtS/gP7NeXceZyb1Jv1SM1S5YfiCv+STDsG6rrg==} + + '@prisma/get-platform@6.1.0': + resolution: {integrity: sha512-ia8bNjboBoHkmKGGaWtqtlgQOhCi7+f85aOkPJKgNwWvYrT6l78KgojLekE8zMhVk0R9lWcifV0Pf8l3/15V0Q==} + '@radix-ui/number@1.1.0': resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==} @@ -974,6 +1021,9 @@ packages: '@ungap/structured-clone@1.2.1': resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -984,6 +1034,10 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -1010,6 +1064,14 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} + aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + + are-we-there-yet@2.0.0: + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} + deprecated: This package is no longer supported. + arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -1077,6 +1139,10 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + bcrypt@5.1.1: + resolution: {integrity: sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==} + engines: {node: '>= 10.0.0'} + binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} @@ -1126,6 +1192,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + class-variance-authority@0.7.1: resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} @@ -1146,6 +1216,10 @@ packages: color-string@1.9.1: resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + color@4.2.3: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} @@ -1157,6 +1231,13 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -1212,6 +1293,9 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + detect-libc@2.0.3: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} @@ -1452,6 +1536,10 @@ packages: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -1470,6 +1558,11 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + gauge@3.0.2: + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} + deprecated: This package is no longer supported. + get-intrinsic@1.2.6: resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} engines: {node: '>= 0.4'} @@ -1545,10 +1638,17 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -1713,6 +1813,9 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true + jose@4.15.9: + resolution: {integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -1780,11 +1883,19 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + lucide-react@0.468.0: resolution: {integrity: sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + math-intrinsics@1.0.0: resolution: {integrity: sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==} engines: {node: '>= 0.4'} @@ -1807,10 +1918,27 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1825,6 +1953,20 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + next-auth@4.24.11: + resolution: {integrity: sha512-pCFXzIDQX7xmHFs4KVH4luCjaCbuPRtZ9oBUjUhOk84mZ9WVPf94n87TxYI4rSRf9HmfHEF8Yep3JrYDVOo3Cw==} + peerDependencies: + '@auth/core': 0.34.2 + next: ^12.2.5 || ^13 || ^14 || ^15 + nodemailer: ^6.6.5 + react: ^17.0.2 || ^18 || ^19 + react-dom: ^17.0.2 || ^18 || ^19 + peerDependenciesMeta: + '@auth/core': + optional: true + nodemailer: + optional: true + next@15.0.4: resolution: {integrity: sha512-nuy8FH6M1FG0lktGotamQDCXhh5hZ19Vo0ht1AOIQWrYJLP598TIUagKtvJrfJ5AGwB/WmDqkKaKhMpVifvGPA==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} @@ -1846,14 +1988,42 @@ packages: sass: optional: true + node-addon-api@5.1.0: + resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + npmlog@5.0.1: + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. + + oauth@0.9.15: + resolution: {integrity: sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + object-hash@2.2.0: + resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} + engines: {node: '>= 6'} + object-hash@3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} @@ -1886,9 +2056,16 @@ packages: resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} + oidc-token-hash@5.0.3: + resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==} + engines: {node: ^10.13.0 || >=12.0.0} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + openid-client@5.7.1: + resolution: {integrity: sha512-jDBPgSVfTnkIh71Hg9pRvtJc6wTwqjRkN88+gCFtYWrlP4Yx2Dsrow8uPi3qLr/aeymPF3o2+dS+wOpglK04ew==} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -1991,10 +2168,26 @@ packages: resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} + preact-render-to-string@5.2.6: + resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==} + peerDependencies: + preact: '>=10' + + preact@10.25.4: + resolution: {integrity: sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA==} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + pretty-format@3.8.0: + resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} + + prisma@6.1.0: + resolution: {integrity: sha512-aFI3Yi+ApUxkwCJJwyQSwpyzUX7YX3ihzuHNHOyv4GJg3X5tQsmRaJEnZ+ZyfHpMtnyahhmXVfbTZ+lS8ZtfKw==} + engines: {node: '>=18.18'} + hasBin: true + prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} @@ -2086,6 +2279,10 @@ packages: read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -2094,6 +2291,9 @@ packages: resolution: {integrity: sha512-B5dj6usc5dkk8uFliwjwDHM8To5/QwdKz9JcBZ8Ic4G1f0YmeeJTtE/ZTdgRFPAfxZFiUaPhZ1Jcs4qeagItGQ==} engines: {node: '>= 0.4'} + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + regexp.prototype.flags@1.5.3: resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} engines: {node: '>= 0.4'} @@ -2129,6 +2329,9 @@ packages: resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-regex-test@1.0.3: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} @@ -2149,6 +2352,9 @@ packages: engines: {node: '>=10'} hasBin: true + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -2185,6 +2391,9 @@ packages: resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} engines: {node: '>= 0.4'} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -2237,6 +2446,9 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -2303,6 +2515,10 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -2317,6 +2533,9 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + ts-api-utils@1.4.3: resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} @@ -2407,6 +2626,16 @@ packages: resolution: {integrity: sha512-d0z310fCWv5dJwnX1Y/MncBAqGMKEzlBb1AOf7z9K8ALnd0utBX/msg/fA0+sbyN1ihbMsLhrBlnl1ak7Wa0rg==} hasBin: true + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + which-boxed-primitive@1.1.0: resolution: {integrity: sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==} engines: {node: '>= 0.4'} @@ -2428,6 +2657,9 @@ packages: engines: {node: '>= 8'} hasBin: true + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} @@ -2443,6 +2675,9 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yaml@2.6.1: resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} engines: {node: '>= 14'} @@ -2459,6 +2694,10 @@ snapshots: '@alloc/quick-lru@5.2.0': {} + '@babel/runtime@7.26.0': + dependencies: + regenerator-runtime: 0.14.1 + '@emnapi/runtime@1.3.1': dependencies: tslib: 2.8.1 @@ -2621,6 +2860,21 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@mapbox/node-pre-gyp@1.0.11': + dependencies: + detect-libc: 2.0.3 + https-proxy-agent: 5.0.1 + make-dir: 3.1.0 + node-fetch: 2.7.0 + nopt: 5.0.0 + npmlog: 5.0.1 + rimraf: 3.0.2 + semver: 7.6.3 + tar: 6.2.1 + transitivePeerDependencies: + - encoding + - supports-color + '@next/env@15.0.4': {} '@next/eslint-plugin-next@15.0.4': @@ -2665,9 +2919,36 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} + '@panva/hkdf@1.2.1': {} + '@pkgjs/parseargs@0.11.0': optional: true + '@prisma/client@6.1.0(prisma@6.1.0)': + optionalDependencies: + prisma: 6.1.0 + + '@prisma/debug@6.1.0': {} + + '@prisma/engines-version@6.1.0-21.11f085a2012c0f4778414c8db2651556ee0ef959': {} + + '@prisma/engines@6.1.0': + dependencies: + '@prisma/debug': 6.1.0 + '@prisma/engines-version': 6.1.0-21.11f085a2012c0f4778414c8db2651556ee0ef959 + '@prisma/fetch-engine': 6.1.0 + '@prisma/get-platform': 6.1.0 + + '@prisma/fetch-engine@6.1.0': + dependencies: + '@prisma/debug': 6.1.0 + '@prisma/engines-version': 6.1.0-21.11f085a2012c0f4778414c8db2651556ee0ef959 + '@prisma/get-platform': 6.1.0 + + '@prisma/get-platform@6.1.0': + dependencies: + '@prisma/debug': 6.1.0 + '@radix-ui/number@1.1.0': {} '@radix-ui/primitive@1.1.0': {} @@ -3277,12 +3558,20 @@ snapshots: '@ungap/structured-clone@1.2.1': {} + abbrev@1.1.1: {} + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: acorn: 8.14.0 acorn@8.14.0: {} + agent-base@6.0.2: + dependencies: + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -3307,6 +3596,13 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 + aproba@2.0.0: {} + + are-we-there-yet@2.0.0: + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + arg@5.0.2: {} argparse@1.0.10: @@ -3398,6 +3694,14 @@ snapshots: balanced-match@1.0.2: {} + bcrypt@5.1.1: + dependencies: + '@mapbox/node-pre-gyp': 1.0.11 + node-addon-api: 5.1.0 + transitivePeerDependencies: + - encoding + - supports-color + binary-extensions@2.3.0: {} brace-expansion@1.1.11: @@ -3457,6 +3761,8 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chownr@2.0.0: {} + class-variance-authority@0.7.1: dependencies: clsx: 2.1.1 @@ -3477,6 +3783,8 @@ snapshots: simple-swizzle: 0.2.2 optional: true + color-support@1.1.3: {} + color@4.2.3: dependencies: color-convert: 2.0.1 @@ -3487,6 +3795,10 @@ snapshots: concat-map@0.0.1: {} + console-control-strings@1.1.0: {} + + cookie@0.7.2: {} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -3539,8 +3851,9 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 - detect-libc@2.0.3: - optional: true + delegates@1.0.0: {} + + detect-libc@2.0.3: {} detect-node-es@1.1.0: {} @@ -3927,6 +4240,10 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -3943,6 +4260,18 @@ snapshots: functions-have-names@1.2.3: {} + gauge@3.0.2: + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + object-assign: 4.1.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + get-intrinsic@1.2.6: dependencies: call-bind-apply-helpers: 1.0.1 @@ -4034,10 +4363,19 @@ snapshots: dependencies: has-symbols: 1.1.0 + has-unicode@2.0.1: {} + hasown@2.0.2: dependencies: function-bind: 1.1.2 + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + ignore@5.3.2: {} import-fresh@3.3.0: @@ -4197,6 +4535,8 @@ snapshots: jiti@1.21.6: {} + jose@4.15.9: {} + js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -4258,10 +4598,18 @@ snapshots: lru-cache@10.4.3: {} + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + lucide-react@0.468.0(react@19.0.0): dependencies: react: 19.0.0 + make-dir@3.1.0: + dependencies: + semver: 6.3.1 + math-intrinsics@1.0.0: {} merge2@1.4.1: {} @@ -4281,8 +4629,21 @@ snapshots: minimist@1.2.8: {} + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + minipass@7.1.2: {} + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + mkdirp@1.0.4: {} + ms@2.1.3: {} mz@2.7.0: @@ -4295,6 +4656,21 @@ snapshots: natural-compare@1.4.0: {} + next-auth@4.24.11(next@15.0.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + '@babel/runtime': 7.26.0 + '@panva/hkdf': 1.2.1 + cookie: 0.7.2 + jose: 4.15.9 + next: 15.0.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + oauth: 0.9.15 + openid-client: 5.7.1 + preact: 10.25.4 + preact-render-to-string: 5.2.6(preact@10.25.4) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + uuid: 8.3.2 + next@15.0.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@next/env': 15.0.4 @@ -4320,10 +4696,31 @@ snapshots: - '@babel/core' - babel-plugin-macros + node-addon-api@5.1.0: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + nopt@5.0.0: + dependencies: + abbrev: 1.1.1 + normalize-path@3.0.0: {} + npmlog@5.0.1: + dependencies: + are-we-there-yet: 2.0.0 + console-control-strings: 1.1.0 + gauge: 3.0.2 + set-blocking: 2.0.0 + + oauth@0.9.15: {} + object-assign@4.1.1: {} + object-hash@2.2.0: {} + object-hash@3.0.0: {} object-inspect@1.13.3: {} @@ -4362,10 +4759,19 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.0.0 + oidc-token-hash@5.0.3: {} + once@1.4.0: dependencies: wrappy: 1.0.2 + openid-client@5.7.1: + dependencies: + jose: 4.15.9 + lru-cache: 6.0.0 + object-hash: 2.2.0 + oidc-token-hash: 5.0.3 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -4455,8 +4861,23 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + preact-render-to-string@5.2.6(preact@10.25.4): + dependencies: + preact: 10.25.4 + pretty-format: 3.8.0 + + preact@10.25.4: {} + prelude-ls@1.2.1: {} + pretty-format@3.8.0: {} + + prisma@6.1.0: + dependencies: + '@prisma/engines': 6.1.0 + optionalDependencies: + fsevents: 2.3.3 + prop-types@15.8.1: dependencies: loose-envify: 1.4.0 @@ -4539,6 +4960,12 @@ snapshots: dependencies: pify: 2.3.0 + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + readdirp@3.6.0: dependencies: picomatch: 2.3.1 @@ -4554,6 +4981,8 @@ snapshots: gopd: 1.2.0 which-builtin-type: 1.2.0 + regenerator-runtime@0.14.1: {} + regexp.prototype.flags@1.5.3: dependencies: call-bind: 1.0.8 @@ -4594,6 +5023,8 @@ snapshots: has-symbols: 1.1.0 isarray: 2.0.5 + safe-buffer@5.2.1: {} + safe-regex-test@1.0.3: dependencies: call-bind: 1.0.8 @@ -4611,6 +5042,8 @@ snapshots: semver@7.6.3: {} + set-blocking@2.0.0: {} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -4688,6 +5121,8 @@ snapshots: side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 + signal-exit@3.0.7: {} + signal-exit@4.1.0: {} simple-swizzle@0.2.2: @@ -4764,6 +5199,10 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.0.0 + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -4836,6 +5275,15 @@ snapshots: tapable@2.2.1: {} + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + text-table@0.2.0: {} thenify-all@1.6.0: @@ -4850,6 +5298,8 @@ snapshots: dependencies: is-number: 7.0.0 + tr46@0.0.3: {} + ts-api-utils@1.4.3(typescript@5.7.2): dependencies: typescript: 5.7.2 @@ -4945,6 +5395,15 @@ snapshots: uuid@11.0.3: {} + uuid@8.3.2: {} + + webidl-conversions@3.0.1: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + which-boxed-primitive@1.1.0: dependencies: is-bigint: 1.1.0 @@ -4988,6 +5447,10 @@ snapshots: dependencies: isexe: 2.0.0 + wide-align@1.1.5: + dependencies: + string-width: 4.2.3 + word-wrap@1.2.5: {} wrap-ansi@7.0.0: @@ -5004,6 +5467,8 @@ snapshots: wrappy@1.0.2: {} + yallist@4.0.0: {} + yaml@2.6.1: {} yocto-queue@0.1.0: {} diff --git a/prisma/schema.prisma b/prisma/schema.prisma new file mode 100644 index 0000000..29f0940 --- /dev/null +++ b/prisma/schema.prisma @@ -0,0 +1,14 @@ +// This is your Prisma schema file, +// learn more about it in the docs: https://pris.ly/d/prisma-schema + +// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions? +// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init + +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "mysql" + url = env("DATABASE_URL") +} From b1662ddd79607c6fca171c3631260ba8ee92691d Mon Sep 17 00:00:00 2001 From: Alvalen Date: Wed, 1 Jan 2025 13:35:46 +0700 Subject: [PATCH 5/8] fix: base layout, navbar, footer --- app/(user)/layout.tsx | 12 ++++++++++ app/_app.tsx | 53 ------------------------------------------- app/_document.tsx | 19 ---------------- app/layout.tsx | 21 +++++------------ 4 files changed, 18 insertions(+), 87 deletions(-) create mode 100644 app/(user)/layout.tsx delete mode 100644 app/_app.tsx delete mode 100644 app/_document.tsx diff --git a/app/(user)/layout.tsx b/app/(user)/layout.tsx new file mode 100644 index 0000000..89fbfa5 --- /dev/null +++ b/app/(user)/layout.tsx @@ -0,0 +1,12 @@ +import Navbar from "@/components/Navbar"; +import Footer from "@/components/Footer"; + +export default function Layout({ children }: { children: React.ReactNode }) { + return ( +
+ +
{children}
+
+
+ ); +} \ No newline at end of file diff --git a/app/_app.tsx b/app/_app.tsx deleted file mode 100644 index a8be272..0000000 --- a/app/_app.tsx +++ /dev/null @@ -1,53 +0,0 @@ -// pages/_app.tsx -import "@/styles/globals.css"; -import Navbar from "@/components/Navbar"; -import Footer from "@/components/Footer"; -import { AppProps } from "next/app"; -import localFont from "next/font/local"; - -const googlesans = localFont({ - src: [ - { - path: "../assets/Fonts/GoogleSans-Regular-v1.27.ttf", - weight: "400", - style: "normal", - }, - { - path: "../assets/Fonts/GoogleSans-Italic-v1.27.ttf", - weight: "400", - style: "italic", - }, - { - path: "../assets/Fonts/GoogleSans-Medium-v1.27.ttf", - weight: "500", - style: "normal", - }, - { - path: "../assets/Fonts/GoogleSans-MediumItalic-v1.27.ttf", - weight: "500", - style: "italic", - }, - { - path: "../assets/Fonts/GoogleSans-Bold-v1.27.ttf", - weight: "700", - style: "normal", - }, - { - path: "../assets/Fonts/GoogleSans-BoldItalic-v1.27.ttf", - weight: "700", - style: "italic", - }, - ], -}); - -export default function App({ Component, pageProps }: AppProps) { - return ( -
- -
- -
-
-
- ); -} diff --git a/app/_document.tsx b/app/_document.tsx deleted file mode 100644 index 1f2a00d..0000000 --- a/app/_document.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import Footer from "@/components/Footer"; -import Navbar from "@/components/Navbar"; -import { Head, Html, Main, NextScript } from "next/document"; - -export default function Document() { - return ( - - - - - - -
- -
- - - ); -} diff --git a/app/layout.tsx b/app/layout.tsx index a4d2a16..88957c4 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,8 +1,5 @@ -"use client" -import Navbar from "@/components/Navbar"; // Pastikan jalur ini benar -import Footer from "@/components/Footer"; // Pastikan jalur ini benar import localFont from "next/font/local"; -import { usePathname } from "next/navigation"; // Import usePathname untuk mengakses path + import "./globals.css"; const geistSans = localFont({ @@ -26,21 +23,15 @@ export default function RootLayout({ }: { children: React.ReactNode; }) { - // Menggunakan useRouter untuk mendapatkan path saat ini - const pathname = usePathname(); - - // Mengecek apakah path mengandung "/admin" - const isAdminPage = pathname.startsWith('/admin/'); return ( - + + + + - {/* Navbar dan Footer hanya akan tampil jika bukan di halaman admin */} - {!isAdminPage && } + className={`${geistSans.variable} ${geistMono.variable} antialiased`}>
{children}
- {!isAdminPage &&
} ); From de8c9ac24c885d3e3a3840b4a953b71fbbe8e9ce Mon Sep 17 00:00:00 2001 From: Alvalen Date: Wed, 1 Jan 2025 16:14:07 +0700 Subject: [PATCH 6/8] feat: add Prisma setup with User model and seed script --- lib/prisma.ts | 11 ++ package.json | 11 +- pnpm-lock.yaml | 180 +++++++++++++++++- .../20241230150056_init/migration.sql | 15 ++ prisma/migrations/migration_lock.toml | 3 + prisma/schema.prisma | 19 ++ prisma/seed.ts | 29 +++ 7 files changed, 257 insertions(+), 11 deletions(-) create mode 100644 lib/prisma.ts create mode 100644 prisma/migrations/20241230150056_init/migration.sql create mode 100644 prisma/migrations/migration_lock.toml create mode 100644 prisma/seed.ts diff --git a/lib/prisma.ts b/lib/prisma.ts new file mode 100644 index 0000000..3ce99fb --- /dev/null +++ b/lib/prisma.ts @@ -0,0 +1,11 @@ +import { PrismaClient } from "@prisma/client"; + +const globalForPrisma = global as unknown as { prisma: PrismaClient }; + +export const prisma = + globalForPrisma.prisma || + new PrismaClient({ + log: ["query"], + }); + +if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma; diff --git a/package.json b/package.json index 83efc54..58ec57c 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,9 @@ "name": "homesite-refactor", "version": "0.1.0", "private": true, + "prisma": { + "seed": "ts-node --compiler-options {\"module\":\"CommonJS\"} prisma/seed.ts" + }, "scripts": { "dev": "next dev --turbopack", "build": "next build", @@ -10,6 +13,7 @@ }, "dependencies": { "@hookform/resolvers": "^3.9.1", + "@next-auth/prisma-adapter": "^1.0.7", "@prisma/client": "^6.1.0", "@radix-ui/react-avatar": "^1.1.1", "@radix-ui/react-dialog": "^1.1.4", @@ -31,6 +35,7 @@ "react": "^19.0.0", "react-dom": "^19.0.0", "react-hook-form": "^7.54.0", + "react-hot-toast": "^2.5.1", "sweetalert2": "^11.15.3", "tailwind-merge": "^2.5.5", "tailwindcss-animate": "^1.0.7", @@ -38,7 +43,8 @@ "zod": "^3.24.1" }, "devDependencies": { - "@types/node": "^20", + "@types/bcrypt": "^5.0.2", + "@types/node": "^20.17.10", "@types/react": "^19", "@types/react-dom": "^19", "eslint": "^8", @@ -46,6 +52,7 @@ "postcss": "^8", "prisma": "^6.1.0", "tailwindcss": "^3.4.1", - "typescript": "^5" + "ts-node": "^10.9.2", + "typescript": "^5.7.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b2b8962..7d0a781 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@hookform/resolvers': specifier: ^3.9.1 version: 3.9.1(react-hook-form@7.54.0(react@19.0.0)) + '@next-auth/prisma-adapter': + specifier: ^1.0.7 + version: 1.0.7(@prisma/client@6.1.0(prisma@6.1.0))(next-auth@4.24.11(next@15.0.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) '@prisma/client': specifier: ^6.1.0 version: 6.1.0(prisma@6.1.0) @@ -74,6 +77,9 @@ importers: react-hook-form: specifier: ^7.54.0 version: 7.54.0(react@19.0.0) + react-hot-toast: + specifier: ^2.5.1 + version: 2.5.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) sweetalert2: specifier: ^11.15.3 version: 11.15.3 @@ -82,7 +88,7 @@ importers: version: 2.5.5 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.16) + version: 1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@20.17.10)(typescript@5.7.2))) uuid: specifier: ^11.0.3 version: 11.0.3 @@ -90,8 +96,11 @@ importers: specifier: ^3.24.1 version: 3.24.1 devDependencies: + '@types/bcrypt': + specifier: ^5.0.2 + version: 5.0.2 '@types/node': - specifier: ^20 + specifier: ^20.17.10 version: 20.17.10 '@types/react': specifier: ^19 @@ -113,9 +122,12 @@ importers: version: 6.1.0 tailwindcss: specifier: ^3.4.1 - version: 3.4.16 + version: 3.4.16(ts-node@10.9.2(@types/node@20.17.10)(typescript@5.7.2)) + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@20.17.10)(typescript@5.7.2) typescript: - specifier: ^5 + specifier: ^5.7.2 version: 5.7.2 packages: @@ -128,6 +140,10 @@ packages: resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} @@ -309,10 +325,19 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@mapbox/node-pre-gyp@1.0.11': resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true + '@next-auth/prisma-adapter@1.0.7': + resolution: {integrity: sha512-Cdko4KfcmKjsyHFrWwZ//lfLUbcLqlyFqjd/nYE2m3aZ7tjMNUjpks47iw7NTCnXf+5UWz5Ypyt1dSs1EP5QJw==} + peerDependencies: + '@prisma/client': '>=2.26.0 || >=3' + next-auth: ^4 + '@next/env@15.0.4': resolution: {integrity: sha512-WNRvtgnRVDD4oM8gbUcRc27IAhaL4eXQ/2ovGbgLnPGUvdyDr8UdXP4Q/IBDdAdojnD2eScryIDirv0YUCjUVw==} @@ -957,6 +982,21 @@ packages: resolution: {integrity: sha512-P9dF7XbibHph2PFRz8gfBKEXEY/HJPOhym8CHmjF8y3q5mWpKx9xtZapXQUWCgkqvsK0R46Azuz+VaxD4Xl+Tg==} engines: {node: '>=12'} + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + + '@types/bcrypt@5.0.2': + resolution: {integrity: sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ==} + '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} @@ -1029,6 +1069,10 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} + engines: {node: '>=0.4.0'} + acorn@8.14.0: resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} @@ -1072,6 +1116,9 @@ packages: engines: {node: '>=10'} deprecated: This package is no longer supported. + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -1238,6 +1285,9 @@ packages: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -1306,6 +1356,10 @@ packages: didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} @@ -1602,6 +1656,11 @@ packages: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} + goober@2.1.16: + resolution: {integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==} + peerDependencies: + csstype: ^3.0.10 + gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -1896,6 +1955,9 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + math-intrinsics@1.0.0: resolution: {integrity: sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==} engines: {node: '>= 0.4'} @@ -2209,6 +2271,13 @@ packages: peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 + react-hot-toast@2.5.1: + resolution: {integrity: sha512-54Gq1ZD1JbmAb4psp9bvFHjS7lje+8ubboUmvKZkCsQBLH6AOpZ9JemfRvIdHcfb9AZXRaFLrb3qUobGYDJhFQ==} + engines: {node: '>=10'} + peerDependencies: + react: '>=16' + react-dom: '>=16' + react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -2545,6 +2614,20 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -2630,6 +2713,9 @@ packages: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -2683,6 +2769,10 @@ packages: engines: {node: '>= 14'} hasBin: true + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -2698,6 +2788,10 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + '@emnapi/runtime@1.3.1': dependencies: tslib: 2.8.1 @@ -2860,6 +2954,11 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + '@mapbox/node-pre-gyp@1.0.11': dependencies: detect-libc: 2.0.3 @@ -2875,6 +2974,11 @@ snapshots: - encoding - supports-color + '@next-auth/prisma-adapter@1.0.7(@prisma/client@6.1.0(prisma@6.1.0))(next-auth@4.24.11(next@15.0.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))': + dependencies: + '@prisma/client': 6.1.0(prisma@6.1.0) + next-auth: 4.24.11(next@15.0.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@next/env@15.0.4': {} '@next/eslint-plugin-next@15.0.4': @@ -3465,6 +3569,18 @@ snapshots: '@tanstack/table-core@8.20.5': {} + '@tsconfig/node10@1.0.11': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.4': {} + + '@types/bcrypt@5.0.2': + dependencies: + '@types/node': 20.17.10 + '@types/json5@0.0.29': {} '@types/node@20.17.10': @@ -3564,6 +3680,10 @@ snapshots: dependencies: acorn: 8.14.0 + acorn-walk@8.3.4: + dependencies: + acorn: 8.14.0 + acorn@8.14.0: {} agent-base@6.0.2: @@ -3603,6 +3723,8 @@ snapshots: delegates: 1.0.0 readable-stream: 3.6.2 + arg@4.1.3: {} + arg@5.0.2: {} argparse@1.0.10: @@ -3799,6 +3921,8 @@ snapshots: cookie@0.7.2: {} + create-require@1.1.1: {} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -3859,6 +3983,8 @@ snapshots: didyoumean@1.2.2: {} + diff@4.0.2: {} + dlv@1.1.3: {} doctrine@2.1.0: @@ -4332,6 +4458,10 @@ snapshots: define-properties: 1.2.1 gopd: 1.2.0 + goober@2.1.16(csstype@3.1.3): + dependencies: + csstype: 3.1.3 + gopd@1.2.0: {} graceful-fs@4.2.11: {} @@ -4610,6 +4740,8 @@ snapshots: dependencies: semver: 6.3.1 + make-error@1.3.6: {} + math-intrinsics@1.0.0: {} merge2@1.4.1: {} @@ -4830,12 +4962,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.49 - postcss-load-config@4.0.2(postcss@8.4.49): + postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@20.17.10)(typescript@5.7.2)): dependencies: lilconfig: 3.1.3 yaml: 2.6.1 optionalDependencies: postcss: 8.4.49 + ts-node: 10.9.2(@types/node@20.17.10)(typescript@5.7.2) postcss-nested@6.2.0(postcss@8.4.49): dependencies: @@ -4897,6 +5030,13 @@ snapshots: dependencies: react: 19.0.0 + react-hot-toast@2.5.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + csstype: 3.1.3 + goober: 2.1.16(csstype@3.1.3) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-is@16.13.1: {} react-remove-scroll-bar@2.3.6(@types/react@19.0.1)(react@19.0.0): @@ -5242,11 +5382,11 @@ snapshots: tailwind-merge@2.5.5: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.16): + tailwindcss-animate@1.0.7(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@20.17.10)(typescript@5.7.2))): dependencies: - tailwindcss: 3.4.16 + tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@20.17.10)(typescript@5.7.2)) - tailwindcss@3.4.16: + tailwindcss@3.4.16(ts-node@10.9.2(@types/node@20.17.10)(typescript@5.7.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -5265,7 +5405,7 @@ snapshots: postcss: 8.4.49 postcss-import: 15.1.0(postcss@8.4.49) postcss-js: 4.0.1(postcss@8.4.49) - postcss-load-config: 4.0.2(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@20.17.10)(typescript@5.7.2)) postcss-nested: 6.2.0(postcss@8.4.49) postcss-selector-parser: 6.1.2 resolve: 1.22.8 @@ -5306,6 +5446,24 @@ snapshots: ts-interface-checker@0.1.13: {} + ts-node@10.9.2(@types/node@20.17.10)(typescript@5.7.2): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.17.10 + acorn: 8.14.0 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.7.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -5397,6 +5555,8 @@ snapshots: uuid@8.3.2: {} + v8-compile-cache-lib@3.0.1: {} + webidl-conversions@3.0.1: {} whatwg-url@5.0.0: @@ -5471,6 +5631,8 @@ snapshots: yaml@2.6.1: {} + yn@3.1.1: {} + yocto-queue@0.1.0: {} zod@3.24.1: {} diff --git a/prisma/migrations/20241230150056_init/migration.sql b/prisma/migrations/20241230150056_init/migration.sql new file mode 100644 index 0000000..ff319e7 --- /dev/null +++ b/prisma/migrations/20241230150056_init/migration.sql @@ -0,0 +1,15 @@ +-- CreateTable +CREATE TABLE `User` ( + `id` VARCHAR(191) NOT NULL, + `nim` VARCHAR(191) NOT NULL, + `name` VARCHAR(191) NOT NULL, + `avatar` VARCHAR(191) NOT NULL, + `role` ENUM('MEMBER', 'ADMIN', 'SUPERADMIN') NOT NULL DEFAULT 'MEMBER', + `email` VARCHAR(191) NOT NULL, + `password` VARCHAR(191) NOT NULL, + `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), + `updatedAt` DATETIME(3) NOT NULL, + + UNIQUE INDEX `User_email_key`(`email`), + PRIMARY KEY (`id`) +) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000..8a21669 --- /dev/null +++ b/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (e.g., Git) +provider = "mysql" \ No newline at end of file diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 29f0940..2909268 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -3,6 +3,13 @@ // Looking for ways to speed up your queries, or scale easily with your serverless or edge functions? // Try Prisma Accelerate: https://pris.ly/cli/accelerate-init +// ...existing code... + +enum Role { + MEMBER + ADMIN + SUPERADMIN +} generator client { provider = "prisma-client-js" @@ -12,3 +19,15 @@ datasource db { provider = "mysql" url = env("DATABASE_URL") } + +model User { + id String @id @default(uuid()) + nim String + name String + avatar String + role Role @default(MEMBER) + email String @unique + password String + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} \ No newline at end of file diff --git a/prisma/seed.ts b/prisma/seed.ts new file mode 100644 index 0000000..5230899 --- /dev/null +++ b/prisma/seed.ts @@ -0,0 +1,29 @@ +import { PrismaClient } from "@prisma/client"; +import { hash } from "bcrypt"; + +const prisma = new PrismaClient(); + +async function main() { + const password = await hash("password123", 12); + const user = await prisma.user.upsert({ + where: { email: "admin@admin.com" }, + update: {}, + create: { + id: "d5f2e78c-c9e0-45d6-b577-5af5c196e9d2", + nim: "220535608548", + name: "Alvalen Shafelbilyunazra", + email: "admin@admin.com", + avatar: "https://res.cloudinary.com/startup-grind/image/upload/c_fill,w_250,h_250,g_center/c_fill,dpr_2.0,f_auto,g_center,q_auto:good/v1/gcs/platform-data-goog/avatars/alvalen_shafel_5fUEnek.jpg", + role: "SUPERADMIN", + password, + }, + }); + console.log({ user }); +} +main() + .then(() => prisma.$disconnect()) + .catch(async (e) => { + console.error(e); + await prisma.$disconnect(); + process.exit(1); + }); From 0ea3239cf0f17a72616293c65ee75e584b514756 Mon Sep 17 00:00:00 2001 From: Alvalen Date: Wed, 1 Jan 2025 16:14:31 +0700 Subject: [PATCH 7/8] feat: implement NextAuth authentication with session management and user context --- app/admin/dashboard/page.tsx | 34 +------- app/admin/layout.tsx | 5 +- app/api/auth/[...nextauth]/route.ts | 6 ++ app/auth/login/form.tsx | 121 ++++++++++++++++++++++++++++ app/auth/login/page.tsx | 31 +++---- app/context/sessionContext.tsx | 38 +++++++++ app/layout.tsx | 7 +- app/providers/NextAuthProvider.tsx | 11 +++ lib/auth.ts | 80 ++++++++++++++++++ types/next-auth.d.ts | 19 +++++ 10 files changed, 296 insertions(+), 56 deletions(-) create mode 100644 app/api/auth/[...nextauth]/route.ts create mode 100644 app/auth/login/form.tsx create mode 100644 app/context/sessionContext.tsx create mode 100644 app/providers/NextAuthProvider.tsx create mode 100644 lib/auth.ts create mode 100644 types/next-auth.d.ts diff --git a/app/admin/dashboard/page.tsx b/app/admin/dashboard/page.tsx index d86d3be..b790304 100644 --- a/app/admin/dashboard/page.tsx +++ b/app/admin/dashboard/page.tsx @@ -1,37 +1,11 @@ +"use client" import React from 'react'; -// import { Card } from '@/components/CardName'; -import Container from "@/components/Container"; - +import { useSession } from "next-auth/react"; function Page() { - - const getName = "Lorem"; - const greeting = (): string => { - const clock = new Date().getHours(); - if (clock < 12) { - return "Good Morning"; - } else if (clock < 18) { - return "Good Afternoon"; - } else if (clock < 22) { - return "Good Evening"; - } else { - return "Good Night"; - } - } - + const { data: session } = useSession(); return ( <> -

Hai, {getName} !!!!, {greeting()} 👋

- - {/* konten */} -
-

Short Summary

- - -

lakjwd - -

-
-
+

{JSON.stringify(session)}

); } diff --git a/app/admin/layout.tsx b/app/admin/layout.tsx index 161ebf5..108d3fd 100644 --- a/app/admin/layout.tsx +++ b/app/admin/layout.tsx @@ -1,3 +1,4 @@ +"use client" import { SidebarInset, SidebarProvider, SidebarTrigger } from "@/components/ui/sidebar" import { AppSidebar } from "@/components/app-sidebar" import { @@ -12,7 +13,7 @@ import { import { LogOut, User } from "lucide-react" import { Separator } from "@/components/ui/separator" import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar" - +import { signOut } from "next-auth/react" export default function Layout({ children }: { children: React.ReactNode }) { @@ -49,7 +50,7 @@ export default function Layout({ children }: { children: React.ReactNode }) { Profile - + signOut()}> Log out diff --git a/app/api/auth/[...nextauth]/route.ts b/app/api/auth/[...nextauth]/route.ts new file mode 100644 index 0000000..cf499ae --- /dev/null +++ b/app/api/auth/[...nextauth]/route.ts @@ -0,0 +1,6 @@ +import NextAuth from "next-auth/next"; +import { authOptions } from "@/lib/auth"; + +const handler = NextAuth(authOptions); + +export { handler as GET, handler as POST }; diff --git a/app/auth/login/form.tsx b/app/auth/login/form.tsx new file mode 100644 index 0000000..e82a050 --- /dev/null +++ b/app/auth/login/form.tsx @@ -0,0 +1,121 @@ +"use client" +import React, { useEffect } from 'react' +import { Input } from "@/components/ui/input" +import { Button } from "@/components/ui/button" +import { z } from "zod" +import { zodResolver } from "@hookform/resolvers/zod" +import { useForm } from "react-hook-form" +import { signIn } from "next-auth/react" +import toast from "react-hot-toast" +import { + Form, + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage, +} from "@/components/ui/form" +import { useSessionContext } from '@/app/context/sessionContext' + +const schema = z.object({ + email: z.string().email({ message: "Invalid email address" }), + password: z.string().min(8, { message: "Password must be at least 8 characters" }), +}) + +export default function FormComponent() { + const form = useForm>({ + resolver: zodResolver(schema), + defaultValues: { + email: "", + password: "", + }, + }) + + const { isLoading, session } = useSessionContext() + + async function onSubmit(values: z.infer) { + try { + const response = await signIn("credentials", { + email: values.email, + password: values.password, + redirect: false, + method: "post", + }) + + if (response?.ok) { + toast.success("Login Successful") + } else { + const errorMessage = response?.error === "CredentialsSignin" + ? "Email or password is incorrect" + : response?.error + toast.error(errorMessage) + } + } catch (error) { + toast.error("An unexpected error occurred.") + console.error("Login error:", error) + } + } + + useEffect(() => { + if (!isLoading && session) { + switch (session.user.role) { + case "ADMIN": + case "SUPERADMIN": + window.location.href = "/admin/dashboard" + break + case "MEMBER": + window.location.href = "/" + break + default: + window.location.href = "/" + break + } + } + }, [isLoading, session]) + + return ( +
+ + ( + + Email + + + + + + )} + /> + ( + + Password + + + + + + )} + /> + + + + ) +} diff --git a/app/auth/login/page.tsx b/app/auth/login/page.tsx index ed5d07f..63d1614 100644 --- a/app/auth/login/page.tsx +++ b/app/auth/login/page.tsx @@ -1,8 +1,5 @@ -import { Label } from "@/components/ui/label" -import { Input } from "@/components/ui/input" import Link from "next/link" -import { Button } from "@/components/ui/button" - +import From from './form' export default function Page() { return (
@@ -22,24 +19,14 @@ export default function Page() {

Welcome back!

Enter your email and password to sign in.

-
-
- - -
-
-
- - - Forgot password? - -
- -
- -
+ +
+ Don't have an account?{" "} + + {" "} + Sign Up{" "} + +
diff --git a/app/context/sessionContext.tsx b/app/context/sessionContext.tsx new file mode 100644 index 0000000..0fcebce --- /dev/null +++ b/app/context/sessionContext.tsx @@ -0,0 +1,38 @@ +"use client" +import React, { createContext, useContext, useState, useEffect } from "react"; +import { useSession } from "next-auth/react"; +import { Session } from "next-auth"; + +interface SessionContextType { + session: Session | null; + isLoading: boolean; +} + +const SessionContext = createContext(undefined); + +interface SessionProviderProps { + children: React.ReactNode; +} + +export const SessionProvider: React.FC = ({ children }) => { + const { data: session, status } = useSession(); + const [isLoading, setIsLoading] = useState(status === "loading"); + + useEffect(() => { + setIsLoading(status === "loading"); + }, [status]); + + return ( + + {children} + + ); +}; + +export const useSessionContext = (): SessionContextType => { + const context = useContext(SessionContext); + if (!context) { + throw new Error("useSessionContext must be used within a SessionProvider"); + } + return context; +}; diff --git a/app/layout.tsx b/app/layout.tsx index 88957c4..597b572 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,6 +1,8 @@ import localFont from "next/font/local"; - +import { NextAuthProvider } from "./providers/NextAuthProvider"; +import { SessionProvider } from '@/app/context/sessionContext' import "./globals.css"; +import { Toaster } from "react-hot-toast"; const geistSans = localFont({ src: "./fonts/GeistVF.woff", @@ -31,7 +33,8 @@ export default function RootLayout({ -
{children}
+
{children}
+ ); diff --git a/app/providers/NextAuthProvider.tsx b/app/providers/NextAuthProvider.tsx new file mode 100644 index 0000000..5a340d8 --- /dev/null +++ b/app/providers/NextAuthProvider.tsx @@ -0,0 +1,11 @@ +"use client"; + +import { SessionProvider } from "next-auth/react"; + +type Props = { + children?: React.ReactNode; +}; + +export const NextAuthProvider = ({ children }: Props) => { + return {children}; +}; \ No newline at end of file diff --git a/lib/auth.ts b/lib/auth.ts new file mode 100644 index 0000000..90d59e0 --- /dev/null +++ b/lib/auth.ts @@ -0,0 +1,80 @@ +import { NextAuthOptions } from "next-auth"; +import { PrismaAdapter } from "@next-auth/prisma-adapter"; +import CredentialsProvider from "next-auth/providers/credentials"; +import { prisma } from "@/lib/prisma"; +import bcrypt from "bcrypt"; + +export const authOptions: NextAuthOptions = { + adapter: PrismaAdapter(prisma), + pages: { + signIn: "/auth/login", + }, + providers: [ + CredentialsProvider({ + name: "Credentials", + credentials: { + email: { label: "Email", type: "email" }, + password: { label: "Password", type: "password" }, + }, + async authorize(credentials) { + if (!credentials?.email || !credentials.password) { + return null; + } + const user = await prisma.user.findUnique({ + where: { email: credentials.email }, + }); + + if ( + user && + bcrypt.compareSync(credentials.password, user.password) + ) { + return { + id: user.id, + email: user.email, + name: user.name, + avatar: user.avatar, + role: user.role, + }; + } + + return null; + }, + }), + ], + session: { + strategy: "jwt", + }, + secret: process.env.NEXTAUTH_SECRET, + callbacks: { + jwt: ({ token, user, trigger, session }) => { + console.log("JWT Callback", { token, user }); + if (user) { + token.id = user.id; + token.email = user.email ?? null; + token.name = user.name ?? null; + token.role = user.role ?? null; + token.avatar = user.avatar ?? null; + } + if (trigger === "update" && session) { + token.id = session.user.id; + token.email = session.user.email; + token.name = session.user.name; + token.role = session.user.role; + token.avatar = session.user.avatar + } + return token; + }, + session: ({ session, token }) => { + console.log("Session Callback", { session, token }); + return { + ...session, + user: { + ...session.user, + id: token.id, + role: token.role, + avatar: token.avatar, + }, + }; + }, + }, +}; diff --git a/types/next-auth.d.ts b/types/next-auth.d.ts new file mode 100644 index 0000000..62dc445 --- /dev/null +++ b/types/next-auth.d.ts @@ -0,0 +1,19 @@ +import { DefaultSession } from "next-auth"; + +declare module "next-auth" { + interface Session { + user: { + id: string; + role: "MEMBER" | "ADMIN" | "SUPERADMIN"; + avatar: string | null; + } & DefaultSession["user"]; + } + + interface User { + id: string; + email: string | null; + name: string | null; + avatar: string | null; + role : "MEMBER" | "ADMIN" | "SUPERADMIN"; + } +} From 9253c9d6b6f7a9c626bdb2b51256d1d684dac2fa Mon Sep 17 00:00:00 2001 From: Alvalen Date: Wed, 1 Jan 2025 16:27:31 +0700 Subject: [PATCH 8/8] feat: update schema --- .../20250101092221_init/migration.sql | 64 +++++++++++++++++++ prisma/schema.prisma | 48 ++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 prisma/migrations/20250101092221_init/migration.sql diff --git a/prisma/migrations/20250101092221_init/migration.sql b/prisma/migrations/20250101092221_init/migration.sql new file mode 100644 index 0000000..d24c404 --- /dev/null +++ b/prisma/migrations/20250101092221_init/migration.sql @@ -0,0 +1,64 @@ +-- CreateTable +CREATE TABLE `Article` ( + `id` VARCHAR(191) NOT NULL, + `title` VARCHAR(191) NOT NULL, + `content` TEXT NOT NULL, + `image` VARCHAR(191) NOT NULL, + `authorId` VARCHAR(191) NOT NULL, + `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), + `updatedAt` DATETIME(3) NOT NULL, + + PRIMARY KEY (`id`) +) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +-- CreateTable +CREATE TABLE `Quiz` ( + `id` VARCHAR(191) NOT NULL, + `title` VARCHAR(191) NOT NULL, + `content` VARCHAR(191) NOT NULL, + `image` VARCHAR(191) NOT NULL, + `authorId` VARCHAR(191) NOT NULL, + `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), + `updatedAt` DATETIME(3) NOT NULL, + + PRIMARY KEY (`id`) +) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +-- CreateTable +CREATE TABLE `Questions` ( + `id` VARCHAR(191) NOT NULL, + `question` VARCHAR(191) NOT NULL, + `answer` VARCHAR(191) NOT NULL, + `quizId` VARCHAR(191) NOT NULL, + `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), + `updatedAt` DATETIME(3) NOT NULL, + + PRIMARY KEY (`id`) +) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +-- CreateTable +CREATE TABLE `QuizResult` ( + `id` VARCHAR(191) NOT NULL, + `userId` VARCHAR(191) NOT NULL, + `quizId` VARCHAR(191) NOT NULL, + `score` INTEGER NOT NULL, + `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), + `updatedAt` DATETIME(3) NOT NULL, + + PRIMARY KEY (`id`) +) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +-- AddForeignKey +ALTER TABLE `Article` ADD CONSTRAINT `Article_authorId_fkey` FOREIGN KEY (`authorId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE `Quiz` ADD CONSTRAINT `Quiz_authorId_fkey` FOREIGN KEY (`authorId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE `Questions` ADD CONSTRAINT `Questions_quizId_fkey` FOREIGN KEY (`quizId`) REFERENCES `Quiz`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE `QuizResult` ADD CONSTRAINT `QuizResult_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE `QuizResult` ADD CONSTRAINT `QuizResult_quizId_fkey` FOREIGN KEY (`quizId`) REFERENCES `Quiz`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 2909268..3461a9b 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -30,4 +30,52 @@ model User { password String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt + articles Article[] + quizzes Quiz[] + results QuizResult[] +} + +model Article { + id String @id @default(uuid()) + title String + content String @db.Text + image String + author User @relation(fields: [authorId], references: [id]) + authorId String + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} + +model Quiz { + id String @id @default(uuid()) + title String + content String + image String + author User @relation(fields: [authorId], references: [id]) + authorId String + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + questions Questions[] + results QuizResult[] +} + +model Questions { + id String @id @default(uuid()) + question String + answer String + quiz Quiz @relation(fields: [quizId], references: [id]) + quizId String + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} + +model QuizResult { + id String @id @default(uuid()) + user User @relation(fields: [userId], references: [id]) + userId String + quiz Quiz @relation(fields: [quizId], references: [id]) + quizId String + score Int + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt } \ No newline at end of file