Adding Melt-ui until it gets integrated into Shadcn-svelte and using for header avatar dropdown. Upgrading to Prisma 5 and other dependencies. Adding profile and protected routes.

This commit is contained in:
Bradley Shellnut 2023-08-01 14:01:24 -07:00
parent 1a4aa13e69
commit 49b7ad0d6f
9 changed files with 377 additions and 182 deletions

View file

@ -22,17 +22,18 @@
"seed": "ts-node --esm prisma/seed.ts"
},
"devDependencies": {
"@melt-ui/pp": "^0.0.7",
"@playwright/test": "^1.36.2",
"@sveltejs/adapter-auto": "^1.0.3",
"@sveltejs/adapter-vercel": "^1.0.6",
"@sveltejs/kit": "^1.22.3",
"@sveltejs/kit": "^1.22.4",
"@types/cookie": "^0.5.1",
"@types/node": "^18.17.1",
"@typescript-eslint/eslint-plugin": "^5.62.0",
"@typescript-eslint/parser": "^5.62.0",
"autoprefixer": "^10.4.14",
"eslint": "^8.45.0",
"eslint-config-prettier": "^8.8.0",
"eslint": "^8.46.0",
"eslint-config-prettier": "^8.9.0",
"eslint-plugin-svelte": "^2.32.4",
"just-clone": "^6.2.0",
"just-debounce-it": "^3.2.0",
@ -42,11 +43,12 @@
"postcss-preset-env": "^8.5.1",
"prettier": "^2.8.8",
"prettier-plugin-svelte": "^2.10.1",
"prisma": "^4.16.2",
"prisma": "^5.1.0",
"sass": "^1.64.1",
"svelte": "^4.1.1",
"svelte": "^4.1.2",
"svelte-check": "^3.4.6",
"svelte-preprocess": "^5.0.4",
"svelte-sequential-preprocessor": "^2.0.1",
"sveltekit-flash-message": "^2.1.0",
"sveltekit-superforms": "^1.5.0",
"tailwindcss": "^3.3.3",
@ -70,7 +72,8 @@
"@lucia-auth/adapter-mysql": "^1.1.1",
"@lucia-auth/adapter-prisma": "^3.0.0",
"@lukeed/uuid": "^2.0.1",
"@prisma/client": "4.16.2",
"@melt-ui/svelte": "^0.27.3",
"@prisma/client": "5.1.0",
"@types/feather-icons": "^4.29.1",
"class-variance-authority": "^0.6.1",
"clsx": "^1.2.1",

View file

@ -22,13 +22,16 @@ dependencies:
version: 1.1.1(lucia-auth@1.8.0)
'@lucia-auth/adapter-prisma':
specifier: ^3.0.0
version: 3.0.0(@prisma/client@4.16.2)(lucia@2.0.0)
version: 3.0.0(@prisma/client@5.1.0)(lucia@2.0.0)
'@lukeed/uuid':
specifier: ^2.0.1
version: 2.0.1
'@melt-ui/svelte':
specifier: ^0.27.3
version: 0.27.3(svelte@4.1.2)
'@prisma/client':
specifier: 4.16.2
version: 4.16.2(prisma@4.16.2)
specifier: 5.1.0
version: 5.1.0(prisma@5.1.0)
'@types/feather-icons':
specifier: ^4.29.1
version: 4.29.1
@ -58,25 +61,25 @@ dependencies:
version: 2.0.0
lucide-svelte:
specifier: ^0.256.1
version: 0.256.1(svelte@4.1.1)
version: 0.256.1(svelte@4.1.2)
open-props:
specifier: ^1.5.10
version: 1.5.10
radix-svelte:
specifier: ^0.8.0
version: 0.8.0(svelte@4.1.1)
version: 0.8.0(svelte@4.1.2)
svelte-french-toast:
specifier: ^1.2.0
version: 1.2.0(svelte@4.1.1)
version: 1.2.0(svelte@4.1.2)
svelte-lazy:
specifier: ^1.2.1
version: 1.2.1(svelte@4.1.1)
version: 1.2.1(svelte@4.1.2)
svelte-lazy-loader:
specifier: ^1.0.0
version: 1.0.0
svelte-legos:
specifier: ^0.2.1
version: 0.2.1(svelte@4.1.1)
version: 0.2.1(svelte@4.1.2)
tailwind-merge:
specifier: ^1.14.0
version: 1.14.0
@ -88,18 +91,21 @@ dependencies:
version: 3.21.4(zod@3.21.4)
devDependencies:
'@melt-ui/pp':
specifier: ^0.0.7
version: 0.0.7(@melt-ui/svelte@0.27.3)(svelte@4.1.2)
'@playwright/test':
specifier: ^1.36.2
version: 1.36.2
'@sveltejs/adapter-auto':
specifier: ^1.0.3
version: 1.0.3(@sveltejs/kit@1.22.3)
version: 1.0.3(@sveltejs/kit@1.22.4)
'@sveltejs/adapter-vercel':
specifier: ^1.0.6
version: 1.0.6(@sveltejs/kit@1.22.3)
version: 1.0.6(@sveltejs/kit@1.22.4)
'@sveltejs/kit':
specifier: ^1.22.3
version: 1.22.3(svelte@4.1.1)(vite@4.4.7)
specifier: ^1.22.4
version: 1.22.4(svelte@4.1.2)(vite@4.4.7)
'@types/cookie':
specifier: ^0.5.1
version: 0.5.1
@ -108,22 +114,22 @@ devDependencies:
version: 18.17.1
'@typescript-eslint/eslint-plugin':
specifier: ^5.62.0
version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.45.0)(typescript@5.1.6)
version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.46.0)(typescript@5.1.6)
'@typescript-eslint/parser':
specifier: ^5.62.0
version: 5.62.0(eslint@8.45.0)(typescript@5.1.6)
version: 5.62.0(eslint@8.46.0)(typescript@5.1.6)
autoprefixer:
specifier: ^10.4.14
version: 10.4.14(postcss@8.4.27)
eslint:
specifier: ^8.45.0
version: 8.45.0
specifier: ^8.46.0
version: 8.46.0
eslint-config-prettier:
specifier: ^8.8.0
version: 8.8.0(eslint@8.45.0)
specifier: ^8.9.0
version: 8.9.0(eslint@8.46.0)
eslint-plugin-svelte:
specifier: ^2.32.4
version: 2.32.4(eslint@8.45.0)(svelte@4.1.1)(ts-node@10.9.1)
version: 2.32.4(eslint@8.46.0)(svelte@4.1.2)(ts-node@10.9.1)
just-clone:
specifier: ^6.2.0
version: 6.2.0
@ -147,28 +153,31 @@ devDependencies:
version: 2.8.8
prettier-plugin-svelte:
specifier: ^2.10.1
version: 2.10.1(prettier@2.8.8)(svelte@4.1.1)
version: 2.10.1(prettier@2.8.8)(svelte@4.1.2)
prisma:
specifier: ^4.16.2
version: 4.16.2
specifier: ^5.1.0
version: 5.1.0
sass:
specifier: ^1.64.1
version: 1.64.1
svelte:
specifier: ^4.1.1
version: 4.1.1
specifier: ^4.1.2
version: 4.1.2
svelte-check:
specifier: ^3.4.6
version: 3.4.6(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.1)
version: 3.4.6(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.2)
svelte-preprocess:
specifier: ^5.0.4
version: 5.0.4(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.1)(typescript@5.1.6)
version: 5.0.4(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.2)(typescript@5.1.6)
svelte-sequential-preprocessor:
specifier: ^2.0.1
version: 2.0.1
sveltekit-flash-message:
specifier: ^2.1.0
version: 2.1.0(@sveltejs/kit@1.22.3)(svelte@4.1.1)
version: 2.1.0(@sveltejs/kit@1.22.4)(svelte@4.1.2)
sveltekit-superforms:
specifier: ^1.5.0
version: 1.5.0(@sveltejs/kit@1.22.3)(svelte@4.1.1)(zod@3.21.4)
version: 1.5.0(@sveltejs/kit@1.22.4)(svelte@4.1.2)(zod@3.21.4)
tailwindcss:
specifier: ^3.3.3
version: 3.3.3(ts-node@10.9.1)
@ -1012,14 +1021,14 @@ packages:
dev: true
optional: true
/@eslint-community/eslint-utils@4.4.0(eslint@8.45.0):
/@eslint-community/eslint-utils@4.4.0(eslint@8.46.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
eslint: 8.45.0
eslint-visitor-keys: 3.4.1
eslint: 8.46.0
eslint-visitor-keys: 3.4.2
dev: true
/@eslint-community/regexpp@4.5.0:
@ -1027,13 +1036,18 @@ packages:
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true
/@eslint/eslintrc@2.1.0:
resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==}
/@eslint-community/regexpp@4.6.2:
resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true
/@eslint/eslintrc@2.1.1:
resolution: {integrity: sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
debug: 4.3.4
espree: 9.6.0
espree: 9.6.1
globals: 13.19.0
ignore: 5.2.1
import-fresh: 3.3.0
@ -1044,20 +1058,18 @@ packages:
- supports-color
dev: true
/@eslint/js@8.44.0:
resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==}
/@eslint/js@8.46.0:
resolution: {integrity: sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@floating-ui/core@1.3.1:
resolution: {integrity: sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g==}
dev: false
/@floating-ui/dom@1.4.2:
resolution: {integrity: sha512-VKmvHVatWnewmGGy+7Mdy4cTJX71Pli6v/Wjb5RQBuq5wjUYx+Ef+kRThi8qggZqDgD8CogCpqhRoVp3+yQk+g==}
dependencies:
'@floating-ui/core': 1.3.1
dev: false
/@fontsource/fira-mono@4.5.10:
resolution: {integrity: sha512-bxUnRP8xptGRo8YXeY073DSpfK74XpSb0ZyRNpHV9WvLnJ7TwPOjZll8hTMin7zLC6iOp59pDZ8EQDj1gzgAQQ==}
@ -1155,13 +1167,13 @@ packages:
lucia-auth: 1.8.0
dev: false
/@lucia-auth/adapter-prisma@3.0.0(@prisma/client@4.16.2)(lucia@2.0.0):
/@lucia-auth/adapter-prisma@3.0.0(@prisma/client@5.1.0)(lucia@2.0.0):
resolution: {integrity: sha512-qrFA5IID4AulINQbLQLQPIXqE9+M3zjmN558VDhrS3Y7Fdn5dyObPbHijUWw7lGYgOrhxDox9UUG8oyZ3+D1MA==}
peerDependencies:
'@prisma/client': ^4.2.0 || ^5.0.0
lucia: ^2.0.0
dependencies:
'@prisma/client': 4.16.2(prisma@4.16.2)
'@prisma/client': 5.1.0(prisma@5.1.0)
lucia: 2.0.0
dev: false
@ -1195,6 +1207,27 @@ packages:
- supports-color
dev: true
/@melt-ui/pp@0.0.7(@melt-ui/svelte@0.27.3)(svelte@4.1.2):
resolution: {integrity: sha512-O7gRJ1OXmLjZBR7jB1SV2O4WORn1jk+k06gxej3EXPYAJGcPg+EfKNw54G0/VhhMup1ZrwMsleUgoCOzus/JUw==}
peerDependencies:
'@melt-ui/svelte': '>= 0.22.0'
svelte: ^3.55.0 || ^4.0.0
dependencies:
'@melt-ui/svelte': 0.27.3(svelte@4.1.2)
svelte: 4.1.2
dev: true
/@melt-ui/svelte@0.27.3(svelte@4.1.2):
resolution: {integrity: sha512-NKv0GCmWqhp7cxvpJUW90ouNSmjxgE7GWs75w0cJfBdxS85Eie6DW4rCmkC8MOw1q20wg8fiQzQ03FGig4BbhA==}
peerDependencies:
svelte: '>=3 <5'
dependencies:
'@floating-ui/core': 1.3.1
'@floating-ui/dom': 1.4.2
focus-trap: 7.5.2
nanoid: 4.0.2
svelte: 4.1.2
/@nodelib/fs.scandir@2.1.5:
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@ -1228,9 +1261,9 @@ packages:
resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
dev: true
/@prisma/client@4.16.2(prisma@4.16.2):
resolution: {integrity: sha512-qCoEyxv1ZrQ4bKy39GnylE8Zq31IRmm8bNhNbZx7bF2cU5aiCCnSa93J2imF88MBjn7J9eUQneNxUQVJdl/rPQ==}
engines: {node: '>=14.17'}
/@prisma/client@5.1.0(prisma@5.1.0):
resolution: {integrity: sha512-aIxuXlH3p3Vy91buodQhYgAD9m0yuxJzpXMhc1ejQ/WN3pNNWzBA0iDcBObLq8DMdszcXmoLAk3hiRq/ZwBsOw==}
engines: {node: '>=16.13'}
requiresBuild: true
peerDependencies:
prisma: '*'
@ -1238,16 +1271,16 @@ packages:
prisma:
optional: true
dependencies:
'@prisma/engines-version': 4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81
prisma: 4.16.2
'@prisma/engines-version': 5.1.0-28.a9b7003df90aa623086e4d6f4e43c72468e6339b
prisma: 5.1.0
dev: false
/@prisma/engines-version@4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81:
resolution: {integrity: sha512-q617EUWfRIDTriWADZ4YiWRZXCa/WuhNgLTVd+HqWLffjMSPzyM5uOWoauX91wvQClSKZU4pzI4JJLQ9Kl62Qg==}
/@prisma/engines-version@5.1.0-28.a9b7003df90aa623086e4d6f4e43c72468e6339b:
resolution: {integrity: sha512-jTwE2oy1yjICmTfnCR0ASIpuMZXZ18sUzQXB7V0RMbrM9OlcmbUwXPuYhnxXuWN8XwRmujeIhsXs/Zeh+fjPOQ==}
dev: false
/@prisma/engines@4.16.2:
resolution: {integrity: sha512-vx1nxVvN4QeT/cepQce68deh/Turxy5Mr+4L4zClFuK1GlxN3+ivxfuv+ej/gvidWn1cE1uAhW7ALLNlYbRUAw==}
/@prisma/engines@5.1.0:
resolution: {integrity: sha512-HqaFsnPmZOdMWkPq6tT2eTVTQyaAXEDdKszcZ4yc7DGMBIYRP6j/zAJTtZUG9SsMV8FaucdL5vRyxY/p5Ni28g==}
requiresBuild: true
/@rollup/pluginutils@4.2.1:
@ -1258,21 +1291,21 @@ packages:
picomatch: 2.3.1
dev: true
/@sveltejs/adapter-auto@1.0.3(@sveltejs/kit@1.22.3):
/@sveltejs/adapter-auto@1.0.3(@sveltejs/kit@1.22.4):
resolution: {integrity: sha512-hc7O12YQqvZ1CD4fo1gMJuPzBZvuoG5kwxb2RRoz4fVoB8B2vuPO2cY751Ln0G6T/HMrAf8kCqw6Pg+wbxcstw==}
peerDependencies:
'@sveltejs/kit': ^1.0.0
dependencies:
'@sveltejs/kit': 1.22.3(svelte@4.1.1)(vite@4.4.7)
'@sveltejs/kit': 1.22.4(svelte@4.1.2)(vite@4.4.7)
import-meta-resolve: 2.2.0
dev: true
/@sveltejs/adapter-vercel@1.0.6(@sveltejs/kit@1.22.3):
/@sveltejs/adapter-vercel@1.0.6(@sveltejs/kit@1.22.4):
resolution: {integrity: sha512-fo6aaEygPd/6B5Jms4Ff7R4jbADnppuLvKOWBNTGe5MGB7ZRUkl+gxHWMQx2av2knyEZkA6V8y5M6R3ML5yN4g==}
peerDependencies:
'@sveltejs/kit': ^1.0.0
dependencies:
'@sveltejs/kit': 1.22.3(svelte@4.1.1)(vite@4.4.7)
'@sveltejs/kit': 1.22.4(svelte@4.1.2)(vite@4.4.7)
'@vercel/nft': 0.22.6
esbuild: 0.16.8
transitivePeerDependencies:
@ -1280,8 +1313,8 @@ packages:
- supports-color
dev: true
/@sveltejs/kit@1.22.3(svelte@4.1.1)(vite@4.4.7):
resolution: {integrity: sha512-IpHD5wvuoOIHYaHQUBJ1zERD2Iz+fB/rBXhXjl8InKw6X4VKE9BSus+ttHhE7Ke+Ie9ecfilzX8BnWE3FeQyng==}
/@sveltejs/kit@1.22.4(svelte@4.1.2)(vite@4.4.7):
resolution: {integrity: sha512-Opkqw1QXk4Cc25b/heJP2D7mX+OUBFAq4MXKfET58svTTxdeiHFKzmnuRsSF3nmxESqrLjqPAgHpib+knNGzRw==}
engines: {node: ^16.14 || >=18}
hasBin: true
requiresBuild: true
@ -1289,7 +1322,7 @@ packages:
svelte: ^3.54.0 || ^4.0.0-next.0
vite: ^4.0.0
dependencies:
'@sveltejs/vite-plugin-svelte': 2.4.1(svelte@4.1.1)(vite@4.4.7)
'@sveltejs/vite-plugin-svelte': 2.4.1(svelte@4.1.2)(vite@4.4.7)
'@types/cookie': 0.5.1
cookie: 0.5.0
devalue: 4.3.1
@ -1300,14 +1333,14 @@ packages:
sade: 1.8.1
set-cookie-parser: 2.6.0
sirv: 2.0.2
svelte: 4.1.1
svelte: 4.1.2
undici: 5.22.0
vite: 4.4.7(@types/node@18.17.1)(sass@1.64.1)
transitivePeerDependencies:
- supports-color
dev: true
/@sveltejs/vite-plugin-svelte-inspector@1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@4.1.1)(vite@4.4.7):
/@sveltejs/vite-plugin-svelte-inspector@1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@4.1.2)(vite@4.4.7):
resolution: {integrity: sha512-Cy1dUMcYCnDVV/hPLXa43YZJ2jGKVW5rA0xuNL9dlmYhT0yoS1g7+FOFSRlgk0BXKk/Oc7grs+8BVA5Iz2fr8A==}
engines: {node: ^14.18.0 || >= 16}
peerDependencies:
@ -1315,28 +1348,28 @@ packages:
svelte: ^3.54.0 || ^4.0.0-next.0
vite: ^4.0.0
dependencies:
'@sveltejs/vite-plugin-svelte': 2.4.1(svelte@4.1.1)(vite@4.4.7)
'@sveltejs/vite-plugin-svelte': 2.4.1(svelte@4.1.2)(vite@4.4.7)
debug: 4.3.4
svelte: 4.1.1
svelte: 4.1.2
vite: 4.4.7(@types/node@18.17.1)(sass@1.64.1)
transitivePeerDependencies:
- supports-color
dev: true
/@sveltejs/vite-plugin-svelte@2.4.1(svelte@4.1.1)(vite@4.4.7):
/@sveltejs/vite-plugin-svelte@2.4.1(svelte@4.1.2)(vite@4.4.7):
resolution: {integrity: sha512-bNNKvoRY89ptY7udeBSCmTdCVwkjmMcZ0j/z9J5MuedT8jPjq0zrknAo/jF1sToAza4NVaAgR9AkZoD9oJJmnA==}
engines: {node: ^14.18.0 || >= 16}
peerDependencies:
svelte: ^3.54.0 || ^4.0.0-next.0
vite: ^4.0.0
dependencies:
'@sveltejs/vite-plugin-svelte-inspector': 1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@4.1.1)(vite@4.4.7)
'@sveltejs/vite-plugin-svelte-inspector': 1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@4.1.2)(vite@4.4.7)
debug: 4.3.4
deepmerge: 4.3.1
kleur: 4.1.5
magic-string: 0.30.0
svelte: 4.1.1
svelte-hmr: 0.15.2(svelte@4.1.1)
svelte: 4.1.2
svelte-hmr: 0.15.2(svelte@4.1.2)
vite: 4.4.7(@types/node@18.17.1)(sass@1.64.1)
vitefu: 0.2.4(vite@4.4.7)
transitivePeerDependencies:
@ -1395,7 +1428,7 @@ packages:
resolution: {integrity: sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==}
dev: false
/@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.45.0)(typescript@5.1.6):
/@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.46.0)(typescript@5.1.6):
resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@ -1407,12 +1440,12 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.5.0
'@typescript-eslint/parser': 5.62.0(eslint@8.45.0)(typescript@5.1.6)
'@typescript-eslint/parser': 5.62.0(eslint@8.46.0)(typescript@5.1.6)
'@typescript-eslint/scope-manager': 5.62.0
'@typescript-eslint/type-utils': 5.62.0(eslint@8.45.0)(typescript@5.1.6)
'@typescript-eslint/utils': 5.62.0(eslint@8.45.0)(typescript@5.1.6)
'@typescript-eslint/type-utils': 5.62.0(eslint@8.46.0)(typescript@5.1.6)
'@typescript-eslint/utils': 5.62.0(eslint@8.46.0)(typescript@5.1.6)
debug: 4.3.4
eslint: 8.45.0
eslint: 8.46.0
graphemer: 1.4.0
ignore: 5.2.1
natural-compare-lite: 1.4.0
@ -1423,7 +1456,7 @@ packages:
- supports-color
dev: true
/@typescript-eslint/parser@5.62.0(eslint@8.45.0)(typescript@5.1.6):
/@typescript-eslint/parser@5.62.0(eslint@8.46.0)(typescript@5.1.6):
resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@ -1437,7 +1470,7 @@ packages:
'@typescript-eslint/types': 5.62.0
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6)
debug: 4.3.4
eslint: 8.45.0
eslint: 8.46.0
typescript: 5.1.6
transitivePeerDependencies:
- supports-color
@ -1451,7 +1484,7 @@ packages:
'@typescript-eslint/visitor-keys': 5.62.0
dev: true
/@typescript-eslint/type-utils@5.62.0(eslint@8.45.0)(typescript@5.1.6):
/@typescript-eslint/type-utils@5.62.0(eslint@8.46.0)(typescript@5.1.6):
resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@ -1462,9 +1495,9 @@ packages:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6)
'@typescript-eslint/utils': 5.62.0(eslint@8.45.0)(typescript@5.1.6)
'@typescript-eslint/utils': 5.62.0(eslint@8.46.0)(typescript@5.1.6)
debug: 4.3.4
eslint: 8.45.0
eslint: 8.46.0
tsutils: 3.21.0(typescript@5.1.6)
typescript: 5.1.6
transitivePeerDependencies:
@ -1497,19 +1530,19 @@ packages:
- supports-color
dev: true
/@typescript-eslint/utils@5.62.0(eslint@8.45.0)(typescript@5.1.6):
/@typescript-eslint/utils@5.62.0(eslint@8.46.0)(typescript@5.1.6):
resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0)
'@types/json-schema': 7.0.12
'@types/semver': 7.5.0
'@typescript-eslint/scope-manager': 5.62.0
'@typescript-eslint/types': 5.62.0
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6)
eslint: 8.45.0
eslint: 8.46.0
eslint-scope: 5.1.1
semver: 7.3.8
transitivePeerDependencies:
@ -1522,7 +1555,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.62.0
eslint-visitor-keys: 3.4.1
eslint-visitor-keys: 3.4.2
dev: true
/@vercel/nft@0.22.6:
@ -2124,16 +2157,16 @@ packages:
engines: {node: '>=10'}
dev: true
/eslint-config-prettier@8.8.0(eslint@8.45.0):
resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==}
/eslint-config-prettier@8.9.0(eslint@8.46.0):
resolution: {integrity: sha512-+sbni7NfVXnOpnRadUA8S28AUlsZt9GjgFvABIRL9Hkn8KqNzOp+7Lw4QWtrwn20KzU3wqu1QoOj2m+7rKRqkA==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
dependencies:
eslint: 8.45.0
eslint: 8.46.0
dev: true
/eslint-plugin-svelte@2.32.4(eslint@8.45.0)(svelte@4.1.1)(ts-node@10.9.1):
/eslint-plugin-svelte@2.32.4(eslint@8.46.0)(svelte@4.1.2)(ts-node@10.9.1):
resolution: {integrity: sha512-VJ12i2Iogug1jvhwxSlognnfGj76P5gks/V4pUD4SCSVQOp14u47MNP0zAG8AQR3LT0Fi1iUvIFnY4l9z5Rwbg==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
@ -2143,10 +2176,10 @@ packages:
svelte:
optional: true
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0)
'@jridgewell/sourcemap-codec': 1.4.15
debug: 4.3.4
eslint: 8.45.0
eslint: 8.46.0
esutils: 2.0.3
known-css-properties: 0.28.0
postcss: 8.4.27
@ -2154,8 +2187,8 @@ packages:
postcss-safe-parser: 6.0.0(postcss@8.4.27)
postcss-selector-parser: 6.0.13
semver: 7.5.3
svelte: 4.1.1
svelte-eslint-parser: 0.32.2(svelte@4.1.1)
svelte: 4.1.2
svelte-eslint-parser: 0.32.2(svelte@4.1.2)
transitivePeerDependencies:
- supports-color
- ts-node
@ -2169,36 +2202,28 @@ packages:
estraverse: 4.3.0
dev: true
/eslint-scope@7.2.0:
resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==}
/eslint-scope@7.2.2:
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
dev: true
/eslint-scope@7.2.1:
resolution: {integrity: sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
dev: true
/eslint-visitor-keys@3.4.1:
resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==}
/eslint-visitor-keys@3.4.2:
resolution: {integrity: sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/eslint@8.45.0:
resolution: {integrity: sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==}
/eslint@8.46.0:
resolution: {integrity: sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0)
'@eslint-community/regexpp': 4.5.0
'@eslint/eslintrc': 2.1.0
'@eslint/js': 8.44.0
'@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0)
'@eslint-community/regexpp': 4.6.2
'@eslint/eslintrc': 2.1.1
'@eslint/js': 8.46.0
'@humanwhocodes/config-array': 0.11.10
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
@ -2208,9 +2233,9 @@ packages:
debug: 4.3.4
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.0
eslint-visitor-keys: 3.4.1
espree: 9.6.0
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.2
espree: 9.6.1
esquery: 1.5.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
@ -2240,22 +2265,13 @@ packages:
resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
dev: true
/espree@9.6.0:
resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
acorn: 8.10.0
acorn-jsx: 5.3.2(acorn@8.10.0)
eslint-visitor-keys: 3.4.1
dev: true
/espree@9.6.1:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
acorn: 8.10.0
acorn-jsx: 5.3.2(acorn@8.10.0)
eslint-visitor-keys: 3.4.1
eslint-visitor-keys: 3.4.2
dev: true
/esquery@1.5.0:
@ -2382,6 +2398,11 @@ packages:
resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
dev: true
/focus-trap@7.5.2:
resolution: {integrity: sha512-p6vGNNWLDGwJCiEjkSK6oERj/hEyI9ITsSwIUICBoKLlWiTWXJRfQibCwcoi50rTZdbi87qDtUlMCmQwsGSgPw==}
dependencies:
tabbable: 6.2.0
/follow-redirects@1.15.2:
resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==}
engines: {node: '>=4.0'}
@ -2738,12 +2759,12 @@ packages:
resolution: {integrity: sha512-WRBMoZIgTHH6y2bAEHZWgWcMH6tDsQ+wf45juUgmn3ycjipn/e6OGpWki4XSjEuRm50WXghH+2EF9LCjCHUsUw==}
dev: false
/lucide-svelte@0.256.1(svelte@4.1.1):
/lucide-svelte@0.256.1(svelte@4.1.2):
resolution: {integrity: sha512-Fk8kQ5Xal9lxvX7T4fkyo592so3zzBtwfAfCOtptEh68jOKery/DyMlhY5m/Bh0M0pvb87soakYchighTBzPLQ==}
peerDependencies:
svelte: '>=3 <5'
dependencies:
svelte: 4.1.1
svelte: 4.1.2
dev: false
/magic-string@0.27.0:
@ -2875,6 +2896,11 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
/nanoid@4.0.2:
resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==}
engines: {node: ^14 || ^16 || >=18}
hasBin: true
/natural-compare-lite@1.4.0:
resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
dev: true
@ -3473,14 +3499,14 @@ packages:
engines: {node: '>= 0.8.0'}
dev: true
/prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@4.1.1):
/prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@4.1.2):
resolution: {integrity: sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==}
peerDependencies:
prettier: ^1.16.4 || ^2.0.0
svelte: ^3.2.0 || ^4.0.0-next.0
dependencies:
prettier: 2.8.8
svelte: 4.1.1
svelte: 4.1.2
dev: true
/prettier@2.8.8:
@ -3493,13 +3519,13 @@ packages:
resolution: {integrity: sha512-db91Bf3pRGKDPz1lAqLFSJXeW13mulUJxhycysFpfXV5MIK7RgWWK2E5aPAa71s8TCzQUXxF5JOV42/iOs6QkA==}
dev: false
/prisma@4.16.2:
resolution: {integrity: sha512-SYCsBvDf0/7XSJyf2cHTLjLeTLVXYfqp7pG5eEVafFLeT0u/hLFz/9W196nDRGUOo1JfPatAEb+uEnTQImQC1g==}
engines: {node: '>=14.17'}
/prisma@5.1.0:
resolution: {integrity: sha512-wkXvh+6wxk03G8qwpZMOed4Y3j+EQ+bMTlvbDZHeal6k1E8QuGKzRO7DRXlE1NV0WNgOAas8kwZqcLETQ2+BiQ==}
engines: {node: '>=16.13'}
hasBin: true
requiresBuild: true
dependencies:
'@prisma/engines': 4.16.2
'@prisma/engines': 5.1.0
/prismjs@1.29.0:
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
@ -3518,14 +3544,14 @@ packages:
/queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
/radix-svelte@0.8.0(svelte@4.1.1):
/radix-svelte@0.8.0(svelte@4.1.2):
resolution: {integrity: sha512-VweSd96EiLCml9wA6krPQFxyZfci+A7phAPl9J6QH4nivKroFV2EUSGo9wAnqM2u04nI2mxGKa+wfMhNy84GVg==}
peerDependencies:
svelte: ^3.58.0
dependencies:
'@floating-ui/core': 1.3.1
'@floating-ui/dom': 1.4.2
svelte: 4.1.1
svelte: 4.1.2
dev: false
/read-cache@1.0.0:
@ -3796,7 +3822,7 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
/svelte-check@3.4.6(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.1):
/svelte-check@3.4.6(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.2):
resolution: {integrity: sha512-OBlY8866Zh1zHQTkBMPS6psPi7o2umTUyj6JWm4SacnIHXpWFm658pG32m3dKvKFL49V4ntAkfFHKo4ztH07og==}
hasBin: true
peerDependencies:
@ -3808,8 +3834,8 @@ packages:
import-fresh: 3.3.0
picocolors: 1.0.0
sade: 1.8.1
svelte: 4.1.1
svelte-preprocess: 5.0.4(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.1)(typescript@5.1.6)
svelte: 4.1.2
svelte-preprocess: 5.0.4(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.2)(typescript@5.1.6)
typescript: 5.1.6
transitivePeerDependencies:
- '@babel/core'
@ -3823,7 +3849,7 @@ packages:
- sugarss
dev: true
/svelte-eslint-parser@0.32.2(svelte@4.1.1):
/svelte-eslint-parser@0.32.2(svelte@4.1.2):
resolution: {integrity: sha512-Ok9D3A4b23iLQsONrjqtXtYDu5ZZ/826Blaw2LeFZVTg1pwofKDG4mz3/GYTax8fQ0plRGHI6j+d9VQYy5Lo/A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@ -3832,45 +3858,45 @@ packages:
svelte:
optional: true
dependencies:
eslint-scope: 7.2.1
eslint-visitor-keys: 3.4.1
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.2
espree: 9.6.1
postcss: 8.4.27
postcss-scss: 4.0.6(postcss@8.4.27)
svelte: 4.1.1
svelte: 4.1.2
dev: true
/svelte-french-toast@1.2.0(svelte@4.1.1):
/svelte-french-toast@1.2.0(svelte@4.1.2):
resolution: {integrity: sha512-5PW+6RFX3xQPbR44CngYAP1Sd9oCq9P2FOox4FZffzJuZI2mHOB7q5gJBVnOiLF5y3moVGZ7u2bYt7+yPAgcEQ==}
peerDependencies:
svelte: ^3.57.0 || ^4.0.0
dependencies:
svelte: 4.1.1
svelte-writable-derived: 3.1.0(svelte@4.1.1)
svelte: 4.1.2
svelte-writable-derived: 3.1.0(svelte@4.1.2)
dev: false
/svelte-hmr@0.15.2(svelte@4.1.1):
/svelte-hmr@0.15.2(svelte@4.1.2):
resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==}
engines: {node: ^12.20 || ^14.13.1 || >= 16}
peerDependencies:
svelte: ^3.19.0 || ^4.0.0-next.0
dependencies:
svelte: 4.1.1
svelte: 4.1.2
dev: true
/svelte-lazy-loader@1.0.0:
resolution: {integrity: sha512-AZD6R60vksyojn21FgXLglmBiBB9K5Dkdu0hdGrLbCaRCYT68IsWkZfRUqKhMx1IfzqWcZQ8X9y/f+Ih0oNQkQ==}
dev: false
/svelte-lazy@1.2.1(svelte@4.1.1):
/svelte-lazy@1.2.1(svelte@4.1.2):
resolution: {integrity: sha512-8L+GrU5p0ia/nLDeGDMTC+DtmbXlFcoaTPoSf8jIy1NoKicqSJXz5tjiu6GUsD7ra0RjgIvhQiLcdZYR9VECeA==}
peerDependencies:
svelte: 3.x
dependencies:
svelte: 4.1.1
svelte: 4.1.2
dev: false
/svelte-legos@0.2.1(svelte@4.1.1):
/svelte-legos@0.2.1(svelte@4.1.2):
resolution: {integrity: sha512-M7IncWP2e8FaHzQN1DSzxLSoq/6aQYWZ93REZam9bYlvLEjdPGWLAYdpPNnnZtXlHco+o3zrgYTdwsyyS9beUQ==}
peerDependencies:
svelte: ^3.54.0
@ -3878,10 +3904,10 @@ packages:
canvas-confetti: 1.6.0
prism-svelte: 0.5.0
prismjs: 1.29.0
svelte: 4.1.1
svelte: 4.1.2
dev: false
/svelte-preprocess@5.0.4(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.1)(typescript@5.1.6):
/svelte-preprocess@5.0.4(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.2)(typescript@5.1.6):
resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==}
engines: {node: '>= 14.10.0'}
requiresBuild: true
@ -3927,20 +3953,28 @@ packages:
sass: 1.64.1
sorcery: 0.11.0
strip-indent: 3.0.0
svelte: 4.1.1
svelte: 4.1.2
typescript: 5.1.6
dev: true
/svelte-writable-derived@3.1.0(svelte@4.1.1):
/svelte-sequential-preprocessor@2.0.1:
resolution: {integrity: sha512-N5JqlBni6BzElxmuFrOPxOJnjsxh1cFDACLEVKs8OHBcx8ZNRO1p5SxuQex1m3qbLzAC8G99EHeWcxGkjyKjLQ==}
engines: {node: '>=16'}
dependencies:
svelte: 4.1.2
tslib: 2.6.1
dev: true
/svelte-writable-derived@3.1.0(svelte@4.1.2):
resolution: {integrity: sha512-cTvaVFNIJ036vSDIyPxJYivKC7ZLtcFOPm1Iq6qWBDo1fOHzfk6ZSbwaKrxhjgy52Rbl5IHzRcWgos6Zqn9/rg==}
peerDependencies:
svelte: ^3.2.1 || ^4.0.0-next.1
dependencies:
svelte: 4.1.1
svelte: 4.1.2
dev: false
/svelte@4.1.1:
resolution: {integrity: sha512-Enick5fPFISLoVy0MFK45cG+YlQt6upw8skEK9zzTpJnH1DqEv8xOZwizCGSo3Q6HZ7KrZTM0J18poF7aQg5zw==}
/svelte@4.1.2:
resolution: {integrity: sha512-/evA8U6CgOHe5ZD1C1W3va9iJG7mWflcCdghBORJaAhD2JzrVERJty/2gl0pIPrJYBGZwZycH6onYf+64XXF9g==}
engines: {node: '>=16'}
dependencies:
'@ampproject/remapping': 2.2.1
@ -3957,28 +3991,31 @@ packages:
magic-string: 0.30.0
periscopic: 3.1.0
/sveltekit-flash-message@2.1.0(@sveltejs/kit@1.22.3)(svelte@4.1.1):
/sveltekit-flash-message@2.1.0(@sveltejs/kit@1.22.4)(svelte@4.1.2):
resolution: {integrity: sha512-I9UOYsFpONLu9erXHG8CeHW1tQVZguRUDXV3NHbi6kVA4jPG12R2ypJBrcYW7UyZOLBp3Y3FdVyemkaAmfwr/w==}
peerDependencies:
'@sveltejs/kit': 1.x
svelte: 3.x || 4.x
dependencies:
'@sveltejs/kit': 1.22.3(svelte@4.1.1)(vite@4.4.7)
svelte: 4.1.1
'@sveltejs/kit': 1.22.4(svelte@4.1.2)(vite@4.4.7)
svelte: 4.1.2
dev: true
/sveltekit-superforms@1.5.0(@sveltejs/kit@1.22.3)(svelte@4.1.1)(zod@3.21.4):
/sveltekit-superforms@1.5.0(@sveltejs/kit@1.22.4)(svelte@4.1.2)(zod@3.21.4):
resolution: {integrity: sha512-c/2v6zN9rtIAsOfsd6rBV7Kf0lB2+/o6sAFaOuMrYPlTBro5lpbz3iN/3nM5D3EuLE2Xt/iDdZYpkQdH8rq4nQ==}
peerDependencies:
'@sveltejs/kit': 1.x
svelte: 3.x || 4.x
zod: 3.x
dependencies:
'@sveltejs/kit': 1.22.3(svelte@4.1.1)(vite@4.4.7)
svelte: 4.1.1
'@sveltejs/kit': 1.22.4(svelte@4.1.2)(vite@4.4.7)
svelte: 4.1.2
zod: 3.21.4
dev: true
/tabbable@6.2.0:
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
/tailwind-merge@1.14.0:
resolution: {integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==}
dev: false

View file

@ -2,8 +2,13 @@
import { enhance } from '$app/forms';
import { LogOut } from 'lucide-svelte';
import Button from '$components/ui/button/Button.svelte';
import { createDropdownMenu } from '@melt-ui/svelte'
const { menu, item, trigger, arrow, separator } = createDropdownMenu();
// import Profile from '../preferences/profile.svelte';
import logo from './bored-game.png';
import Avatar from '$components/ui/avatar/Avatar.svelte';
import AvatarImage from '$components/ui/avatar/AvatarImage.svelte';
import AvatarFallback from '$components/ui/avatar/AvatarFallback.svelte';
export let user: any;
</script>
@ -19,7 +24,37 @@
{#if user}
<a href="/collection" title="Go to your collection" data-sveltekit-preload-data>Collection</a>
<a href="/wishlist" title="Go to your wishlist" data-sveltekit-preload-data>Wishlist</a>
<form
<button melt={$trigger}>
<Avatar class="h-16 w-16 bg-neutral-100">
<AvatarFallback class="text-3xl font-medium text-magnum-700">
{user?.username.slice(0, 2).toUpperCase() || '?'}
</AvatarFallback>
</Avatar>
</button>
<div melt={$menu}>
<div {...$item} use:item>
<a href="/profile">Profile</a>
</div>
<div class="separator" melt={$separator} />
<div {...$item} use:item={{
onSelect: (e) => {
e.preventDefault();
}
}}>
<form
use:enhance
action="/auth/signout"
method="POST"
>
<Button type="submit">
<LogOut class="mr-2 h-4 w-4"/>
Sign out
</Button>
</form>
</div>
<div melt={$arrow} />
</div>
<!-- <form
use:enhance
action="/auth/signout"
method="POST"
@ -28,7 +63,7 @@
<LogOut class="mr-2 h-4 w-4"/>
Sign out
</Button>
</form>
</form> -->
{/if}
{#if !user}
<a href="/auth/signin">
@ -69,8 +104,8 @@
}
.corner img {
width: 2em;
height: 2em;
width: 1.5em;
height: 1.5em;
object-fit: contain;
}
@ -84,10 +119,10 @@
}
nav a {
display: flex;
height: 100%;
align-items: center;
padding: 0 1em;
/* display: flex; */
/* height: 100%; */
/* align-items: center; */
/* padding: 0 1em; */
color: var(--heading-color);
font-weight: 700;
text-transform: uppercase;

View file

@ -0,0 +1,110 @@
<script lang="ts">
import { superForm } from 'sveltekit-superforms/client';
//import SuperDebug from 'sveltekit-superforms/client/SuperDebug.svelte';
import { userSchema } from '$lib/config/zod-schemas';
import { AlertTriangle } from 'lucide-svelte';
export let data;
const signUpSchema = userSchema.pick({
firstName: true,
lastName: true,
email: true
});
const { form, errors, enhance, delayed, message } = superForm(data.form, {
taintedMessage: null,
validators: signUpSchema,
delayMs: 0
});
</script>
<form method="POST" use:enhance>
<!--<SuperDebug data={$form} />-->
<h3>Profile</h3>
<hr class="!border-t-2 mt-2 mb-6" />
{#if $message}
<aside class="alert variant-filled-success mt-6">
<!-- Message -->
<div class="alert-message">
<p>{$message}</p>
</div>
</aside>
{/if}
{#if $errors._errors}
<aside class="alert variant-filled-error mt-6">
<!-- Icon -->
<div><AlertTriangle size="42" /></div>
<!-- Message -->
<div class="alert-message">
<h3 class="h3">Sign In Problem</h3>
<p>{$errors._errors}</p>
</div>
</aside>
{/if}
<div class="mt-6">
<label class="label">
<span class="">First Name</span>
<input
id="firstName"
name="firstName"
type="text"
placeholder="First Name"
autocomplete="given-name"
data-invalid={$errors.firstName}
bind:value={$form.firstName}
class="input"
class:input-error={$errors.firstName}
/>
{#if $errors.firstName}
<small>{$errors.firstName}</small>
{/if}
</label>
</div>
<div class="mt-6">
<label class="label">
<span class="">Last Name</span>
<input
id="lastName"
name="lastName"
type="text"
placeholder="Last Name"
autocomplete="family-name"
data-invalid={$errors.lastName}
bind:value={$form.lastName}
class="input"
class:input-error={$errors.lastName}
/>
{#if $errors.lastName}
<small>{$errors.lastName}</small>
{/if}
</label>
</div>
<div class="mt-6">
<label class="label">
<span class="">Email address</span>
<input
id="email"
name="email"
type="email"
placeholder="Email address"
autocomplete="email"
data-invalid={$errors.email}
bind:value={$form.email}
class="input"
class:input-error={$errors.email}
/>
{#if $errors.email}
<small>{$errors.email}</small>
{/if}
</label>
</div>
<div class="mt-6">
<a href="/auth/password/reset">Change Password</a>
</div>
<div class="mt-6">
<!-- <button type="submit" class="btn variant-filled-primary w-full"
>{#if $delayed}<ConicGradient stops={conicStops} spin width="w-6" />{:else}Update Profile{/if}</button
> -->
</div>
</form>

View file

@ -71,13 +71,13 @@
export let data;
$: ({ user } = data);
const flash = getFlash(page);
const flash = getFlash(page, {
clearAfterMs: 6000
});
let flashType;
let flashMessage;
$: flashType = $flash?.type;
$: flashMessage = $flash?.message;
console.log('flashType', flashType);
console.log('flashMessage', flashMessage);
// if ($flash && flashType && flashMessage) {
// switch (flashType) {
@ -97,6 +97,22 @@
$theme = user?.theme || 'system';
document.querySelector('html')?.setAttribute('data-theme', $theme);
});
flash.subscribe(($flash) => {
if (!$flash) return;
if ($flash.type == 'success') {
toast.success($flash.message);
} else {
toast.error($flash.message, {
duration: 5000
});
}
// Clearing the flash message could sometimes
// be required here to avoid double-toasting.
flash.set(undefined);
});
</script>
{#if !dev}
@ -115,15 +131,6 @@
<Footer />
</div>
{#if $flash}
<div class="status"
class:error={$flash.type == 'error'}
class:success={$flash.type == 'success'}
>
{$flash.message}
</div>
{/if}
<Toaster />
{#if $boredState?.loading}

View file

@ -1,10 +1,13 @@
import adapter from '@sveltejs/adapter-vercel';
import { vitePreprocess } from '@sveltejs/kit/vite';
import { preprocessMeltUI } from '@melt-ui/pp';
import sequence from 'svelte-sequential-preprocessor';
/** @type {import('@sveltejs/kit').Config}*/
const config = {
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
// for more information about preprocessors
preprocess: [vitePreprocess({})],
preprocess: sequence([vitePreprocess({}), preprocessMeltUI()]),
vitePlugin: {
inspector: true
},