Implement Login

This commit is contained in:
Sianida26 2024-01-07 19:17:40 +07:00
parent 0658d110ba
commit 90b36929dc
8 changed files with 334 additions and 262 deletions

4
.env
View File

@ -1 +1,3 @@
DATABASE_URL="mysql://root:root@localhost:3306/dashboard?schema=public" DATABASE_URL=
NEXTAUTH_SECRET=

View File

@ -9,26 +9,26 @@
"lint": "next lint" "lint": "next lint"
}, },
"dependencies": { "dependencies": {
"@mantine/core": "^7.3.2", "@mantine/core": "^7.4.0",
"@mantine/form": "^7.3.2", "@mantine/form": "^7.4.0",
"@mantine/hooks": "^7.3.2", "@mantine/hooks": "^7.4.0",
"next": "14.0.4", "next": "14.0.4",
"next-auth": "^4.24.5", "next-auth": "beta",
"react": "^18", "react": "^18.2.0",
"react-dom": "^18" "react-dom": "^18.2.0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20", "@types/node": "^20.10.6",
"@types/react": "^18", "@types/react": "^18.2.47",
"@types/react-dom": "^18", "@types/react-dom": "^18.2.18",
"autoprefixer": "^10.0.1", "autoprefixer": "^10.4.16",
"eslint": "^8", "eslint": "^8.56.0",
"eslint-config-next": "14.0.4", "eslint-config-next": "14.0.4",
"postcss": "^8.4.32", "postcss": "^8.4.33",
"postcss-preset-mantine": "^1.12.1", "postcss-preset-mantine": "^1.12.3",
"postcss-simple-vars": "^7.0.1", "postcss-simple-vars": "^7.0.1",
"prisma": "^5.7.1", "prisma": "^5.7.1",
"tailwindcss": "^3.3.0", "tailwindcss": "^3.4.1",
"typescript": "^5" "typescript": "^5.3.3"
} }
} }

View File

@ -6,63 +6,63 @@ settings:
dependencies: dependencies:
'@mantine/core': '@mantine/core':
specifier: ^7.3.2 specifier: ^7.4.0
version: 7.3.2(@mantine/hooks@7.3.2)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) version: 7.4.0(@mantine/hooks@7.4.0)(@types/react@18.2.47)(react-dom@18.2.0)(react@18.2.0)
'@mantine/form': '@mantine/form':
specifier: ^7.3.2 specifier: ^7.4.0
version: 7.3.2(react@18.2.0) version: 7.4.0(react@18.2.0)
'@mantine/hooks': '@mantine/hooks':
specifier: ^7.3.2 specifier: ^7.4.0
version: 7.3.2(react@18.2.0) version: 7.4.0(react@18.2.0)
next: next:
specifier: 14.0.4 specifier: 14.0.4
version: 14.0.4(react-dom@18.2.0)(react@18.2.0) version: 14.0.4(react-dom@18.2.0)(react@18.2.0)
next-auth: next-auth:
specifier: ^4.24.5 specifier: beta
version: 4.24.5(next@14.0.4)(react-dom@18.2.0)(react@18.2.0) version: 5.0.0-beta.4(next@14.0.4)(react@18.2.0)
react: react:
specifier: ^18 specifier: ^18.2.0
version: 18.2.0 version: 18.2.0
react-dom: react-dom:
specifier: ^18 specifier: ^18.2.0
version: 18.2.0(react@18.2.0) version: 18.2.0(react@18.2.0)
devDependencies: devDependencies:
'@types/node': '@types/node':
specifier: ^20 specifier: ^20.10.6
version: 20.10.5 version: 20.10.6
'@types/react': '@types/react':
specifier: ^18 specifier: ^18.2.47
version: 18.2.45 version: 18.2.47
'@types/react-dom': '@types/react-dom':
specifier: ^18 specifier: ^18.2.18
version: 18.2.18 version: 18.2.18
autoprefixer: autoprefixer:
specifier: ^10.0.1 specifier: ^10.4.16
version: 10.4.16(postcss@8.4.32) version: 10.4.16(postcss@8.4.33)
eslint: eslint:
specifier: ^8 specifier: ^8.56.0
version: 8.56.0 version: 8.56.0
eslint-config-next: eslint-config-next:
specifier: 14.0.4 specifier: 14.0.4
version: 14.0.4(eslint@8.56.0)(typescript@5.3.3) version: 14.0.4(eslint@8.56.0)(typescript@5.3.3)
postcss: postcss:
specifier: ^8.4.32 specifier: ^8.4.33
version: 8.4.32 version: 8.4.33
postcss-preset-mantine: postcss-preset-mantine:
specifier: ^1.12.1 specifier: ^1.12.3
version: 1.12.1(postcss@8.4.32) version: 1.12.3(postcss@8.4.33)
postcss-simple-vars: postcss-simple-vars:
specifier: ^7.0.1 specifier: ^7.0.1
version: 7.0.1(postcss@8.4.32) version: 7.0.1(postcss@8.4.33)
prisma: prisma:
specifier: ^5.7.1 specifier: ^5.7.1
version: 5.7.1 version: 5.7.1
tailwindcss: tailwindcss:
specifier: ^3.3.0 specifier: ^3.4.1
version: 3.4.0 version: 3.4.1
typescript: typescript:
specifier: ^5 specifier: ^5.3.3
version: 5.3.3 version: 5.3.3
packages: packages:
@ -77,8 +77,24 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
dev: true dev: true
/@babel/runtime@7.23.6: /@auth/core@0.18.4:
resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==} resolution: {integrity: sha512-GsNhsP1xE/3FoNS3dVkPjqRljLNJ4iyL2OLv3klQGNvw3bMpROFcK4lqhx7+pPHiamnVaYt2vg1xbB+lsNaevg==}
peerDependencies:
nodemailer: ^6.8.0
peerDependenciesMeta:
nodemailer:
optional: true
dependencies:
'@panva/hkdf': 1.1.1
cookie: 0.6.0
jose: 5.2.0
oauth4webapi: 2.4.3
preact: 10.11.3
preact-render-to-string: 5.2.3(preact@10.11.3)
dev: false
/@babel/runtime@7.23.7:
resolution: {integrity: sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
dependencies: dependencies:
regenerator-runtime: 0.14.1 regenerator-runtime: 0.14.1
@ -120,26 +136,30 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true dev: true
/@floating-ui/core@1.5.2: /@floating-ui/core@1.5.3(react@18.2.0):
resolution: {integrity: sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==} resolution: {integrity: sha512-O0WKDOo0yhJuugCx6trZQj5jVJ9yR0ystG2JaNAemYUWce+pmM6WUEFIibnWyEJKdrDxhm75NoSRME35FNaM/Q==}
dependencies: dependencies:
'@floating-ui/utils': 0.1.6 '@floating-ui/utils': 0.2.0(react@18.2.0)
transitivePeerDependencies:
- react
dev: false dev: false
/@floating-ui/dom@1.5.3: /@floating-ui/dom@1.5.4(react@18.2.0):
resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==} resolution: {integrity: sha512-jByEsHIY+eEdCjnTVu+E3ephzTOzkQ8hgUfGwos+bg7NlH33Zc5uO+QHz1mrQUOgIKKDD1RtS201P9NvAfq3XQ==}
dependencies: dependencies:
'@floating-ui/core': 1.5.2 '@floating-ui/core': 1.5.3(react@18.2.0)
'@floating-ui/utils': 0.1.6 '@floating-ui/utils': 0.2.0(react@18.2.0)
transitivePeerDependencies:
- react
dev: false dev: false
/@floating-ui/react-dom@2.0.4(react-dom@18.2.0)(react@18.2.0): /@floating-ui/react-dom@2.0.5(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ==} resolution: {integrity: sha512-UsBK30Bg+s6+nsgblXtZmwHhgS2vmbuQK22qgt2pTQM6M3X6H1+cQcLXqgRY3ihVLcZJE6IvqDQozhsnIVqK/Q==}
peerDependencies: peerDependencies:
react: '>=16.8.0' react: '>=16.8.0'
react-dom: '>=16.8.0' react-dom: '>=16.8.0'
dependencies: dependencies:
'@floating-ui/dom': 1.5.3 '@floating-ui/dom': 1.5.4(react@18.2.0)
react: 18.2.0 react: 18.2.0
react-dom: 18.2.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0)
dev: false dev: false
@ -150,15 +170,19 @@ packages:
react: '>=16.8.0' react: '>=16.8.0'
react-dom: '>=16.8.0' react-dom: '>=16.8.0'
dependencies: dependencies:
'@floating-ui/react-dom': 2.0.4(react-dom@18.2.0)(react@18.2.0) '@floating-ui/react-dom': 2.0.5(react-dom@18.2.0)(react@18.2.0)
aria-hidden: 1.2.3 aria-hidden: 1.2.3
react: 18.2.0 react: 18.2.0
react-dom: 18.2.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0)
tabbable: 6.2.0 tabbable: 6.2.0
dev: false dev: false
/@floating-ui/utils@0.1.6: /@floating-ui/utils@0.2.0(react@18.2.0):
resolution: {integrity: sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==} resolution: {integrity: sha512-T4jNeM6dMzXONGkSjk7+O+eFQTVbw7KHi5OYuvFaBer3Wcrmpwi6fHKcT/FdSf7boWC7H9eXTyYTFZOQdJ1AMA==}
peerDependencies:
react: '>=16.8.0'
dependencies:
react: 18.2.0
dev: false dev: false
/@humanwhocodes/config-array@0.11.13: /@humanwhocodes/config-array@0.11.13:
@ -223,28 +247,28 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/sourcemap-codec': 1.4.15
dev: true dev: true
/@mantine/core@7.3.2(@mantine/hooks@7.3.2)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): /@mantine/core@7.4.0(@mantine/hooks@7.4.0)(@types/react@18.2.47)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-CwAuQogVLcLR7O9e1eOgi3gtk4XX6cnaqevAxzJJpIOIyCnHiQ3cEGINVXyUUjUUipBlvK3sqz3NPGJ2ekLFDQ==} resolution: {integrity: sha512-wnQOz1aSpqVlCpdyY4XyJKRqlW87mexMADQrbCTwg/5BbxKp8XU6sTcnk1piwyR0mM6SI1uo0Yik2qYNGFlyWw==}
peerDependencies: peerDependencies:
'@mantine/hooks': 7.3.2 '@mantine/hooks': 7.4.0
react: ^18.2.0 react: ^18.2.0
react-dom: ^18.2.0 react-dom: ^18.2.0
dependencies: dependencies:
'@floating-ui/react': 0.24.8(react-dom@18.2.0)(react@18.2.0) '@floating-ui/react': 0.24.8(react-dom@18.2.0)(react@18.2.0)
'@mantine/hooks': 7.3.2(react@18.2.0) '@mantine/hooks': 7.4.0(react@18.2.0)
clsx: 2.0.0 clsx: 2.0.0
react: 18.2.0 react: 18.2.0
react-dom: 18.2.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0)
react-number-format: 5.3.1(react-dom@18.2.0)(react@18.2.0) react-number-format: 5.3.1(react-dom@18.2.0)(react@18.2.0)
react-remove-scroll: 2.5.7(@types/react@18.2.45)(react@18.2.0) react-remove-scroll: 2.5.7(@types/react@18.2.47)(react@18.2.0)
react-textarea-autosize: 8.5.3(@types/react@18.2.45)(react@18.2.0) react-textarea-autosize: 8.5.3(@types/react@18.2.47)(react@18.2.0)
type-fest: 3.13.1 type-fest: 3.13.1
transitivePeerDependencies: transitivePeerDependencies:
- '@types/react' - '@types/react'
dev: false dev: false
/@mantine/form@7.3.2(react@18.2.0): /@mantine/form@7.4.0(react@18.2.0):
resolution: {integrity: sha512-/qa1KQKVC46XWgIU190r3XM3Xld8Lsvz4L/an//TO67RnAGEdC5OCvr2JCb+fprZZi3YdxaKOkVNvP20W23qkg==} resolution: {integrity: sha512-JI/o2nECWct/Kvn3GF6VplHyJeaLy0q/jGNEB/F4yt12mAYBsux6vPfAhpWrKKZ8Jt31RI+ikn6R4UcY1HGIAw==}
peerDependencies: peerDependencies:
react: ^18.2.0 react: ^18.2.0
dependencies: dependencies:
@ -253,8 +277,8 @@ packages:
react: 18.2.0 react: 18.2.0
dev: false dev: false
/@mantine/hooks@7.3.2(react@18.2.0): /@mantine/hooks@7.4.0(react@18.2.0):
resolution: {integrity: sha512-xgumuuI3PBWXff5N02HCI7PEy25mDEdyXDQklUYK93J6FKwpcosyZnGVitoUrV1gLtYYa9ZudeAWdhHuh/CpOg==} resolution: {integrity: sha512-Swv23D8XmZqE2hohPBcff+ITwv5l8UlwiiEGMhL+ceUvJLnPzdwlW21qnLBtRtZWyQQ59TAav4M0GFGd93JS8Q==}
peerDependencies: peerDependencies:
react: ^18.2.0 react: ^18.2.0
dependencies: dependencies:
@ -430,8 +454,8 @@ packages:
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
dev: true dev: true
/@types/node@20.10.5: /@types/node@20.10.6:
resolution: {integrity: sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==} resolution: {integrity: sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==}
dependencies: dependencies:
undici-types: 5.26.5 undici-types: 5.26.5
dev: true dev: true
@ -442,11 +466,11 @@ packages:
/@types/react-dom@18.2.18: /@types/react-dom@18.2.18:
resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==}
dependencies: dependencies:
'@types/react': 18.2.45 '@types/react': 18.2.47
dev: true dev: true
/@types/react@18.2.45: /@types/react@18.2.47:
resolution: {integrity: sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==} resolution: {integrity: sha512-xquNkkOirwyCgoClNk85BjP+aqnIS+ckAJ8i37gAbDs14jfW/J23f2GItAf33oiUPQnqNMALiFeoM9Y5mbjpVQ==}
dependencies: dependencies:
'@types/prop-types': 15.7.11 '@types/prop-types': 15.7.11
'@types/scheduler': 0.16.8 '@types/scheduler': 0.16.8
@ -455,8 +479,8 @@ packages:
/@types/scheduler@0.16.8: /@types/scheduler@0.16.8:
resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
/@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3): /@typescript-eslint/parser@6.18.0(eslint@8.56.0)(typescript@5.3.3):
resolution: {integrity: sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA==} resolution: {integrity: sha512-v6uR68SFvqhNQT41frCMCQpsP+5vySy6IdgjlzUWoo7ALCnpaWYcz/Ij2k4L8cEsL0wkvOviCMpjmtRtHNOKzA==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
eslint: ^7.0.0 || ^8.0.0 eslint: ^7.0.0 || ^8.0.0
@ -465,10 +489,10 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/scope-manager': 6.15.0 '@typescript-eslint/scope-manager': 6.18.0
'@typescript-eslint/types': 6.15.0 '@typescript-eslint/types': 6.18.0
'@typescript-eslint/typescript-estree': 6.15.0(typescript@5.3.3) '@typescript-eslint/typescript-estree': 6.18.0(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.15.0 '@typescript-eslint/visitor-keys': 6.18.0
debug: 4.3.4 debug: 4.3.4
eslint: 8.56.0 eslint: 8.56.0
typescript: 5.3.3 typescript: 5.3.3
@ -476,21 +500,21 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/scope-manager@6.15.0: /@typescript-eslint/scope-manager@6.18.0:
resolution: {integrity: sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==} resolution: {integrity: sha512-o/UoDT2NgOJ2VfHpfr+KBY2ErWvCySNUIX/X7O9g8Zzt/tXdpfEU43qbNk8LVuWUT2E0ptzTWXh79i74PP0twA==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
dependencies: dependencies:
'@typescript-eslint/types': 6.15.0 '@typescript-eslint/types': 6.18.0
'@typescript-eslint/visitor-keys': 6.15.0 '@typescript-eslint/visitor-keys': 6.18.0
dev: true dev: true
/@typescript-eslint/types@6.15.0: /@typescript-eslint/types@6.18.0:
resolution: {integrity: sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==} resolution: {integrity: sha512-/RFVIccwkwSdW/1zeMx3hADShWbgBxBnV/qSrex6607isYjj05t36P6LyONgqdUrNLl5TYU8NIKdHUYpFvExkA==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
dev: true dev: true
/@typescript-eslint/typescript-estree@6.15.0(typescript@5.3.3): /@typescript-eslint/typescript-estree@6.18.0(typescript@5.3.3):
resolution: {integrity: sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==} resolution: {integrity: sha512-klNvl+Ql4NsBNGB4W9TZ2Od03lm7aGvTbs0wYaFYsplVPhr+oeXjlPZCDI4U9jgJIDK38W1FKhacCFzCC+nbIg==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
typescript: '*' typescript: '*'
@ -498,11 +522,12 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/types': 6.15.0 '@typescript-eslint/types': 6.18.0
'@typescript-eslint/visitor-keys': 6.15.0 '@typescript-eslint/visitor-keys': 6.18.0
debug: 4.3.4 debug: 4.3.4
globby: 11.1.0 globby: 11.1.0
is-glob: 4.0.3 is-glob: 4.0.3
minimatch: 9.0.3
semver: 7.5.4 semver: 7.5.4
ts-api-utils: 1.0.3(typescript@5.3.3) ts-api-utils: 1.0.3(typescript@5.3.3)
typescript: 5.3.3 typescript: 5.3.3
@ -510,11 +535,11 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/visitor-keys@6.15.0: /@typescript-eslint/visitor-keys@6.18.0:
resolution: {integrity: sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==} resolution: {integrity: sha512-1wetAlSZpewRDb2h9p/Q8kRjdGuqdTAQbkJIOUMLug2LBLG+QOjiWoSj6/3B/hA9/tVTFFdtiKvAYoYnSRW/RA==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
dependencies: dependencies:
'@typescript-eslint/types': 6.15.0 '@typescript-eslint/types': 6.18.0
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
dev: true dev: true
@ -522,16 +547,16 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true dev: true
/acorn-jsx@5.3.2(acorn@8.11.2): /acorn-jsx@5.3.2(acorn@8.11.3):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies: peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies: dependencies:
acorn: 8.11.2 acorn: 8.11.3
dev: true dev: true
/acorn@8.11.2: /acorn@8.11.3:
resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
hasBin: true hasBin: true
dev: true dev: true
@ -687,7 +712,7 @@ packages:
has-symbols: 1.0.3 has-symbols: 1.0.3
dev: true dev: true
/autoprefixer@10.4.16(postcss@8.4.32): /autoprefixer@10.4.16(postcss@8.4.33):
resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
hasBin: true hasBin: true
@ -695,11 +720,11 @@ packages:
postcss: ^8.1.0 postcss: ^8.1.0
dependencies: dependencies:
browserslist: 4.22.2 browserslist: 4.22.2
caniuse-lite: 1.0.30001571 caniuse-lite: 1.0.30001574
fraction.js: 4.3.7 fraction.js: 4.3.7
normalize-range: 0.1.2 normalize-range: 0.1.2
picocolors: 1.0.0 picocolors: 1.0.0
postcss: 8.4.32 postcss: 8.4.33
postcss-value-parser: 4.2.0 postcss-value-parser: 4.2.0
dev: true dev: true
@ -753,8 +778,8 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true hasBin: true
dependencies: dependencies:
caniuse-lite: 1.0.30001571 caniuse-lite: 1.0.30001574
electron-to-chromium: 1.4.616 electron-to-chromium: 1.4.623
node-releases: 2.0.14 node-releases: 2.0.14
update-browserslist-db: 1.0.13(browserslist@4.22.2) update-browserslist-db: 1.0.13(browserslist@4.22.2)
dev: true dev: true
@ -784,8 +809,8 @@ packages:
engines: {node: '>= 6'} engines: {node: '>= 6'}
dev: true dev: true
/caniuse-lite@1.0.30001571: /caniuse-lite@1.0.30001574:
resolution: {integrity: sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ==} resolution: {integrity: sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==}
/chalk@4.1.2: /chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
@ -839,8 +864,8 @@ packages:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true dev: true
/cookie@0.5.0: /cookie@0.6.0:
resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
dev: false dev: false
@ -953,8 +978,8 @@ packages:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
dev: true dev: true
/electron-to-chromium@1.4.616: /electron-to-chromium@1.4.623:
resolution: {integrity: sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==} resolution: {integrity: sha512-lKoz10iCYlP1WtRYdh5MvocQPWVRoI7ysp6qf18bmeBgR8abE6+I2CsfyNKztRDZvhdWc+krKT6wS7Neg8sw3A==}
dev: true dev: true
/emoji-regex@8.0.0: /emoji-regex@8.0.0:
@ -1082,11 +1107,11 @@ packages:
dependencies: dependencies:
'@next/eslint-plugin-next': 14.0.4 '@next/eslint-plugin-next': 14.0.4
'@rushstack/eslint-patch': 1.6.1 '@rushstack/eslint-patch': 1.6.1
'@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': 6.18.0(eslint@8.56.0)(typescript@5.3.3)
eslint: 8.56.0 eslint: 8.56.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.18.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.18.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
eslint-plugin-jsx-a11y: 6.8.0(eslint@8.56.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.56.0)
eslint-plugin-react: 7.33.2(eslint@8.56.0) eslint-plugin-react: 7.33.2(eslint@8.56.0)
eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0)
@ -1106,7 +1131,7 @@ packages:
- supports-color - supports-color
dev: true dev: true
/eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0): /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.18.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0):
resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies: peerDependencies:
@ -1116,8 +1141,8 @@ packages:
debug: 4.3.4 debug: 4.3.4
enhanced-resolve: 5.15.0 enhanced-resolve: 5.15.0
eslint: 8.56.0 eslint: 8.56.0
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.18.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.18.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
fast-glob: 3.3.2 fast-glob: 3.3.2
get-tsconfig: 4.7.2 get-tsconfig: 4.7.2
is-core-module: 2.13.1 is-core-module: 2.13.1
@ -1129,7 +1154,7 @@ packages:
- supports-color - supports-color
dev: true dev: true
/eslint-module-utils@2.8.0(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.18.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0):
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'} engines: {node: '>=4'}
peerDependencies: peerDependencies:
@ -1150,16 +1175,16 @@ packages:
eslint-import-resolver-webpack: eslint-import-resolver-webpack:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': 6.18.0(eslint@8.56.0)(typescript@5.3.3)
debug: 3.2.7 debug: 3.2.7
eslint: 8.56.0 eslint: 8.56.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.18.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.18.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0):
resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
engines: {node: '>=4'} engines: {node: '>=4'}
peerDependencies: peerDependencies:
@ -1169,7 +1194,7 @@ packages:
'@typescript-eslint/parser': '@typescript-eslint/parser':
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': 6.18.0(eslint@8.56.0)(typescript@5.3.3)
array-includes: 3.1.7 array-includes: 3.1.7
array.prototype.findlastindex: 1.2.3 array.prototype.findlastindex: 1.2.3
array.prototype.flat: 1.3.2 array.prototype.flat: 1.3.2
@ -1178,7 +1203,7 @@ packages:
doctrine: 2.1.0 doctrine: 2.1.0
eslint: 8.56.0 eslint: 8.56.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.18.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
hasown: 2.0.0 hasown: 2.0.0
is-core-module: 2.13.1 is-core-module: 2.13.1
is-glob: 4.0.3 is-glob: 4.0.3
@ -1200,7 +1225,7 @@ packages:
peerDependencies: peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
dependencies: dependencies:
'@babel/runtime': 7.23.6 '@babel/runtime': 7.23.7
aria-query: 5.3.0 aria-query: 5.3.0
array-includes: 3.1.7 array-includes: 3.1.7
array.prototype.flatmap: 1.3.2 array.prototype.flatmap: 1.3.2
@ -1317,8 +1342,8 @@ packages:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies: dependencies:
acorn: 8.11.2 acorn: 8.11.3
acorn-jsx: 5.3.2(acorn@8.11.2) acorn-jsx: 5.3.2(acorn@8.11.3)
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
dev: true dev: true
@ -1857,8 +1882,8 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
/jose@4.15.4: /jose@5.2.0:
resolution: {integrity: sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==} resolution: {integrity: sha512-oW3PCnvyrcm1HMvGTzqjxxfnEs9EoFOFWi2HsEGhlFVOXxTE3K9GKWVMFoFw06yPUqwpvEWic1BmtUZBI/tIjw==}
dev: false dev: false
/js-tokens@4.0.0: /js-tokens@4.0.0:
@ -1971,6 +1996,7 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
dependencies: dependencies:
yallist: 4.0.0 yallist: 4.0.0
dev: true
/merge2@1.4.1: /merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
@ -2032,29 +2058,19 @@ packages:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: true dev: true
/next-auth@4.24.5(next@14.0.4)(react-dom@18.2.0)(react@18.2.0): /next-auth@5.0.0-beta.4(next@14.0.4)(react@18.2.0):
resolution: {integrity: sha512-3RafV3XbfIKk6rF6GlLE4/KxjTcuMCifqrmD+98ejFq73SRoj2rmzoca8u764977lH/Q7jo6Xu6yM+Re1Mz/Og==} resolution: {integrity: sha512-vgocjvwPA8gxd/zrIP/vr9lJ/HeNe+C56lPP1D3sdyenHt8KncQV6ro7q0xCsDp1fcOKx7WAWVZH5o8aMxDzgw==}
peerDependencies: peerDependencies:
next: ^12.2.5 || ^13 || ^14 next: ^14
nodemailer: ^6.6.5 nodemailer: ^6.6.5
react: ^17.0.2 || ^18 react: ^18.2.0
react-dom: ^17.0.2 || ^18
peerDependenciesMeta: peerDependenciesMeta:
nodemailer: nodemailer:
optional: true optional: true
dependencies: dependencies:
'@babel/runtime': 7.23.6 '@auth/core': 0.18.4
'@panva/hkdf': 1.1.1
cookie: 0.5.0
jose: 4.15.4
next: 14.0.4(react-dom@18.2.0)(react@18.2.0) next: 14.0.4(react-dom@18.2.0)(react@18.2.0)
oauth: 0.9.15
openid-client: 5.6.2
preact: 10.19.3
preact-render-to-string: 5.2.6(preact@10.19.3)
react: 18.2.0 react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
uuid: 8.3.2
dev: false dev: false
/next@14.0.4(react-dom@18.2.0)(react@18.2.0): /next@14.0.4(react-dom@18.2.0)(react@18.2.0):
@ -2075,7 +2091,7 @@ packages:
'@next/env': 14.0.4 '@next/env': 14.0.4
'@swc/helpers': 0.5.2 '@swc/helpers': 0.5.2
busboy: 1.6.0 busboy: 1.6.0
caniuse-lite: 1.0.30001571 caniuse-lite: 1.0.30001574
graceful-fs: 4.2.11 graceful-fs: 4.2.11
postcss: 8.4.31 postcss: 8.4.31
react: 18.2.0 react: 18.2.0
@ -2111,19 +2127,14 @@ packages:
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
dev: true dev: true
/oauth@0.9.15: /oauth4webapi@2.4.3:
resolution: {integrity: sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==} resolution: {integrity: sha512-mvJqgWMhUUPrKWOikSVA9s3SssYNgxOlyebV4m69rLMUv+EOoLATLxHr+RX9gDCaweiPxr0NhQplYxInFCdLjw==}
dev: false dev: false
/object-assign@4.1.1: /object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
/object-hash@2.2.0:
resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==}
engines: {node: '>= 6'}
dev: false
/object-hash@3.0.0: /object-hash@3.0.0:
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
engines: {node: '>= 6'} engines: {node: '>= 6'}
@ -2191,26 +2202,12 @@ packages:
es-abstract: 1.22.3 es-abstract: 1.22.3
dev: true dev: true
/oidc-token-hash@5.0.3:
resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==}
engines: {node: ^10.13.0 || >=12.0.0}
dev: false
/once@1.4.0: /once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies: dependencies:
wrappy: 1.0.2 wrappy: 1.0.2
dev: true dev: true
/openid-client@5.6.2:
resolution: {integrity: sha512-TIVimoK/fAvpiISLcoGZyNJx2TOfd5AE6TXn58FFj6Y8qbU/jqky54Aws7sYKuCph1bLPWSRUa1r/Rd6K21bhg==}
dependencies:
jose: 4.15.4
lru-cache: 6.0.0
object-hash: 2.2.0
oidc-token-hash: 5.0.3
dev: false
/optionator@0.9.3: /optionator@0.9.3:
resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
@ -2294,29 +2291,29 @@ packages:
engines: {node: '>= 6'} engines: {node: '>= 6'}
dev: true dev: true
/postcss-import@15.1.0(postcss@8.4.32): /postcss-import@15.1.0(postcss@8.4.33):
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
peerDependencies: peerDependencies:
postcss: ^8.0.0 postcss: ^8.0.0
dependencies: dependencies:
postcss: 8.4.32 postcss: 8.4.33
postcss-value-parser: 4.2.0 postcss-value-parser: 4.2.0
read-cache: 1.0.0 read-cache: 1.0.0
resolve: 1.22.8 resolve: 1.22.8
dev: true dev: true
/postcss-js@4.0.1(postcss@8.4.32): /postcss-js@4.0.1(postcss@8.4.33):
resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
engines: {node: ^12 || ^14 || >= 16} engines: {node: ^12 || ^14 || >= 16}
peerDependencies: peerDependencies:
postcss: ^8.4.21 postcss: ^8.4.21
dependencies: dependencies:
camelcase-css: 2.0.1 camelcase-css: 2.0.1
postcss: 8.4.32 postcss: 8.4.33
dev: true dev: true
/postcss-load-config@4.0.2(postcss@8.4.32): /postcss-load-config@4.0.2(postcss@8.4.33):
resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
peerDependencies: peerDependencies:
@ -2329,58 +2326,58 @@ packages:
optional: true optional: true
dependencies: dependencies:
lilconfig: 3.0.0 lilconfig: 3.0.0
postcss: 8.4.32 postcss: 8.4.33
yaml: 2.3.4 yaml: 2.3.4
dev: true dev: true
/postcss-mixins@9.0.4(postcss@8.4.32): /postcss-mixins@9.0.4(postcss@8.4.33):
resolution: {integrity: sha512-XVq5jwQJDRu5M1XGkdpgASqLk37OqkH4JCFDXl/Dn7janOJjCTEKL+36cnRVy7bMtoBzALfO7bV7nTIsFnUWLA==} resolution: {integrity: sha512-XVq5jwQJDRu5M1XGkdpgASqLk37OqkH4JCFDXl/Dn7janOJjCTEKL+36cnRVy7bMtoBzALfO7bV7nTIsFnUWLA==}
engines: {node: '>=14.0'} engines: {node: '>=14.0'}
peerDependencies: peerDependencies:
postcss: ^8.2.14 postcss: ^8.2.14
dependencies: dependencies:
fast-glob: 3.3.2 fast-glob: 3.3.2
postcss: 8.4.32 postcss: 8.4.33
postcss-js: 4.0.1(postcss@8.4.32) postcss-js: 4.0.1(postcss@8.4.33)
postcss-simple-vars: 7.0.1(postcss@8.4.32) postcss-simple-vars: 7.0.1(postcss@8.4.33)
sugarss: 4.0.1(postcss@8.4.32) sugarss: 4.0.1(postcss@8.4.33)
dev: true dev: true
/postcss-nested@6.0.1(postcss@8.4.32): /postcss-nested@6.0.1(postcss@8.4.33):
resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
engines: {node: '>=12.0'} engines: {node: '>=12.0'}
peerDependencies: peerDependencies:
postcss: ^8.2.14 postcss: ^8.2.14
dependencies: dependencies:
postcss: 8.4.32 postcss: 8.4.33
postcss-selector-parser: 6.0.13 postcss-selector-parser: 6.0.15
dev: true dev: true
/postcss-preset-mantine@1.12.1(postcss@8.4.32): /postcss-preset-mantine@1.12.3(postcss@8.4.33):
resolution: {integrity: sha512-N1biscmlvJHYPWN6znrlFre80wh9baAaMETfERn8acQJykioGYmHIJLpQSwUSxqq/PG8QbayUyOnHgBV/tsZyA==} resolution: {integrity: sha512-cCwowf20mIyRXnV1cSVoMGfhYgy8ZqFJWsEJthdMZ3n7LijjucE9l/HO47gv5gAtr9nY1MkaEkpWS7ulhSTbSg==}
peerDependencies: peerDependencies:
postcss: '>=8.0.0' postcss: '>=8.0.0'
dependencies: dependencies:
postcss: 8.4.32 postcss: 8.4.33
postcss-mixins: 9.0.4(postcss@8.4.32) postcss-mixins: 9.0.4(postcss@8.4.33)
postcss-nested: 6.0.1(postcss@8.4.32) postcss-nested: 6.0.1(postcss@8.4.33)
dev: true dev: true
/postcss-selector-parser@6.0.13: /postcss-selector-parser@6.0.15:
resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==}
engines: {node: '>=4'} engines: {node: '>=4'}
dependencies: dependencies:
cssesc: 3.0.0 cssesc: 3.0.0
util-deprecate: 1.0.2 util-deprecate: 1.0.2
dev: true dev: true
/postcss-simple-vars@7.0.1(postcss@8.4.32): /postcss-simple-vars@7.0.1(postcss@8.4.33):
resolution: {integrity: sha512-5GLLXaS8qmzHMOjVxqkk1TZPf1jMqesiI7qLhnlyERalG0sMbHIbJqrcnrpmZdKCLglHnRHoEBB61RtGTsj++A==} resolution: {integrity: sha512-5GLLXaS8qmzHMOjVxqkk1TZPf1jMqesiI7qLhnlyERalG0sMbHIbJqrcnrpmZdKCLglHnRHoEBB61RtGTsj++A==}
engines: {node: '>=14.0'} engines: {node: '>=14.0'}
peerDependencies: peerDependencies:
postcss: ^8.2.1 postcss: ^8.2.1
dependencies: dependencies:
postcss: 8.4.32 postcss: 8.4.33
dev: true dev: true
/postcss-value-parser@4.2.0: /postcss-value-parser@4.2.0:
@ -2396,8 +2393,8 @@ packages:
source-map-js: 1.0.2 source-map-js: 1.0.2
dev: false dev: false
/postcss@8.4.32: /postcss@8.4.33:
resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
dependencies: dependencies:
nanoid: 3.3.7 nanoid: 3.3.7
@ -2405,17 +2402,17 @@ packages:
source-map-js: 1.0.2 source-map-js: 1.0.2
dev: true dev: true
/preact-render-to-string@5.2.6(preact@10.19.3): /preact-render-to-string@5.2.3(preact@10.11.3):
resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==} resolution: {integrity: sha512-aPDxUn5o3GhWdtJtW0svRC2SS/l8D9MAgo2+AWml+BhDImb27ALf04Q2d+AHqUUOc6RdSXFIBVa2gxzgMKgtZA==}
peerDependencies: peerDependencies:
preact: '>=10' preact: '>=10'
dependencies: dependencies:
preact: 10.19.3 preact: 10.11.3
pretty-format: 3.8.0 pretty-format: 3.8.0
dev: false dev: false
/preact@10.19.3: /preact@10.11.3:
resolution: {integrity: sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==} resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==}
dev: false dev: false
/prelude-ls@1.2.1: /prelude-ls@1.2.1:
@ -2476,7 +2473,7 @@ packages:
react-dom: 18.2.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0)
dev: false dev: false
/react-remove-scroll-bar@2.3.4(@types/react@18.2.45)(react@18.2.0): /react-remove-scroll-bar@2.3.4(@types/react@18.2.47)(react@18.2.0):
resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==}
engines: {node: '>=10'} engines: {node: '>=10'}
peerDependencies: peerDependencies:
@ -2486,13 +2483,13 @@ packages:
'@types/react': '@types/react':
optional: true optional: true
dependencies: dependencies:
'@types/react': 18.2.45 '@types/react': 18.2.47
react: 18.2.0 react: 18.2.0
react-style-singleton: 2.2.1(@types/react@18.2.45)(react@18.2.0) react-style-singleton: 2.2.1(@types/react@18.2.47)(react@18.2.0)
tslib: 2.6.2 tslib: 2.6.2
dev: false dev: false
/react-remove-scroll@2.5.7(@types/react@18.2.45)(react@18.2.0): /react-remove-scroll@2.5.7(@types/react@18.2.47)(react@18.2.0):
resolution: {integrity: sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==} resolution: {integrity: sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==}
engines: {node: '>=10'} engines: {node: '>=10'}
peerDependencies: peerDependencies:
@ -2502,16 +2499,16 @@ packages:
'@types/react': '@types/react':
optional: true optional: true
dependencies: dependencies:
'@types/react': 18.2.45 '@types/react': 18.2.47
react: 18.2.0 react: 18.2.0
react-remove-scroll-bar: 2.3.4(@types/react@18.2.45)(react@18.2.0) react-remove-scroll-bar: 2.3.4(@types/react@18.2.47)(react@18.2.0)
react-style-singleton: 2.2.1(@types/react@18.2.45)(react@18.2.0) react-style-singleton: 2.2.1(@types/react@18.2.47)(react@18.2.0)
tslib: 2.6.2 tslib: 2.6.2
use-callback-ref: 1.3.0(@types/react@18.2.45)(react@18.2.0) use-callback-ref: 1.3.1(@types/react@18.2.47)(react@18.2.0)
use-sidecar: 1.1.2(@types/react@18.2.45)(react@18.2.0) use-sidecar: 1.1.2(@types/react@18.2.47)(react@18.2.0)
dev: false dev: false
/react-style-singleton@2.2.1(@types/react@18.2.45)(react@18.2.0): /react-style-singleton@2.2.1(@types/react@18.2.47)(react@18.2.0):
resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
engines: {node: '>=10'} engines: {node: '>=10'}
peerDependencies: peerDependencies:
@ -2521,23 +2518,23 @@ packages:
'@types/react': '@types/react':
optional: true optional: true
dependencies: dependencies:
'@types/react': 18.2.45 '@types/react': 18.2.47
get-nonce: 1.0.1 get-nonce: 1.0.1
invariant: 2.2.4 invariant: 2.2.4
react: 18.2.0 react: 18.2.0
tslib: 2.6.2 tslib: 2.6.2
dev: false dev: false
/react-textarea-autosize@8.5.3(@types/react@18.2.45)(react@18.2.0): /react-textarea-autosize@8.5.3(@types/react@18.2.47)(react@18.2.0):
resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==} resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==}
engines: {node: '>=10'} engines: {node: '>=10'}
peerDependencies: peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0
dependencies: dependencies:
'@babel/runtime': 7.23.6 '@babel/runtime': 7.23.7
react: 18.2.0 react: 18.2.0
use-composed-ref: 1.3.0(react@18.2.0) use-composed-ref: 1.3.0(react@18.2.0)
use-latest: 1.2.1(@types/react@18.2.45)(react@18.2.0) use-latest: 1.2.1(@types/react@18.2.47)(react@18.2.0)
transitivePeerDependencies: transitivePeerDependencies:
- '@types/react' - '@types/react'
dev: false dev: false
@ -2838,13 +2835,13 @@ packages:
ts-interface-checker: 0.1.13 ts-interface-checker: 0.1.13
dev: true dev: true
/sugarss@4.0.1(postcss@8.4.32): /sugarss@4.0.1(postcss@8.4.33):
resolution: {integrity: sha512-WCjS5NfuVJjkQzK10s8WOBY+hhDxxNt/N6ZaGwxFZ+wN3/lKKFSaaKUNecULcTTvE4urLcKaZFQD8vO0mOZujw==} resolution: {integrity: sha512-WCjS5NfuVJjkQzK10s8WOBY+hhDxxNt/N6ZaGwxFZ+wN3/lKKFSaaKUNecULcTTvE4urLcKaZFQD8vO0mOZujw==}
engines: {node: '>=12.0'} engines: {node: '>=12.0'}
peerDependencies: peerDependencies:
postcss: ^8.3.3 postcss: ^8.3.3
dependencies: dependencies:
postcss: 8.4.32 postcss: 8.4.33
dev: true dev: true
/supports-color@7.2.0: /supports-color@7.2.0:
@ -2863,8 +2860,8 @@ packages:
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
dev: false dev: false
/tailwindcss@3.4.0: /tailwindcss@3.4.1:
resolution: {integrity: sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==} resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
hasBin: true hasBin: true
dependencies: dependencies:
@ -2882,12 +2879,12 @@ packages:
normalize-path: 3.0.0 normalize-path: 3.0.0
object-hash: 3.0.0 object-hash: 3.0.0
picocolors: 1.0.0 picocolors: 1.0.0
postcss: 8.4.32 postcss: 8.4.33
postcss-import: 15.1.0(postcss@8.4.32) postcss-import: 15.1.0(postcss@8.4.33)
postcss-js: 4.0.1(postcss@8.4.32) postcss-js: 4.0.1(postcss@8.4.33)
postcss-load-config: 4.0.2(postcss@8.4.32) postcss-load-config: 4.0.2(postcss@8.4.33)
postcss-nested: 6.0.1(postcss@8.4.32) postcss-nested: 6.0.1(postcss@8.4.33)
postcss-selector-parser: 6.0.13 postcss-selector-parser: 6.0.15
resolve: 1.22.8 resolve: 1.22.8
sucrase: 3.35.0 sucrase: 3.35.0
transitivePeerDependencies: transitivePeerDependencies:
@ -3040,8 +3037,8 @@ packages:
punycode: 2.3.1 punycode: 2.3.1
dev: true dev: true
/use-callback-ref@1.3.0(@types/react@18.2.45)(react@18.2.0): /use-callback-ref@1.3.1(@types/react@18.2.47)(react@18.2.0):
resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} resolution: {integrity: sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ==}
engines: {node: '>=10'} engines: {node: '>=10'}
peerDependencies: peerDependencies:
'@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
@ -3050,7 +3047,7 @@ packages:
'@types/react': '@types/react':
optional: true optional: true
dependencies: dependencies:
'@types/react': 18.2.45 '@types/react': 18.2.47
react: 18.2.0 react: 18.2.0
tslib: 2.6.2 tslib: 2.6.2
dev: false dev: false
@ -3063,7 +3060,7 @@ packages:
react: 18.2.0 react: 18.2.0
dev: false dev: false
/use-isomorphic-layout-effect@1.1.2(@types/react@18.2.45)(react@18.2.0): /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.47)(react@18.2.0):
resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==}
peerDependencies: peerDependencies:
'@types/react': '*' '@types/react': '*'
@ -3072,11 +3069,11 @@ packages:
'@types/react': '@types/react':
optional: true optional: true
dependencies: dependencies:
'@types/react': 18.2.45 '@types/react': 18.2.47
react: 18.2.0 react: 18.2.0
dev: false dev: false
/use-latest@1.2.1(@types/react@18.2.45)(react@18.2.0): /use-latest@1.2.1(@types/react@18.2.47)(react@18.2.0):
resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==}
peerDependencies: peerDependencies:
'@types/react': '*' '@types/react': '*'
@ -3085,12 +3082,12 @@ packages:
'@types/react': '@types/react':
optional: true optional: true
dependencies: dependencies:
'@types/react': 18.2.45 '@types/react': 18.2.47
react: 18.2.0 react: 18.2.0
use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.45)(react@18.2.0) use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.47)(react@18.2.0)
dev: false dev: false
/use-sidecar@1.1.2(@types/react@18.2.45)(react@18.2.0): /use-sidecar@1.1.2(@types/react@18.2.47)(react@18.2.0):
resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
engines: {node: '>=10'} engines: {node: '>=10'}
peerDependencies: peerDependencies:
@ -3100,7 +3097,7 @@ packages:
'@types/react': '@types/react':
optional: true optional: true
dependencies: dependencies:
'@types/react': 18.2.45 '@types/react': 18.2.47
detect-node-es: 1.1.0 detect-node-es: 1.1.0
react: 18.2.0 react: 18.2.0
tslib: 2.6.2 tslib: 2.6.2
@ -3110,11 +3107,6 @@ packages:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true dev: true
/uuid@8.3.2:
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
hasBin: true
dev: false
/watchpack@2.4.0: /watchpack@2.4.0:
resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
@ -3203,6 +3195,7 @@ packages:
/yallist@4.0.0: /yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
dev: true
/yaml@2.3.4: /yaml@2.3.4:
resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}

View File

@ -1,5 +1,7 @@
"use client"; "use client";
import { auth } from "@/features/auth";
import { signIn } from "next-auth/react";
import { import {
Paper, Paper,
PasswordInput, PasswordInput,
@ -13,21 +15,40 @@ import {
import { useForm } from "@mantine/form"; import { useForm } from "@mantine/form";
import React from "react"; import React from "react";
interface LoginFormType {
email: string,
password: string
}
export default function LoginPage() { export default function LoginPage() {
const form = useForm({ const form = useForm<LoginFormType>({
initialValues: { initialValues: {
email: "", email: "",
password: "", password: "",
}, },
}); });
const handleFormSubmit = async (values: LoginFormType) => {
await signIn("credentials", {
email: values.email,
password: values.password,
callbackUrl: "/"
})
}
// const session = await auth()
// const user = session?.user;
// console.log("session", session)
// console.log("user",user);
return ( return (
<div className="w-screen h-screen flex items-center justify-center"> <div className="w-screen h-screen flex items-center justify-center">
<Paper radius="md" p="xl" withBorder w={400}> <Paper radius="md" p="xl" withBorder w={400}>
<Text size="lg" fw={500} mb={30}> <Text size="lg" fw={500} mb={30}>
Welcome Welcome
</Text> </Text>
<form> <form onSubmit={form.onSubmit(handleFormSubmit)}>
<Stack> <Stack>
<TextInput <TextInput
label="Email" label="Email"
@ -53,7 +74,7 @@ export default function LoginPage() {
// onClick={() => toggle()} // onClick={() => toggle()}
size="xs" size="xs"
> >
Don't have an account? Register Don&apos;t have an account? Register
</Anchor> </Anchor>
<Button type="submit" radius="xl"> <Button type="submit" radius="xl">

View File

@ -1,3 +1 @@
import authHandler from "@/features/auth" export {GET, POST} from "@/features/auth"
export {authHandler as GET, authHandler as POST}

View File

@ -0,0 +1,17 @@
import { auth } from '@/features/auth'
import React from 'react'
export default async function Dashboard() {
const session = await auth();
const user = session?.user;
console.log("session", session);
console.log("user", user);
return (
<div>Dashbaord</div>
)
}

View File

@ -1,31 +1,37 @@
import NextAuth from "next-auth/next"; import NextAuth from "next-auth";
import CredentialsProvider from "next-auth/providers/credentials" import emailPasswordProvider from "./providers/emailPasswordProvider";
const auth = NextAuth({ const nextAuth = NextAuth({
session: {
strategy: "jwt"
},
providers:[ providers:[
CredentialsProvider({ emailPasswordProvider
name: "Email/Password", ],
credentials: { callbacks: {
email: { session: async({session, user, token}) => {
label: "Email", if (session.user){
type: "text", session.user.id = token.userId as string;
}
return session;
}, },
password: { jwt: async ({ token, user, account, profile }) => {
label: "password", if(account && account.type === "credentials") {
type: "password" token.userId = account.providerAccountId; // this is Id that coming from authorize() callback
}
return token
} }
}, },
authorize: async (credentials, req) => { pages: {
signIn: "/login"
const user = { id: "1", name: "John Doe", email: "john.doe@example.com" };
if (user){
return user;
} }
return null;
},
})
]
}) })
export default auth; export const {
signIn,
signOut,
handlers: { GET, POST},
auth
} = nextAuth;
export default nextAuth;

View File

@ -0,0 +1,35 @@
import CredentialsProvider from "next-auth/providers/credentials"
const credential = CredentialsProvider({
name: "email-password",
credentials: {
email: {
label: "Email",
type: "text",
},
password: {
label: "password",
type: "password"
}
},
authorize: async (credentials) => {
// Ensure credentials are defined and properly structured
if (credentials && typeof credentials.email === 'string' && typeof credentials.password === 'string') {
// Implement your authentication logic here
// For the sake of example, we're using a static user object
const user = { id: "1", name: "John Doe", email: "john.doe@example.com" };
// Add your logic to validate the user here
// ...
if (user){
return user;
}
console.log("here inside")
}
console.log("here outside")
return null;
},
})
export default credential;