diff --git a/package.json b/package.json
index 895dac0..548b38c 100644
--- a/package.json
+++ b/package.json
@@ -3,10 +3,11 @@
"version": "0.0.1",
"private": true,
"scripts": {
- "dev": "vite dev",
+ "dev": "NODE_OPTIONS=\"--inspect\" vite dev --host",
"build": "vite build",
"preview": "vite preview",
"test": "npm run test:integration && npm run test:unit",
+ "test:ui": "svelte-kit sync && playwright test --ui",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
"lint": "prettier --plugin-search-dir . --check . && eslint .",
@@ -19,11 +20,12 @@
"@iconify-icons/mdi": "^1.2.48",
"@iconify-icons/radix-icons": "^1.2.9",
"@iconify-icons/simple-icons": "^1.2.74",
- "@melt-ui/pp": "^0.1.2",
+ "@melt-ui/pp": "^0.1.4",
"@playwright/test": "^1.39.0",
"@sveltejs/adapter-static": "^2.0.3",
"@sveltejs/adapter-vercel": "^1.0.6",
- "@sveltejs/kit": "^1.27.3",
+ "@sveltejs/enhanced-img": "^0.1.1",
+ "@sveltejs/kit": "^1.27.5",
"@typescript-eslint/eslint-plugin": "^5.62.0",
"@typescript-eslint/parser": "^5.62.0",
"@zerodevx/svelte-img": "^2.1.0",
@@ -44,11 +46,11 @@
"sass": "^1.69.5",
"scrape-it": "^6.1.0",
"sharp": "^0.32.6",
- "svelte": "^4.2.2",
- "svelte-check": "^3.5.2",
+ "svelte": "^4.2.3",
+ "svelte-check": "^3.6.0",
"svelte-lazy-loader": "^1.0.0",
- "svelte-meta-tags": "^3.0.4",
- "svelte-preprocess": "^5.0.4",
+ "svelte-meta-tags": "^3.1.0",
+ "svelte-preprocess": "^5.1.0",
"svelte-sequential-preprocessor": "^2.0.1",
"tslib": "^2.6.2",
"typescript": "^5.2.2",
@@ -58,6 +60,10 @@
"vitest": "^0.32.2"
},
"type": "module",
+ "engines": {
+ "node": ">=18.0.0 <19.0.0 || >=20.0.0 <21.0.0",
+ "pnpm": ">=8"
+ },
"dependencies": {
"@melt-ui/svelte": "^0.50.1",
"@types/nprogress": "^0.2.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index e2fff21..b24adfd 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,7 +7,7 @@ settings:
dependencies:
'@melt-ui/svelte':
specifier: ^0.50.1
- version: 0.50.1(svelte@4.2.2)
+ version: 0.50.1(svelte@4.2.3)
'@types/nprogress':
specifier: ^0.2.3
version: 0.2.3
@@ -32,20 +32,23 @@ devDependencies:
specifier: ^1.2.74
version: 1.2.74
'@melt-ui/pp':
- specifier: ^0.1.2
- version: 0.1.2(@melt-ui/svelte@0.50.1)(svelte@4.2.2)
+ specifier: ^0.1.4
+ version: 0.1.4(@melt-ui/svelte@0.50.1)(svelte@4.2.3)
'@playwright/test':
specifier: ^1.39.0
version: 1.39.0
'@sveltejs/adapter-static':
specifier: ^2.0.3
- version: 2.0.3(@sveltejs/kit@1.27.3)
+ version: 2.0.3(@sveltejs/kit@1.27.5)
'@sveltejs/adapter-vercel':
specifier: ^1.0.6
- version: 1.0.6(@sveltejs/kit@1.27.3)
+ version: 1.0.6(@sveltejs/kit@1.27.5)
+ '@sveltejs/enhanced-img':
+ specifier: ^0.1.1
+ version: 0.1.1(svelte@4.2.3)
'@sveltejs/kit':
- specifier: ^1.27.3
- version: 1.27.3(svelte@4.2.2)(vite@4.5.0)
+ specifier: ^1.27.5
+ version: 1.27.5(svelte@4.2.3)(vite@4.5.0)
'@typescript-eslint/eslint-plugin':
specifier: ^5.62.0
version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.53.0)(typescript@5.2.2)
@@ -54,7 +57,7 @@ devDependencies:
version: 5.62.0(eslint@8.53.0)(typescript@5.2.2)
'@zerodevx/svelte-img':
specifier: ^2.1.0
- version: 2.1.0(svelte@4.2.2)
+ version: 2.1.0(svelte@4.2.3)
autoprefixer:
specifier: ^10.4.16
version: 10.4.16(postcss@8.4.31)
@@ -66,7 +69,7 @@ devDependencies:
version: 8.10.0(eslint@8.53.0)
eslint-plugin-svelte:
specifier: ^2.35.0
- version: 2.35.0(eslint@8.53.0)(svelte@4.2.2)
+ version: 2.35.0(eslint@8.53.0)(svelte@4.2.3)
iconify-icon:
specifier: ^1.0.8
version: 1.0.8
@@ -75,7 +78,7 @@ devDependencies:
version: 4.3.0
mdsvex:
specifier: ^0.10.6
- version: 0.10.6(svelte@4.2.2)
+ version: 0.10.6(svelte@4.2.3)
mdsvex-relative-images:
specifier: ^1.0.3
version: 1.0.3
@@ -96,7 +99,7 @@ devDependencies:
version: 2.8.8
prettier-plugin-svelte:
specifier: ^2.10.1
- version: 2.10.1(prettier@2.8.8)(svelte@4.2.2)
+ version: 2.10.1(prettier@2.8.8)(svelte@4.2.3)
sass:
specifier: ^1.69.5
version: 1.69.5
@@ -107,20 +110,20 @@ devDependencies:
specifier: ^0.32.6
version: 0.32.6
svelte:
- specifier: ^4.2.2
- version: 4.2.2
+ specifier: ^4.2.3
+ version: 4.2.3
svelte-check:
- specifier: ^3.5.2
- version: 3.5.2(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.2)
+ specifier: ^3.6.0
+ version: 3.6.0(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.3)
svelte-lazy-loader:
specifier: ^1.0.0
version: 1.0.0
svelte-meta-tags:
- specifier: ^3.0.4
- version: 3.0.4(svelte@4.2.2)(typescript@5.2.2)
+ specifier: ^3.1.0
+ version: 3.1.0(svelte@4.2.3)(typescript@5.2.2)
svelte-preprocess:
- specifier: ^5.0.4
- version: 5.0.4(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.2)(typescript@5.2.2)
+ specifier: ^5.1.0
+ version: 5.1.0(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.3)(typescript@5.2.2)
svelte-sequential-preprocessor:
specifier: ^2.0.1
version: 2.0.1
@@ -1126,18 +1129,19 @@ packages:
- supports-color
dev: true
- /@melt-ui/pp@0.1.2(@melt-ui/svelte@0.50.1)(svelte@4.2.2):
- resolution: {integrity: sha512-GZeqp7UWLNZUC2dJpREnZrWMR88vy27WO7C3cIBz4KW3/CFD19FjNkd3VbSRfcRryrMkdnEs9nu2VUa8/0u58w==}
+ /@melt-ui/pp@0.1.4(@melt-ui/svelte@0.50.1)(svelte@4.2.3):
+ resolution: {integrity: sha512-zR+Kl3CZJPJBHW8V7YcdQCMI/dVcnW9Ct3yGbVaIywYVStVRS7F9uEDOea3xLLT2WTGodQePzPlUn53yKFu87g==}
engines: {pnpm: '>=8.6.3'}
peerDependencies:
'@melt-ui/svelte': '>= 0.29.0'
- svelte: ^3.55.0 || ^4.0.0
+ svelte: ^3.55.0 || ^4.0.0 || ^5.0.0-next.1
dependencies:
- '@melt-ui/svelte': 0.50.1(svelte@4.2.2)
- svelte: 4.2.2
+ '@melt-ui/svelte': 0.50.1(svelte@4.2.3)
+ estree-walker: 3.0.3
+ svelte: 4.2.3
dev: true
- /@melt-ui/svelte@0.50.1(svelte@4.2.2):
+ /@melt-ui/svelte@0.50.1(svelte@4.2.3):
resolution: {integrity: sha512-MIenasd8a5jXgynNKmH5JNSrDBS0EKUK4BImgyD0R6Vbzrll6rQquBIxlh5PeqVhZ2azDIEh/yRkwaOFi2HEgw==}
peerDependencies:
svelte: '>=3 <5'
@@ -1147,7 +1151,7 @@ packages:
dequal: 2.0.3
focus-trap: 7.5.3
nanoid: 4.0.2
- svelte: 4.2.2
+ svelte: 4.2.3
/@nodelib/fs.scandir@2.1.5:
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
@@ -1208,20 +1212,20 @@ packages:
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
dev: true
- /@sveltejs/adapter-static@2.0.3(@sveltejs/kit@1.27.3):
+ /@sveltejs/adapter-static@2.0.3(@sveltejs/kit@1.27.5):
resolution: {integrity: sha512-VUqTfXsxYGugCpMqQv1U0LIdbR3S5nBkMMDmpjGVJyM6Q2jHVMFtdWJCkeHMySc6mZxJ+0eZK3T7IgmUCDrcUQ==}
peerDependencies:
'@sveltejs/kit': ^1.5.0
dependencies:
- '@sveltejs/kit': 1.27.3(svelte@4.2.2)(vite@4.5.0)
+ '@sveltejs/kit': 1.27.5(svelte@4.2.3)(vite@4.5.0)
dev: true
- /@sveltejs/adapter-vercel@1.0.6(@sveltejs/kit@1.27.3):
+ /@sveltejs/adapter-vercel@1.0.6(@sveltejs/kit@1.27.5):
resolution: {integrity: sha512-fo6aaEygPd/6B5Jms4Ff7R4jbADnppuLvKOWBNTGe5MGB7ZRUkl+gxHWMQx2av2knyEZkA6V8y5M6R3ML5yN4g==}
peerDependencies:
'@sveltejs/kit': ^1.0.0
dependencies:
- '@sveltejs/kit': 1.27.3(svelte@4.2.2)(vite@4.5.0)
+ '@sveltejs/kit': 1.27.5(svelte@4.2.3)(vite@4.5.0)
'@vercel/nft': 0.22.6
esbuild: 0.16.17
transitivePeerDependencies:
@@ -1229,16 +1233,27 @@ packages:
- supports-color
dev: true
- /@sveltejs/kit@1.27.3(svelte@4.2.2)(vite@4.5.0):
- resolution: {integrity: sha512-pd7qwX6ww5noA0/FLk45B0aKUeOXWR+pfZsGTrv3dRmj3lTmnki9UTmTdWzHJGrje+BBkGUZHfgGrsSOQQBQpQ==}
+ /@sveltejs/enhanced-img@0.1.1(svelte@4.2.3):
+ resolution: {integrity: sha512-euWs+GU6F3f7tqtwrDCW5AOFwRMTusHcW4uyD/0AMBJVftj2/N0scoB6hEtTk8rkwIOT/AkawZhmL+GGketVig==}
+ dependencies:
+ magic-string: 0.30.5
+ svelte-parse-markup: 0.1.2(svelte@4.2.3)
+ vite-imagetools: 6.2.3
+ transitivePeerDependencies:
+ - rollup
+ - svelte
+ dev: true
+
+ /@sveltejs/kit@1.27.5(svelte@4.2.3)(vite@4.5.0):
+ resolution: {integrity: sha512-+L1WPs/ZYNjXoBFoFARypD4aZOjkT51vFpRCtQI45+Fmmfi4Y0dH/8VFlmYD6VlGe89ViIPg7lgf/JpGQ2tr7A==}
engines: {node: ^16.14 || >=18}
hasBin: true
requiresBuild: true
peerDependencies:
- svelte: ^3.54.0 || ^4.0.0-next.0
+ svelte: ^3.54.0 || ^4.0.0-next.0 || ^5.0.0-next.0
vite: ^4.0.0
dependencies:
- '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@4.2.2)(vite@4.5.0)
+ '@sveltejs/vite-plugin-svelte': 2.5.2(svelte@4.2.3)(vite@4.5.0)
'@types/cookie': 0.5.1
cookie: 0.5.0
devalue: 4.3.1
@@ -1249,7 +1264,7 @@ packages:
sade: 1.8.1
set-cookie-parser: 2.6.0
sirv: 2.0.2
- svelte: 4.2.2
+ svelte: 4.2.3
tiny-glob: 0.2.9
undici: 5.26.5
vite: 4.5.0(@types/node@20.7.0)(sass@1.69.5)
@@ -1257,38 +1272,38 @@ packages:
- supports-color
dev: true
- /@sveltejs/vite-plugin-svelte-inspector@1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@4.2.2)(vite@4.5.0):
- resolution: {integrity: sha512-Cy1dUMcYCnDVV/hPLXa43YZJ2jGKVW5rA0xuNL9dlmYhT0yoS1g7+FOFSRlgk0BXKk/Oc7grs+8BVA5Iz2fr8A==}
+ /@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.5.2)(svelte@4.2.3)(vite@4.5.0):
+ resolution: {integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==}
engines: {node: ^14.18.0 || >= 16}
peerDependencies:
'@sveltejs/vite-plugin-svelte': ^2.2.0
- svelte: ^3.54.0 || ^4.0.0-next.0
+ svelte: ^3.54.0 || ^4.0.0
vite: ^4.0.0
dependencies:
- '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@4.2.2)(vite@4.5.0)
+ '@sveltejs/vite-plugin-svelte': 2.5.2(svelte@4.2.3)(vite@4.5.0)
debug: 4.3.4
- svelte: 4.2.2
+ svelte: 4.2.3
vite: 4.5.0(@types/node@20.7.0)(sass@1.69.5)
transitivePeerDependencies:
- supports-color
dev: true
- /@sveltejs/vite-plugin-svelte@2.4.1(svelte@4.2.2)(vite@4.5.0):
- resolution: {integrity: sha512-bNNKvoRY89ptY7udeBSCmTdCVwkjmMcZ0j/z9J5MuedT8jPjq0zrknAo/jF1sToAza4NVaAgR9AkZoD9oJJmnA==}
+ /@sveltejs/vite-plugin-svelte@2.5.2(svelte@4.2.3)(vite@4.5.0):
+ resolution: {integrity: sha512-Dfy0Rbl+IctOVfJvWGxrX/3m6vxPLH8o0x+8FA5QEyMUQMo4kGOVIojjryU7YomBAexOTAuYf1RT7809yDziaA==}
engines: {node: ^14.18.0 || >= 16}
peerDependencies:
- svelte: ^3.54.0 || ^4.0.0-next.0
+ svelte: ^3.54.0 || ^4.0.0 || ^5.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.2.2)(vite@4.5.0)
+ '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.5.2)(svelte@4.2.3)(vite@4.5.0)
debug: 4.3.4
deepmerge: 4.3.1
kleur: 4.1.5
- magic-string: 0.30.0
- svelte: 4.2.2
- svelte-hmr: 0.15.2(svelte@4.2.2)
+ magic-string: 0.30.5
+ svelte: 4.2.3
+ svelte-hmr: 0.15.3(svelte@4.2.3)
vite: 4.5.0(@types/node@20.7.0)(sass@1.69.5)
- vitefu: 0.2.4(vite@4.5.0)
+ vitefu: 0.2.5(vite@4.5.0)
transitivePeerDependencies:
- supports-color
dev: true
@@ -1533,12 +1548,12 @@ packages:
pretty-format: 29.7.0
dev: true
- /@zerodevx/svelte-img@2.1.0(svelte@4.2.2):
+ /@zerodevx/svelte-img@2.1.0(svelte@4.2.3):
resolution: {integrity: sha512-ktOcv5svIm8qQQ7sBnSST1zaA5mJpTp+MbzaMeDNBEw4hulwzSD0VRPtq/pvYsjacA1OAw+JIN/qmBl7doh7HA==}
peerDependencies:
svelte: ^3.55.1 || ^4.0.0
dependencies:
- svelte: 4.2.2
+ svelte: 4.2.3
vite-imagetools: 5.0.8
transitivePeerDependencies:
- rollup
@@ -2273,7 +2288,7 @@ packages:
eslint: 8.53.0
dev: true
- /eslint-plugin-svelte@2.35.0(eslint@8.53.0)(svelte@4.2.2):
+ /eslint-plugin-svelte@2.35.0(eslint@8.53.0)(svelte@4.2.3):
resolution: {integrity: sha512-3WDFxNrkXaMlpqoNo3M1ZOQuoFLMO9+bdnN6oVVXaydXC7nzCJuGy9a0zqoNDHMSRPYt0Rqo6hIdHMEaI5sQnw==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -2295,8 +2310,8 @@ packages:
postcss-safe-parser: 6.0.0(postcss@8.4.31)
postcss-selector-parser: 6.0.13
semver: 7.5.3
- svelte: 4.2.2
- svelte-eslint-parser: 0.33.1(svelte@4.2.2)
+ svelte: 4.2.3
+ svelte-eslint-parser: 0.33.1(svelte@4.2.3)
transitivePeerDependencies:
- supports-color
- ts-node
@@ -2718,6 +2733,13 @@ packages:
sharp: 0.32.6
dev: true
+ /imagetools-core@5.1.1:
+ resolution: {integrity: sha512-NragdIrgxecFO8nRKy8uAYvDxe0QLEW5ToMEviAoNXpEnDQ6I4vs+npRa+z5fNB5nIku+jr11L+MuSkk7XzsKw==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ sharp: 0.32.6
+ dev: true
+
/immutable@4.2.2:
resolution: {integrity: sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==}
dev: true
@@ -2954,7 +2976,7 @@ packages:
unist-util-visit: 3.1.0
dev: true
- /mdsvex@0.10.6(svelte@4.2.2):
+ /mdsvex@0.10.6(svelte@4.2.3):
resolution: {integrity: sha512-aGRDY0r5jx9+OOgFdyB9Xm3EBr9OUmcrTDPWLB7a7g8VPRxzPy4MOBmcVYgz7ErhAJ7bZ/coUoj6aHio3x/2mA==}
peerDependencies:
svelte: 3.x
@@ -2962,7 +2984,7 @@ packages:
'@types/unist': 2.0.6
prism-svelte: 0.4.7
prismjs: 1.29.0
- svelte: 4.2.2
+ svelte: 4.2.3
vfile-message: 2.0.4
dev: true
@@ -3760,14 +3782,14 @@ packages:
engines: {node: '>= 0.8.0'}
dev: true
- /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@4.2.2):
+ /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@4.2.3):
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.2.2
+ svelte: 4.2.3
dev: true
/prettier@2.8.8:
@@ -4181,11 +4203,11 @@ packages:
engines: {node: '>= 0.4'}
dev: true
- /svelte-check@3.5.2(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.2):
- resolution: {integrity: sha512-5a/YWbiH4c+AqAUP+0VneiV5bP8YOk9JL3jwvN+k2PEPLgpu85bjQc5eE67+eIZBBwUEJzmO3I92OqKcqbp3fw==}
+ /svelte-check@3.6.0(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.3):
+ resolution: {integrity: sha512-8VfqhfuRJ1sKW+o8isH2kPi0RhjXH1nNsIbCFGyoUHG+ZxVxHYRKcb+S8eaL/1tyj3VGvWYx3Y5+oCUsJgnzcw==}
hasBin: true
peerDependencies:
- svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0
+ svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
dependencies:
'@jridgewell/trace-mapping': 0.3.17
chokidar: 3.5.3
@@ -4193,8 +4215,8 @@ packages:
import-fresh: 3.3.0
picocolors: 1.0.0
sade: 1.8.1
- svelte: 4.2.2
- svelte-preprocess: 5.0.4(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.2)(typescript@5.2.2)
+ svelte: 4.2.3
+ svelte-preprocess: 5.1.0(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.3)(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
- '@babel/core'
@@ -4208,7 +4230,7 @@ packages:
- sugarss
dev: true
- /svelte-eslint-parser@0.33.1(svelte@4.2.2):
+ /svelte-eslint-parser@0.33.1(svelte@4.2.3):
resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -4222,35 +4244,43 @@ packages:
espree: 9.6.1
postcss: 8.4.31
postcss-scss: 4.0.9(postcss@8.4.31)
- svelte: 4.2.2
+ svelte: 4.2.3
dev: true
- /svelte-hmr@0.15.2(svelte@4.2.2):
- resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==}
+ /svelte-hmr@0.15.3(svelte@4.2.3):
+ resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==}
engines: {node: ^12.20 || ^14.13.1 || >= 16}
peerDependencies:
- svelte: ^3.19.0 || ^4.0.0-next.0
+ svelte: ^3.19.0 || ^4.0.0
dependencies:
- svelte: 4.2.2
+ svelte: 4.2.3
dev: true
/svelte-lazy-loader@1.0.0:
resolution: {integrity: sha512-AZD6R60vksyojn21FgXLglmBiBB9K5Dkdu0hdGrLbCaRCYT68IsWkZfRUqKhMx1IfzqWcZQ8X9y/f+Ih0oNQkQ==}
dev: true
- /svelte-meta-tags@3.0.4(svelte@4.2.2)(typescript@5.2.2):
- resolution: {integrity: sha512-L2oYFoJM5HVy1nFsWf1xr+Ws8yV3Vh1OLDUYJ14Ygl/3SkwMlWS2CwgNmOAJWAZMWLfFH1v3ik9eVcbwrnURGw==}
+ /svelte-meta-tags@3.1.0(svelte@4.2.3)(typescript@5.2.2):
+ resolution: {integrity: sha512-wFBfpktSua1R5rdvQ/aFucvXmRqzDhRYrPpMQ/pL4+KL5QHIzomPf29a5WN3yDR0reSy1PXyQ2ah0+uCYCbi0g==}
peerDependencies:
svelte: ^3.55.0 || ^4.0.0
dependencies:
schema-dts: 1.1.2(typescript@5.2.2)
- svelte: 4.2.2
+ svelte: 4.2.3
transitivePeerDependencies:
- typescript
dev: true
- /svelte-preprocess@5.0.4(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.2)(typescript@5.2.2):
- resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==}
+ /svelte-parse-markup@0.1.2(svelte@4.2.3):
+ resolution: {integrity: sha512-DycY7DJr7VqofiJ63ut1/NEG92HrWWL56VWITn/cJCu+LlZhMoBkBXT4opUitPEEwbq1nMQbv4vTKUfbOqIW1g==}
+ peerDependencies:
+ svelte: ^3.0.0 || ^4.0.0
+ dependencies:
+ svelte: 4.2.3
+ dev: true
+
+ /svelte-preprocess@5.1.0(postcss-load-config@4.0.1)(postcss@8.4.31)(sass@1.69.5)(svelte@4.2.3)(typescript@5.2.2):
+ resolution: {integrity: sha512-EkErPiDzHAc0k2MF5m6vBNmRUh338h2myhinUw/xaqsLs7/ZvsgREiLGj03VrSzbY/TB5ZXgBOsKraFee5yceA==}
engines: {node: '>= 14.10.0'}
requiresBuild: true
peerDependencies:
@@ -4263,7 +4293,7 @@ packages:
sass: ^1.26.8
stylus: ^0.55.0
sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
- svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0
+ svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0'
peerDependenciesMeta:
'@babel/core':
@@ -4295,7 +4325,7 @@ packages:
sass: 1.69.5
sorcery: 0.11.0
strip-indent: 3.0.0
- svelte: 4.2.2
+ svelte: 4.2.3
typescript: 5.2.2
dev: true
@@ -4303,12 +4333,12 @@ packages:
resolution: {integrity: sha512-N5JqlBni6BzElxmuFrOPxOJnjsxh1cFDACLEVKs8OHBcx8ZNRO1p5SxuQex1m3qbLzAC8G99EHeWcxGkjyKjLQ==}
engines: {node: '>=16'}
dependencies:
- svelte: 4.2.2
+ svelte: 4.2.3
tslib: 2.6.2
dev: true
- /svelte@4.2.2:
- resolution: {integrity: sha512-My2tytF2e2NnHSpn2M7/3VdXT4JdTglYVUuSuK/mXL2XtulPYbeBfl8Dm1QiaKRn0zoULRnL+EtfZHHP0k4H3A==}
+ /svelte@4.2.3:
+ resolution: {integrity: sha512-sqmG9KC6uUc7fb3ZuWoxXvqk6MI9Uu4ABA1M0fYDgTlFYu1k02xp96u6U9+yJZiVm84m9zge7rrA/BNZdFpOKw==}
engines: {node: '>=16'}
dependencies:
'@ampproject/remapping': 2.2.1
@@ -4569,6 +4599,16 @@ packages:
- rollup
dev: true
+ /vite-imagetools@6.2.3:
+ resolution: {integrity: sha512-VZTJOXDTw/Nfah2ayQCWEvNc0b2Q7uGSUCczjx0N7ULd7VZDFH3PxcqyKIRxFOenKcSTYTna1OMzdGlcRBTk+g==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ '@rollup/pluginutils': 5.0.2
+ imagetools-core: 5.1.1
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
/vite-node@0.32.4(@types/node@20.7.0)(sass@1.69.5):
resolution: {integrity: sha512-L2gIw+dCxO0LK14QnUMoqSYpa9XRGnTTTDjW2h19Mr+GR0EFj4vx52W41gFXfMLqpA00eK4ZjOVYo1Xk//LFEw==}
engines: {node: '>=v14.18.0'}
@@ -4628,10 +4668,10 @@ packages:
fsevents: 2.3.3
dev: true
- /vitefu@0.2.4(vite@4.5.0):
- resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==}
+ /vitefu@0.2.5(vite@4.5.0):
+ resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
peerDependencies:
- vite: ^3.0.0 || ^4.0.0
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0
peerDependenciesMeta:
vite:
optional: true
diff --git a/postcss.config.cjs b/postcss.config.cjs
index fb20db3..89840af 100644
--- a/postcss.config.cjs
+++ b/postcss.config.cjs
@@ -5,7 +5,7 @@ const config = {
plugins: [
atImport(),
postcssPresetEnv({
- stage: 2,
+ stage: 3,
features: {
'nesting-rules': true,
'custom-media-queries': true,
diff --git a/src/lib/components/Articles.svelte b/src/lib/components/Articles.svelte
new file mode 100644
index 0000000..ddd7a4d
--- /dev/null
+++ b/src/lib/components/Articles.svelte
@@ -0,0 +1,114 @@
+
+
+
+
Favorite Articles
+
+ {#each articles as article (article.hashed_url)}
+
+
+
+
+ {#if compact}
+ {article.title.substring(0, 50).trim()}
+ {:else}
+ {article.title}
+ {/if}
+
+
+
+
+ Reading time: {article.reading_time} minutes
+
+
+
+ {/each}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/lib/components/ExternalLink.svelte b/src/lib/components/ExternalLink.svelte
index d2ae05d..3632a52 100644
--- a/src/lib/components/ExternalLink.svelte
+++ b/src/lib/components/ExternalLink.svelte
@@ -9,14 +9,13 @@
export let icon: IconifyIcon = OpenInNew;
-
-
-
-
+
+
+
{#if showIcon}
{/if}
-
+
diff --git a/src/lib/components/articles/index.svelte b/src/lib/components/articles/index.svelte
deleted file mode 100644
index 09a25c6..0000000
--- a/src/lib/components/articles/index.svelte
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-
-
Favorite Articles
-
- {#each articles as article}
-
-
-
- Reading time: {article.reading_time} minutes
-
-
-
- {/each}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/lib/components/bandcamp/index.svelte b/src/lib/components/bandcamp/index.svelte
index 3d74348..436d77e 100644
--- a/src/lib/components/bandcamp/index.svelte
+++ b/src/lib/components/bandcamp/index.svelte
@@ -1,6 +1,6 @@
-
-
Hello! I'm Bradley Shellnut.
@@ -69,7 +66,7 @@
diff --git a/src/routes/about/+page.svelte b/src/routes/about/+page.svelte
index 5f43069..c9f824a 100644
--- a/src/routes/about/+page.svelte
+++ b/src/routes/about/+page.svelte
@@ -9,18 +9,15 @@
import Remix from '@iconify-icons/simple-icons/remix';
import Svelte from '@iconify-icons/simple-icons/svelte';
import TypeScript from '@iconify-icons/simple-icons/typescript';
- import SEO from "$lib/components/SEO.svelte";
- import LazyImage from '$root/lib/components/LazyImage.svelte';
+ import LazyImage from '$lib/components/LazyImage.svelte';
import adventure from '$lib/assets/images/adventure.png?as=run:0';
import tortie_derp from '$lib/assets/images/tortie_derp.jpg?as=run';
import orange_derp from '$lib/assets/images/orange_derp.jpg?as=run';
import turnip from '$lib/assets/images/turnip.svg';
- import Tag from '$root/lib/components/Tag.svelte';
- import ExternalLink from '$root/lib/components/ExternalLink.svelte';
+ import Tag from '$lib/components/Tag.svelte';
+ import ExternalLink from '$lib/components/ExternalLink.svelte';
-
-
About
diff --git a/src/routes/api.ts b/src/routes/api.ts
index 86a99f3..1a133cd 100644
--- a/src/routes/api.ts
+++ b/src/routes/api.ts
@@ -10,11 +10,11 @@ import {
USE_REDIS_CACHE
} from '$env/static/private';
import intersect from 'just-intersect';
-import type { Article, WallabagArticle } from '$root/lib/types/article';
-import { ArticleTag } from '$root/lib/types/articleTag';
-import type { PageQuery } from '$root/lib/types/pageQuery';
+import type { Article, WallabagArticle } from '$lib/types/article';
+import { ArticleTag } from '$lib/types/articleTag';
+import type { PageQuery } from '$lib/types/pageQuery';
import { URLSearchParams } from 'url';
-import { redis } from '$root/lib/server/redis';
+import { redis } from '$lib/server/redis';
const base: string = WALLABAG_URL;
diff --git a/src/routes/articles/[page]/+page.svelte b/src/routes/articles/[page]/+page.svelte
index 6f71151..abac63e 100644
--- a/src/routes/articles/[page]/+page.svelte
+++ b/src/routes/articles/[page]/+page.svelte
@@ -1,7 +1,7 @@
-
-
Favorite Tech Articles
-
+
+
import { createTabs, melt } from '@melt-ui/svelte';
import GitHub from '@iconify-icons/simple-icons/github';
- // import SEO from '$lib/components/SEO.svelte';
import Portfolio from '$lib/components/Portfolio.svelte';
import personalSite from "$lib/assets/images/Bradley_Shellnut_New_Site.png?as=run";
import weddingWebsite from "$lib/assets/images/Wedding_Website.png?as=run";
@@ -25,8 +24,6 @@
];
-
-
Portfolio!
diff --git a/src/routes/privacy/+page.svelte b/src/routes/privacy/+page.svelte
index 6e4f280..f3c9c61 100644
--- a/src/routes/privacy/+page.svelte
+++ b/src/routes/privacy/+page.svelte
@@ -1,10 +1,7 @@
-
-
Privacy
diff --git a/src/routes/uses/+page.svelte b/src/routes/uses/+page.svelte
index 19d6973..a02f9c3 100644
--- a/src/routes/uses/+page.svelte
+++ b/src/routes/uses/+page.svelte
@@ -1,6 +1,4 @@
-
-
/Uses
diff --git a/src/styles/global.pcss b/src/styles/global.pcss
index 03ce6e4..5b7577f 100644
--- a/src/styles/global.pcss
+++ b/src/styles/global.pcss
@@ -265,19 +265,3 @@ figure {
.card > *:last-child {
margin-bottom: 0;
}
-
-.blur {
- position: absolute;
- inset: 0;
- backdrop-filter: blur(20px);
- pointer-events: none;
-}
-
-.wrap {
- position: relative;
- overflow: hidden;
-}
-
-.loaded {
- display: none;
-}