Commit
•
65b4f03
1
Parent(s):
2c16eda
✨ Add home + workshop pages
Browse files- .env.example +1 -0
- package.json +9 -1
- pnpm-lock.yaml +947 -7
- src/lib/components/Carousel.svelte +137 -0
- src/lib/components/Container.svelte +11 -0
- src/lib/components/Picture.svelte +19 -0
- src/lib/server/db/index.ts +21 -0
- src/lib/server/db/page.ts +169 -0
- src/lib/types/Page.ts +125 -0
- src/lib/types/Picture.ts +21 -0
- src/lib/types/Timestamps.ts +4 -0
- src/routes/+layout.server.ts +20 -0
- src/routes/+page.svelte +115 -2
- src/routes/atelier/+page.svelte +86 -0
.env.example
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
MONGODB_URL=mongodb://localhost:27017/admin
|
package.json
CHANGED
@@ -16,6 +16,8 @@
|
|
16 |
"@iconify-json/il": "^1.1.2",
|
17 |
"@sveltejs/adapter-node": "next",
|
18 |
"@sveltejs/kit": "next",
|
|
|
|
|
19 |
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
20 |
"@typescript-eslint/parser": "^5.27.0",
|
21 |
"@unocss/preset-icons": "^0.46.3",
|
@@ -29,10 +31,16 @@
|
|
29 |
"svelte": "^3.44.0",
|
30 |
"svelte-check": "^2.7.1",
|
31 |
"svelte-preprocess": "^4.10.6",
|
|
|
32 |
"tslib": "^2.3.1",
|
33 |
"typescript": "^4.7.4",
|
34 |
"unocss": "^0.46.3",
|
35 |
"vite": "^3.1.0"
|
36 |
},
|
37 |
-
"type": "module"
|
|
|
|
|
|
|
|
|
|
|
38 |
}
|
|
|
16 |
"@iconify-json/il": "^1.1.2",
|
17 |
"@sveltejs/adapter-node": "next",
|
18 |
"@sveltejs/kit": "next",
|
19 |
+
"@types/lodash": "^4.14.188",
|
20 |
+
"@types/marked": "^4.0.7",
|
21 |
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
22 |
"@typescript-eslint/parser": "^5.27.0",
|
23 |
"@unocss/preset-icons": "^0.46.3",
|
|
|
31 |
"svelte": "^3.44.0",
|
32 |
"svelte-check": "^2.7.1",
|
33 |
"svelte-preprocess": "^4.10.6",
|
34 |
+
"tinygesture": "^2.0.0",
|
35 |
"tslib": "^2.3.1",
|
36 |
"typescript": "^4.7.4",
|
37 |
"unocss": "^0.46.3",
|
38 |
"vite": "^3.1.0"
|
39 |
},
|
40 |
+
"type": "module",
|
41 |
+
"dependencies": {
|
42 |
+
"lodash": "^4.17.21",
|
43 |
+
"marked": "^4.2.2",
|
44 |
+
"mongodb": "^4.11.0"
|
45 |
+
}
|
46 |
}
|
pnpm-lock.yaml
CHANGED
@@ -5,6 +5,8 @@ specifiers:
|
|
5 |
'@iconify-json/il': ^1.1.2
|
6 |
'@sveltejs/adapter-node': next
|
7 |
'@sveltejs/kit': next
|
|
|
|
|
8 |
'@typescript-eslint/eslint-plugin': ^5.27.0
|
9 |
'@typescript-eslint/parser': ^5.27.0
|
10 |
'@unocss/preset-icons': ^0.46.3
|
@@ -13,21 +15,32 @@ specifiers:
|
|
13 |
eslint: ^8.16.0
|
14 |
eslint-config-prettier: ^8.3.0
|
15 |
eslint-plugin-svelte3: ^4.0.0
|
|
|
|
|
|
|
16 |
prettier: ^2.6.2
|
17 |
prettier-plugin-svelte: ^2.7.0
|
18 |
svelte: ^3.44.0
|
19 |
svelte-check: ^2.7.1
|
20 |
svelte-preprocess: ^4.10.6
|
|
|
21 |
tslib: ^2.3.1
|
22 |
typescript: ^4.7.4
|
23 |
unocss: ^0.46.3
|
24 |
vite: ^3.1.0
|
25 |
|
|
|
|
|
|
|
|
|
|
|
26 |
devDependencies:
|
27 |
'@iconify-json/ant-design': 1.1.3
|
28 |
'@iconify-json/il': 1.1.2
|
29 |
'@sveltejs/adapter-node': 1.0.0-next.100
|
30 |
-
'@sveltejs/kit': 1.0.0-next.
|
|
|
|
|
31 |
'@typescript-eslint/eslint-plugin': 5.42.0_6xw5wg2354iw4zujk2f3vyfrzu
|
32 |
'@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m
|
33 |
'@unocss/preset-icons': 0.46.3
|
@@ -41,6 +54,7 @@ devDependencies:
|
|
41 |
svelte: 3.52.0
|
42 |
svelte-check: [email protected]
|
43 |
svelte-preprocess: 4.10.7_besnmoibwkhwtentvwuriss7pa
|
|
|
44 |
tslib: 2.4.1
|
45 |
typescript: 4.8.4
|
46 |
unocss: [email protected]
|
@@ -67,6 +81,772 @@ packages:
|
|
67 |
resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==}
|
68 |
dev: true
|
69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
/@esbuild/android-arm/0.15.13:
|
71 |
resolution: {integrity: sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==}
|
72 |
engines: {node: '>=12'}
|
@@ -292,8 +1072,8 @@ packages:
|
|
292 |
rollup: 2.79.1
|
293 |
dev: true
|
294 |
|
295 |
-
/@sveltejs/kit/1.0.0-next.
|
296 |
-
resolution: {integrity: sha512-
|
297 |
engines: {node: '>=16.14'}
|
298 |
hasBin: true
|
299 |
requiresBuild: true
|
@@ -354,9 +1134,16 @@ packages:
|
|
354 |
resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
|
355 |
dev: true
|
356 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
357 |
/@types/node/18.11.9:
|
358 |
resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==}
|
359 |
-
dev: true
|
360 |
|
361 |
/@types/pug/2.0.6:
|
362 |
resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==}
|
@@ -376,6 +1163,17 @@ packages:
|
|
376 |
resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==}
|
377 |
dev: true
|
378 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
379 |
/@typescript-eslint/eslint-plugin/5.42.0_6xw5wg2354iw4zujk2f3vyfrzu:
|
380 |
resolution: {integrity: sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==}
|
381 |
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
@@ -720,11 +1518,20 @@ packages:
|
|
720 |
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
721 |
dev: true
|
722 |
|
|
|
|
|
|
|
|
|
723 |
/binary-extensions/2.2.0:
|
724 |
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
|
725 |
engines: {node: '>=8'}
|
726 |
dev: true
|
727 |
|
|
|
|
|
|
|
|
|
|
|
728 |
/brace-expansion/1.1.11:
|
729 |
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
730 |
dependencies:
|
@@ -745,10 +1552,24 @@ packages:
|
|
745 |
fill-range: 7.0.1
|
746 |
dev: true
|
747 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
748 |
/buffer-crc32/0.2.13:
|
749 |
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
|
750 |
dev: true
|
751 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
752 |
/builtin-modules/3.3.0:
|
753 |
resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
|
754 |
engines: {node: '>=6'}
|
@@ -868,6 +1689,11 @@ packages:
|
|
868 |
resolution: {integrity: sha512-pOFYRTIhoKujrmbTRhcW5lYQLBXw/dlTwfI8IguF1QCDJOcJzNH1w+YFjxqy6BAuJrClTy6MUE8q+oKJ2FLsIw==}
|
869 |
dev: true
|
870 |
|
|
|
|
|
|
|
|
|
|
|
871 |
/destr/1.2.0:
|
872 |
resolution: {integrity: sha512-JG+cG4ZPB1L27sl2C2URg8MIOmIUtTbE5wEx02BpmrTCqg/hXxFKXsYsnODl5PdpqNRaS1KQGUQ56V8jk8XpYQ==}
|
873 |
dev: true
|
@@ -1301,6 +2127,14 @@ packages:
|
|
1301 |
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
|
1302 |
dev: true
|
1303 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1304 |
/fastq/1.13.0:
|
1305 |
resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
|
1306 |
dependencies:
|
@@ -1457,6 +2291,10 @@ packages:
|
|
1457 |
engines: {node: '>=10.17.0'}
|
1458 |
dev: true
|
1459 |
|
|
|
|
|
|
|
|
|
1460 |
/ignore/5.2.0:
|
1461 |
resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==}
|
1462 |
engines: {node: '>= 4'}
|
@@ -1486,6 +2324,10 @@ packages:
|
|
1486 |
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
1487 |
dev: true
|
1488 |
|
|
|
|
|
|
|
|
|
1489 |
/is-binary-path/2.1.0:
|
1490 |
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
|
1491 |
engines: {node: '>=8'}
|
@@ -1604,6 +2446,10 @@ packages:
|
|
1604 |
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
|
1605 |
dev: true
|
1606 |
|
|
|
|
|
|
|
|
|
1607 |
/lru-cache/6.0.0:
|
1608 |
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
|
1609 |
engines: {node: '>=10'}
|
@@ -1624,10 +2470,21 @@ packages:
|
|
1624 |
sourcemap-codec: 1.4.8
|
1625 |
dev: true
|
1626 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1627 |
/mdn-data/2.0.28:
|
1628 |
resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
|
1629 |
dev: true
|
1630 |
|
|
|
|
|
|
|
|
|
|
|
1631 |
/merge-stream/2.0.0:
|
1632 |
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
|
1633 |
dev: true
|
@@ -1685,6 +2542,28 @@ packages:
|
|
1685 |
minimist: 1.2.7
|
1686 |
dev: true
|
1687 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1688 |
/mri/1.2.0:
|
1689 |
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
|
1690 |
engines: {node: '>=4'}
|
@@ -1858,7 +2737,6 @@ packages:
|
|
1858 |
/punycode/2.1.1:
|
1859 |
resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
|
1860 |
engines: {node: '>=6'}
|
1861 |
-
dev: true
|
1862 |
|
1863 |
/queue-microtask/1.2.3:
|
1864 |
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
@@ -1939,6 +2817,15 @@ packages:
|
|
1939 |
rimraf: 2.7.1
|
1940 |
dev: true
|
1941 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1942 |
/semver/7.3.8:
|
1943 |
resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
|
1944 |
engines: {node: '>=10'}
|
@@ -1981,6 +2868,19 @@ packages:
|
|
1981 |
engines: {node: '>=8'}
|
1982 |
dev: true
|
1983 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1984 |
/sorcery/0.10.0:
|
1985 |
resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==}
|
1986 |
hasBin: true
|
@@ -2000,6 +2900,13 @@ packages:
|
|
2000 |
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
|
2001 |
dev: true
|
2002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2003 |
/streamsearch/1.1.0:
|
2004 |
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
|
2005 |
engines: {node: '>=10.0.0'}
|
@@ -2029,6 +2936,11 @@ packages:
|
|
2029 |
engines: {node: '>=8'}
|
2030 |
dev: true
|
2031 |
|
|
|
|
|
|
|
|
|
|
|
2032 |
/supports-color/7.2.0:
|
2033 |
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
2034 |
engines: {node: '>=8'}
|
@@ -2145,6 +3057,10 @@ packages:
|
|
2145 |
globrex: 0.1.2
|
2146 |
dev: true
|
2147 |
|
|
|
|
|
|
|
|
|
2148 |
/to-regex-range/5.0.1:
|
2149 |
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
|
2150 |
engines: {node: '>=8.0'}
|
@@ -2157,13 +3073,18 @@ packages:
|
|
2157 |
engines: {node: '>=6'}
|
2158 |
dev: true
|
2159 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2160 |
/tslib/1.14.1:
|
2161 |
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
|
2162 |
-
dev: true
|
2163 |
|
2164 |
/tslib/2.4.1:
|
2165 |
resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
|
2166 |
-
dev: true
|
2167 |
|
2168 |
/tsutils/[email protected]:
|
2169 |
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
@@ -2250,6 +3171,12 @@ packages:
|
|
2250 |
punycode: 2.1.1
|
2251 |
dev: true
|
2252 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2253 |
/vite/3.2.2:
|
2254 |
resolution: {integrity: sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw==}
|
2255 |
engines: {node: ^14.18.0 || >=16.0.0}
|
@@ -2280,6 +3207,19 @@ packages:
|
|
2280 |
fsevents: 2.3.2
|
2281 |
dev: true
|
2282 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2283 |
/which/2.0.2:
|
2284 |
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
|
2285 |
engines: {node: '>= 8'}
|
|
|
5 |
'@iconify-json/il': ^1.1.2
|
6 |
'@sveltejs/adapter-node': next
|
7 |
'@sveltejs/kit': next
|
8 |
+
'@types/lodash': ^4.14.188
|
9 |
+
'@types/marked': ^4.0.7
|
10 |
'@typescript-eslint/eslint-plugin': ^5.27.0
|
11 |
'@typescript-eslint/parser': ^5.27.0
|
12 |
'@unocss/preset-icons': ^0.46.3
|
|
|
15 |
eslint: ^8.16.0
|
16 |
eslint-config-prettier: ^8.3.0
|
17 |
eslint-plugin-svelte3: ^4.0.0
|
18 |
+
lodash: ^4.17.21
|
19 |
+
marked: ^4.2.2
|
20 |
+
mongodb: ^4.11.0
|
21 |
prettier: ^2.6.2
|
22 |
prettier-plugin-svelte: ^2.7.0
|
23 |
svelte: ^3.44.0
|
24 |
svelte-check: ^2.7.1
|
25 |
svelte-preprocess: ^4.10.6
|
26 |
+
tinygesture: ^2.0.0
|
27 |
tslib: ^2.3.1
|
28 |
typescript: ^4.7.4
|
29 |
unocss: ^0.46.3
|
30 |
vite: ^3.1.0
|
31 |
|
32 |
+
dependencies:
|
33 |
+
lodash: 4.17.21
|
34 |
+
marked: 4.2.2
|
35 |
+
mongodb: 4.11.0
|
36 |
+
|
37 |
devDependencies:
|
38 |
'@iconify-json/ant-design': 1.1.3
|
39 |
'@iconify-json/il': 1.1.2
|
40 |
'@sveltejs/adapter-node': 1.0.0-next.100
|
41 |
+
'@sveltejs/kit': 1.0.0-next.538_svelte@[email protected]
|
42 |
+
'@types/lodash': 4.14.188
|
43 |
+
'@types/marked': 4.0.7
|
44 |
'@typescript-eslint/eslint-plugin': 5.42.0_6xw5wg2354iw4zujk2f3vyfrzu
|
45 |
'@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m
|
46 |
'@unocss/preset-icons': 0.46.3
|
|
|
54 |
svelte: 3.52.0
|
55 |
svelte-check: [email protected]
|
56 |
svelte-preprocess: 4.10.7_besnmoibwkhwtentvwuriss7pa
|
57 |
+
tinygesture: 2.0.0
|
58 |
tslib: 2.4.1
|
59 |
typescript: 4.8.4
|
60 |
unocss: [email protected]
|
|
|
81 |
resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==}
|
82 |
dev: true
|
83 |
|
84 |
+
/@aws-crypto/ie11-detection/2.0.2:
|
85 |
+
resolution: {integrity: sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==}
|
86 |
+
dependencies:
|
87 |
+
tslib: 1.14.1
|
88 |
+
dev: false
|
89 |
+
optional: true
|
90 |
+
|
91 |
+
/@aws-crypto/sha256-browser/2.0.0:
|
92 |
+
resolution: {integrity: sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==}
|
93 |
+
dependencies:
|
94 |
+
'@aws-crypto/ie11-detection': 2.0.2
|
95 |
+
'@aws-crypto/sha256-js': 2.0.0
|
96 |
+
'@aws-crypto/supports-web-crypto': 2.0.2
|
97 |
+
'@aws-crypto/util': 2.0.2
|
98 |
+
'@aws-sdk/types': 3.201.0
|
99 |
+
'@aws-sdk/util-locate-window': 3.201.0
|
100 |
+
'@aws-sdk/util-utf8-browser': 3.188.0
|
101 |
+
tslib: 1.14.1
|
102 |
+
dev: false
|
103 |
+
optional: true
|
104 |
+
|
105 |
+
/@aws-crypto/sha256-js/2.0.0:
|
106 |
+
resolution: {integrity: sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==}
|
107 |
+
dependencies:
|
108 |
+
'@aws-crypto/util': 2.0.2
|
109 |
+
'@aws-sdk/types': 3.201.0
|
110 |
+
tslib: 1.14.1
|
111 |
+
dev: false
|
112 |
+
optional: true
|
113 |
+
|
114 |
+
/@aws-crypto/supports-web-crypto/2.0.2:
|
115 |
+
resolution: {integrity: sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==}
|
116 |
+
dependencies:
|
117 |
+
tslib: 1.14.1
|
118 |
+
dev: false
|
119 |
+
optional: true
|
120 |
+
|
121 |
+
/@aws-crypto/util/2.0.2:
|
122 |
+
resolution: {integrity: sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==}
|
123 |
+
dependencies:
|
124 |
+
'@aws-sdk/types': 3.201.0
|
125 |
+
'@aws-sdk/util-utf8-browser': 3.188.0
|
126 |
+
tslib: 1.14.1
|
127 |
+
dev: false
|
128 |
+
optional: true
|
129 |
+
|
130 |
+
/@aws-sdk/abort-controller/3.201.0:
|
131 |
+
resolution: {integrity: sha512-xJ984k+CKlGjBmvNarzM8Y+b6X4L1Zt0TycQmVBJq7fAr/ju9l13pQIoXR5WlDIW1FkGeVczF5Nu6fN46SCORQ==}
|
132 |
+
engines: {node: '>=14.0.0'}
|
133 |
+
dependencies:
|
134 |
+
'@aws-sdk/types': 3.201.0
|
135 |
+
tslib: 2.4.1
|
136 |
+
dev: false
|
137 |
+
optional: true
|
138 |
+
|
139 |
+
/@aws-sdk/client-cognito-identity/3.204.0:
|
140 |
+
resolution: {integrity: sha512-uftJkNKYcZ8bXVwcpOn5ZUjUX0IRto0ZrTO8DBdS9b7PJu2Y84eSy46LsAYuRDC0PZreQxy8nOH5HmI86/W8xQ==}
|
141 |
+
engines: {node: '>=14.0.0'}
|
142 |
+
dependencies:
|
143 |
+
'@aws-crypto/sha256-browser': 2.0.0
|
144 |
+
'@aws-crypto/sha256-js': 2.0.0
|
145 |
+
'@aws-sdk/client-sts': 3.204.0
|
146 |
+
'@aws-sdk/config-resolver': 3.201.0
|
147 |
+
'@aws-sdk/credential-provider-node': 3.204.0
|
148 |
+
'@aws-sdk/fetch-http-handler': 3.204.0
|
149 |
+
'@aws-sdk/hash-node': 3.201.0
|
150 |
+
'@aws-sdk/invalid-dependency': 3.201.0
|
151 |
+
'@aws-sdk/middleware-content-length': 3.201.0
|
152 |
+
'@aws-sdk/middleware-endpoint': 3.201.0
|
153 |
+
'@aws-sdk/middleware-host-header': 3.201.0
|
154 |
+
'@aws-sdk/middleware-logger': 3.201.0
|
155 |
+
'@aws-sdk/middleware-recursion-detection': 3.201.0
|
156 |
+
'@aws-sdk/middleware-retry': 3.201.0
|
157 |
+
'@aws-sdk/middleware-serde': 3.201.0
|
158 |
+
'@aws-sdk/middleware-signing': 3.201.0
|
159 |
+
'@aws-sdk/middleware-stack': 3.201.0
|
160 |
+
'@aws-sdk/middleware-user-agent': 3.201.0
|
161 |
+
'@aws-sdk/node-config-provider': 3.201.0
|
162 |
+
'@aws-sdk/node-http-handler': 3.201.0
|
163 |
+
'@aws-sdk/protocol-http': 3.201.0
|
164 |
+
'@aws-sdk/smithy-client': 3.201.0
|
165 |
+
'@aws-sdk/types': 3.201.0
|
166 |
+
'@aws-sdk/url-parser': 3.201.0
|
167 |
+
'@aws-sdk/util-base64': 3.202.0
|
168 |
+
'@aws-sdk/util-base64-browser': 3.188.0
|
169 |
+
'@aws-sdk/util-base64-node': 3.201.0
|
170 |
+
'@aws-sdk/util-body-length-browser': 3.188.0
|
171 |
+
'@aws-sdk/util-body-length-node': 3.201.0
|
172 |
+
'@aws-sdk/util-defaults-mode-browser': 3.201.0
|
173 |
+
'@aws-sdk/util-defaults-mode-node': 3.201.0
|
174 |
+
'@aws-sdk/util-endpoints': 3.202.0
|
175 |
+
'@aws-sdk/util-user-agent-browser': 3.201.0
|
176 |
+
'@aws-sdk/util-user-agent-node': 3.201.0
|
177 |
+
'@aws-sdk/util-utf8-browser': 3.188.0
|
178 |
+
'@aws-sdk/util-utf8-node': 3.201.0
|
179 |
+
tslib: 2.4.1
|
180 |
+
transitivePeerDependencies:
|
181 |
+
- aws-crt
|
182 |
+
dev: false
|
183 |
+
optional: true
|
184 |
+
|
185 |
+
/@aws-sdk/client-sso/3.204.0:
|
186 |
+
resolution: {integrity: sha512-AECcNrcAQxV/Jlu8ogshRaYwt2jayx0omQJs/SXj70mWxmbk4MQnb+DqJIpPpOKBHaza/xlC2TKS1RzkiuZxyw==}
|
187 |
+
engines: {node: '>=14.0.0'}
|
188 |
+
dependencies:
|
189 |
+
'@aws-crypto/sha256-browser': 2.0.0
|
190 |
+
'@aws-crypto/sha256-js': 2.0.0
|
191 |
+
'@aws-sdk/config-resolver': 3.201.0
|
192 |
+
'@aws-sdk/fetch-http-handler': 3.204.0
|
193 |
+
'@aws-sdk/hash-node': 3.201.0
|
194 |
+
'@aws-sdk/invalid-dependency': 3.201.0
|
195 |
+
'@aws-sdk/middleware-content-length': 3.201.0
|
196 |
+
'@aws-sdk/middleware-endpoint': 3.201.0
|
197 |
+
'@aws-sdk/middleware-host-header': 3.201.0
|
198 |
+
'@aws-sdk/middleware-logger': 3.201.0
|
199 |
+
'@aws-sdk/middleware-recursion-detection': 3.201.0
|
200 |
+
'@aws-sdk/middleware-retry': 3.201.0
|
201 |
+
'@aws-sdk/middleware-serde': 3.201.0
|
202 |
+
'@aws-sdk/middleware-stack': 3.201.0
|
203 |
+
'@aws-sdk/middleware-user-agent': 3.201.0
|
204 |
+
'@aws-sdk/node-config-provider': 3.201.0
|
205 |
+
'@aws-sdk/node-http-handler': 3.201.0
|
206 |
+
'@aws-sdk/protocol-http': 3.201.0
|
207 |
+
'@aws-sdk/smithy-client': 3.201.0
|
208 |
+
'@aws-sdk/types': 3.201.0
|
209 |
+
'@aws-sdk/url-parser': 3.201.0
|
210 |
+
'@aws-sdk/util-base64': 3.202.0
|
211 |
+
'@aws-sdk/util-base64-browser': 3.188.0
|
212 |
+
'@aws-sdk/util-base64-node': 3.201.0
|
213 |
+
'@aws-sdk/util-body-length-browser': 3.188.0
|
214 |
+
'@aws-sdk/util-body-length-node': 3.201.0
|
215 |
+
'@aws-sdk/util-defaults-mode-browser': 3.201.0
|
216 |
+
'@aws-sdk/util-defaults-mode-node': 3.201.0
|
217 |
+
'@aws-sdk/util-endpoints': 3.202.0
|
218 |
+
'@aws-sdk/util-user-agent-browser': 3.201.0
|
219 |
+
'@aws-sdk/util-user-agent-node': 3.201.0
|
220 |
+
'@aws-sdk/util-utf8-browser': 3.188.0
|
221 |
+
'@aws-sdk/util-utf8-node': 3.201.0
|
222 |
+
tslib: 2.4.1
|
223 |
+
transitivePeerDependencies:
|
224 |
+
- aws-crt
|
225 |
+
dev: false
|
226 |
+
optional: true
|
227 |
+
|
228 |
+
/@aws-sdk/client-sts/3.204.0:
|
229 |
+
resolution: {integrity: sha512-Tp6FqENRw31XK5r5hul1JXnQgHBhbbXhoMebyFih6/zjpATaqg0bnV6tpww4yPi3uc+yDGXKw2/tDroSsyTsRA==}
|
230 |
+
engines: {node: '>=14.0.0'}
|
231 |
+
dependencies:
|
232 |
+
'@aws-crypto/sha256-browser': 2.0.0
|
233 |
+
'@aws-crypto/sha256-js': 2.0.0
|
234 |
+
'@aws-sdk/config-resolver': 3.201.0
|
235 |
+
'@aws-sdk/credential-provider-node': 3.204.0
|
236 |
+
'@aws-sdk/fetch-http-handler': 3.204.0
|
237 |
+
'@aws-sdk/hash-node': 3.201.0
|
238 |
+
'@aws-sdk/invalid-dependency': 3.201.0
|
239 |
+
'@aws-sdk/middleware-content-length': 3.201.0
|
240 |
+
'@aws-sdk/middleware-endpoint': 3.201.0
|
241 |
+
'@aws-sdk/middleware-host-header': 3.201.0
|
242 |
+
'@aws-sdk/middleware-logger': 3.201.0
|
243 |
+
'@aws-sdk/middleware-recursion-detection': 3.201.0
|
244 |
+
'@aws-sdk/middleware-retry': 3.201.0
|
245 |
+
'@aws-sdk/middleware-sdk-sts': 3.201.0
|
246 |
+
'@aws-sdk/middleware-serde': 3.201.0
|
247 |
+
'@aws-sdk/middleware-signing': 3.201.0
|
248 |
+
'@aws-sdk/middleware-stack': 3.201.0
|
249 |
+
'@aws-sdk/middleware-user-agent': 3.201.0
|
250 |
+
'@aws-sdk/node-config-provider': 3.201.0
|
251 |
+
'@aws-sdk/node-http-handler': 3.201.0
|
252 |
+
'@aws-sdk/protocol-http': 3.201.0
|
253 |
+
'@aws-sdk/smithy-client': 3.201.0
|
254 |
+
'@aws-sdk/types': 3.201.0
|
255 |
+
'@aws-sdk/url-parser': 3.201.0
|
256 |
+
'@aws-sdk/util-base64': 3.202.0
|
257 |
+
'@aws-sdk/util-base64-browser': 3.188.0
|
258 |
+
'@aws-sdk/util-base64-node': 3.201.0
|
259 |
+
'@aws-sdk/util-body-length-browser': 3.188.0
|
260 |
+
'@aws-sdk/util-body-length-node': 3.201.0
|
261 |
+
'@aws-sdk/util-defaults-mode-browser': 3.201.0
|
262 |
+
'@aws-sdk/util-defaults-mode-node': 3.201.0
|
263 |
+
'@aws-sdk/util-endpoints': 3.202.0
|
264 |
+
'@aws-sdk/util-user-agent-browser': 3.201.0
|
265 |
+
'@aws-sdk/util-user-agent-node': 3.201.0
|
266 |
+
'@aws-sdk/util-utf8-browser': 3.188.0
|
267 |
+
'@aws-sdk/util-utf8-node': 3.201.0
|
268 |
+
fast-xml-parser: 4.0.11
|
269 |
+
tslib: 2.4.1
|
270 |
+
transitivePeerDependencies:
|
271 |
+
- aws-crt
|
272 |
+
dev: false
|
273 |
+
optional: true
|
274 |
+
|
275 |
+
/@aws-sdk/config-resolver/3.201.0:
|
276 |
+
resolution: {integrity: sha512-6YLIel7OGMGi+r8XC1A54cQJRIpx/NJ4fBALy44zFpQ+fdJUEmw4daUf1LECmAQiPA2Pr/hD0nBtX+wiiTf5/g==}
|
277 |
+
engines: {node: '>=14.0.0'}
|
278 |
+
dependencies:
|
279 |
+
'@aws-sdk/signature-v4': 3.201.0
|
280 |
+
'@aws-sdk/types': 3.201.0
|
281 |
+
'@aws-sdk/util-config-provider': 3.201.0
|
282 |
+
'@aws-sdk/util-middleware': 3.201.0
|
283 |
+
tslib: 2.4.1
|
284 |
+
dev: false
|
285 |
+
optional: true
|
286 |
+
|
287 |
+
/@aws-sdk/credential-provider-cognito-identity/3.204.0:
|
288 |
+
resolution: {integrity: sha512-DmiGXe7pXWuJiAGphzY5cRaphRiU5DJ6Tcg/88Td3wnj22As5DCELetb7E2YC9DfwmKiWcGAKQaYQqWe5AzSqw==}
|
289 |
+
engines: {node: '>=14.0.0'}
|
290 |
+
dependencies:
|
291 |
+
'@aws-sdk/client-cognito-identity': 3.204.0
|
292 |
+
'@aws-sdk/property-provider': 3.201.0
|
293 |
+
'@aws-sdk/types': 3.201.0
|
294 |
+
tslib: 2.4.1
|
295 |
+
transitivePeerDependencies:
|
296 |
+
- aws-crt
|
297 |
+
dev: false
|
298 |
+
optional: true
|
299 |
+
|
300 |
+
/@aws-sdk/credential-provider-env/3.201.0:
|
301 |
+
resolution: {integrity: sha512-g2MJsowzFhSsIOITUjYp7EzWFeHINjEP526Uf+5z2/p2kxQVwYYWZQK7j+tPE2Bk3MEjGOCmVHbbE7IFj0rNHw==}
|
302 |
+
engines: {node: '>=14.0.0'}
|
303 |
+
dependencies:
|
304 |
+
'@aws-sdk/property-provider': 3.201.0
|
305 |
+
'@aws-sdk/types': 3.201.0
|
306 |
+
tslib: 2.4.1
|
307 |
+
dev: false
|
308 |
+
optional: true
|
309 |
+
|
310 |
+
/@aws-sdk/credential-provider-imds/3.201.0:
|
311 |
+
resolution: {integrity: sha512-i8U2k3/L3iUWJJ1GSlwVBMfLQ2OTUT97E8yJi/xz5GavYuPOsUQWQe4fp7WGQivxh+AqybXAGFUCYub6zfUqag==}
|
312 |
+
engines: {node: '>=14.0.0'}
|
313 |
+
dependencies:
|
314 |
+
'@aws-sdk/node-config-provider': 3.201.0
|
315 |
+
'@aws-sdk/property-provider': 3.201.0
|
316 |
+
'@aws-sdk/types': 3.201.0
|
317 |
+
'@aws-sdk/url-parser': 3.201.0
|
318 |
+
tslib: 2.4.1
|
319 |
+
dev: false
|
320 |
+
optional: true
|
321 |
+
|
322 |
+
/@aws-sdk/credential-provider-ini/3.204.0:
|
323 |
+
resolution: {integrity: sha512-ddtaS0ya5lgZZwfuJ/FuniroreLJ6yDgPAasol/rla9U5EU0qUEK1+6PX463exghUGjYfTqxdrKXhGYZfuEoIw==}
|
324 |
+
engines: {node: '>=14.0.0'}
|
325 |
+
dependencies:
|
326 |
+
'@aws-sdk/credential-provider-env': 3.201.0
|
327 |
+
'@aws-sdk/credential-provider-imds': 3.201.0
|
328 |
+
'@aws-sdk/credential-provider-sso': 3.204.0
|
329 |
+
'@aws-sdk/credential-provider-web-identity': 3.201.0
|
330 |
+
'@aws-sdk/property-provider': 3.201.0
|
331 |
+
'@aws-sdk/shared-ini-file-loader': 3.201.0
|
332 |
+
'@aws-sdk/types': 3.201.0
|
333 |
+
tslib: 2.4.1
|
334 |
+
transitivePeerDependencies:
|
335 |
+
- aws-crt
|
336 |
+
dev: false
|
337 |
+
optional: true
|
338 |
+
|
339 |
+
/@aws-sdk/credential-provider-node/3.204.0:
|
340 |
+
resolution: {integrity: sha512-kGbR5JE90zBGDS4cIz7tlUklMMeOm5oc5ES74YStLUacpQKwzVcHmDG8aT2DCONS/wEYysOIs5LygHurOJ/+Ww==}
|
341 |
+
engines: {node: '>=14.0.0'}
|
342 |
+
dependencies:
|
343 |
+
'@aws-sdk/credential-provider-env': 3.201.0
|
344 |
+
'@aws-sdk/credential-provider-imds': 3.201.0
|
345 |
+
'@aws-sdk/credential-provider-ini': 3.204.0
|
346 |
+
'@aws-sdk/credential-provider-process': 3.201.0
|
347 |
+
'@aws-sdk/credential-provider-sso': 3.204.0
|
348 |
+
'@aws-sdk/credential-provider-web-identity': 3.201.0
|
349 |
+
'@aws-sdk/property-provider': 3.201.0
|
350 |
+
'@aws-sdk/shared-ini-file-loader': 3.201.0
|
351 |
+
'@aws-sdk/types': 3.201.0
|
352 |
+
tslib: 2.4.1
|
353 |
+
transitivePeerDependencies:
|
354 |
+
- aws-crt
|
355 |
+
dev: false
|
356 |
+
optional: true
|
357 |
+
|
358 |
+
/@aws-sdk/credential-provider-process/3.201.0:
|
359 |
+
resolution: {integrity: sha512-jTK3HSZgNj/hVrWb0wuF/cPUWSJYoRI/80fnN55o6QLS8WWIgOI8o2PNeVTAT5OrKioSoN4fgKTeUm3DZy3npQ==}
|
360 |
+
engines: {node: '>=14.0.0'}
|
361 |
+
dependencies:
|
362 |
+
'@aws-sdk/property-provider': 3.201.0
|
363 |
+
'@aws-sdk/shared-ini-file-loader': 3.201.0
|
364 |
+
'@aws-sdk/types': 3.201.0
|
365 |
+
tslib: 2.4.1
|
366 |
+
dev: false
|
367 |
+
optional: true
|
368 |
+
|
369 |
+
/@aws-sdk/credential-provider-sso/3.204.0:
|
370 |
+
resolution: {integrity: sha512-iS884Gda99x4zmdCK3XxFcceve4wB+wudpeTUm2wwX9AGrSzoUnLWqNXv/R8UAMAsKANaWMBkqv/bsHpsEitZw==}
|
371 |
+
engines: {node: '>=14.0.0'}
|
372 |
+
dependencies:
|
373 |
+
'@aws-sdk/client-sso': 3.204.0
|
374 |
+
'@aws-sdk/property-provider': 3.201.0
|
375 |
+
'@aws-sdk/shared-ini-file-loader': 3.201.0
|
376 |
+
'@aws-sdk/types': 3.201.0
|
377 |
+
tslib: 2.4.1
|
378 |
+
transitivePeerDependencies:
|
379 |
+
- aws-crt
|
380 |
+
dev: false
|
381 |
+
optional: true
|
382 |
+
|
383 |
+
/@aws-sdk/credential-provider-web-identity/3.201.0:
|
384 |
+
resolution: {integrity: sha512-U54bqhYaClPVZfswgknhlICp3BAtKXpOgHQCUF8cko5xUgbL4lVgd1rC3lWviGFMQAaTIF3QOXyEouemxr3VXw==}
|
385 |
+
engines: {node: '>=14.0.0'}
|
386 |
+
dependencies:
|
387 |
+
'@aws-sdk/property-provider': 3.201.0
|
388 |
+
'@aws-sdk/types': 3.201.0
|
389 |
+
tslib: 2.4.1
|
390 |
+
dev: false
|
391 |
+
optional: true
|
392 |
+
|
393 |
+
/@aws-sdk/credential-providers/3.204.0:
|
394 |
+
resolution: {integrity: sha512-XlVfSWoXAiuQb5Q053McnmqSvllojKAc8ecQiLgLXstXXcHrI36E4XH7VkMaNV8JPPdLQhmLxrj01vzUyoT47Q==}
|
395 |
+
engines: {node: '>=14.0.0'}
|
396 |
+
requiresBuild: true
|
397 |
+
dependencies:
|
398 |
+
'@aws-sdk/client-cognito-identity': 3.204.0
|
399 |
+
'@aws-sdk/client-sso': 3.204.0
|
400 |
+
'@aws-sdk/client-sts': 3.204.0
|
401 |
+
'@aws-sdk/credential-provider-cognito-identity': 3.204.0
|
402 |
+
'@aws-sdk/credential-provider-env': 3.201.0
|
403 |
+
'@aws-sdk/credential-provider-imds': 3.201.0
|
404 |
+
'@aws-sdk/credential-provider-ini': 3.204.0
|
405 |
+
'@aws-sdk/credential-provider-node': 3.204.0
|
406 |
+
'@aws-sdk/credential-provider-process': 3.201.0
|
407 |
+
'@aws-sdk/credential-provider-sso': 3.204.0
|
408 |
+
'@aws-sdk/credential-provider-web-identity': 3.201.0
|
409 |
+
'@aws-sdk/property-provider': 3.201.0
|
410 |
+
'@aws-sdk/shared-ini-file-loader': 3.201.0
|
411 |
+
'@aws-sdk/types': 3.201.0
|
412 |
+
tslib: 2.4.1
|
413 |
+
transitivePeerDependencies:
|
414 |
+
- aws-crt
|
415 |
+
dev: false
|
416 |
+
optional: true
|
417 |
+
|
418 |
+
/@aws-sdk/fetch-http-handler/3.204.0:
|
419 |
+
resolution: {integrity: sha512-TfIhWYQ4CTjrD+FSuBcKMSVrqq8GCwqCfUyalWmSKo4JIFhN5OxUnOFb1/ecE/TJX+YgZ65w4qhVJVHHmh229Q==}
|
420 |
+
dependencies:
|
421 |
+
'@aws-sdk/protocol-http': 3.201.0
|
422 |
+
'@aws-sdk/querystring-builder': 3.201.0
|
423 |
+
'@aws-sdk/types': 3.201.0
|
424 |
+
'@aws-sdk/util-base64': 3.202.0
|
425 |
+
tslib: 2.4.1
|
426 |
+
dev: false
|
427 |
+
optional: true
|
428 |
+
|
429 |
+
/@aws-sdk/hash-node/3.201.0:
|
430 |
+
resolution: {integrity: sha512-WJsMZg5/TMoWnLM+0NuwLwFzHsi89Bi9J1Dt7JdJHXFLoEZV54FEz1PK/Sq5NOldhVljpXQwWOB2dHA2wxFztg==}
|
431 |
+
engines: {node: '>=14.0.0'}
|
432 |
+
dependencies:
|
433 |
+
'@aws-sdk/types': 3.201.0
|
434 |
+
'@aws-sdk/util-buffer-from': 3.201.0
|
435 |
+
tslib: 2.4.1
|
436 |
+
dev: false
|
437 |
+
optional: true
|
438 |
+
|
439 |
+
/@aws-sdk/invalid-dependency/3.201.0:
|
440 |
+
resolution: {integrity: sha512-f/zgntOfIozNyKSaG9dvHjjBaR3y20kYNswMYkSuCM2NIT5LpyHiiq5I11TwaocatUFcDztWpcsv7vHpIgI5Ig==}
|
441 |
+
dependencies:
|
442 |
+
'@aws-sdk/types': 3.201.0
|
443 |
+
tslib: 2.4.1
|
444 |
+
dev: false
|
445 |
+
optional: true
|
446 |
+
|
447 |
+
/@aws-sdk/is-array-buffer/3.201.0:
|
448 |
+
resolution: {integrity: sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==}
|
449 |
+
engines: {node: '>=14.0.0'}
|
450 |
+
dependencies:
|
451 |
+
tslib: 2.4.1
|
452 |
+
dev: false
|
453 |
+
optional: true
|
454 |
+
|
455 |
+
/@aws-sdk/middleware-content-length/3.201.0:
|
456 |
+
resolution: {integrity: sha512-p4G9AtdrKO8A3Z4RyZiy0isEYwuge7bQRBS7UzcGkcIOhJONq2pcM+gRZYz+NWvfYYNWUg5uODsFQfU8342yKg==}
|
457 |
+
engines: {node: '>=14.0.0'}
|
458 |
+
dependencies:
|
459 |
+
'@aws-sdk/protocol-http': 3.201.0
|
460 |
+
'@aws-sdk/types': 3.201.0
|
461 |
+
tslib: 2.4.1
|
462 |
+
dev: false
|
463 |
+
optional: true
|
464 |
+
|
465 |
+
/@aws-sdk/middleware-endpoint/3.201.0:
|
466 |
+
resolution: {integrity: sha512-F3JlXo5GusbeZR956hA9VxmDxUeg77Xh6o8fveAE2+G4Bjcb1iq9jPNlw6A14vDj3oTKenv2LLnjL2OIfl6hRA==}
|
467 |
+
engines: {node: '>=14.0.0'}
|
468 |
+
dependencies:
|
469 |
+
'@aws-sdk/middleware-serde': 3.201.0
|
470 |
+
'@aws-sdk/protocol-http': 3.201.0
|
471 |
+
'@aws-sdk/signature-v4': 3.201.0
|
472 |
+
'@aws-sdk/types': 3.201.0
|
473 |
+
'@aws-sdk/url-parser': 3.201.0
|
474 |
+
'@aws-sdk/util-config-provider': 3.201.0
|
475 |
+
'@aws-sdk/util-middleware': 3.201.0
|
476 |
+
tslib: 2.4.1
|
477 |
+
dev: false
|
478 |
+
optional: true
|
479 |
+
|
480 |
+
/@aws-sdk/middleware-host-header/3.201.0:
|
481 |
+
resolution: {integrity: sha512-7KNzdV7nFcKAoahvgGAlzsOq9FFDsU5h3w2iPtVdJhz6ZRDH/2v6WFeUCji+UNZip36gFfMPivoO8Y5smb5r/A==}
|
482 |
+
engines: {node: '>=14.0.0'}
|
483 |
+
dependencies:
|
484 |
+
'@aws-sdk/protocol-http': 3.201.0
|
485 |
+
'@aws-sdk/types': 3.201.0
|
486 |
+
tslib: 2.4.1
|
487 |
+
dev: false
|
488 |
+
optional: true
|
489 |
+
|
490 |
+
/@aws-sdk/middleware-logger/3.201.0:
|
491 |
+
resolution: {integrity: sha512-kYLsa9x3oUJxYU7V5KOO50Kl7b0kk+I4ltkrdarLvvXcVI7ZXmWHzHLT2dkUhj8S0ceVdi0FYHVPJ3GoE8re4A==}
|
492 |
+
engines: {node: '>=14.0.0'}
|
493 |
+
dependencies:
|
494 |
+
'@aws-sdk/types': 3.201.0
|
495 |
+
tslib: 2.4.1
|
496 |
+
dev: false
|
497 |
+
optional: true
|
498 |
+
|
499 |
+
/@aws-sdk/middleware-recursion-detection/3.201.0:
|
500 |
+
resolution: {integrity: sha512-NGOr+n559ZcJLdFoJR8LNGdrOJFIp2BTuWEDYeicNdNb0bETTXrkzcfT1BRhV9CWqCDmjFvjdrzbhS0cw/UUGA==}
|
501 |
+
engines: {node: '>=14.0.0'}
|
502 |
+
dependencies:
|
503 |
+
'@aws-sdk/protocol-http': 3.201.0
|
504 |
+
'@aws-sdk/types': 3.201.0
|
505 |
+
tslib: 2.4.1
|
506 |
+
dev: false
|
507 |
+
optional: true
|
508 |
+
|
509 |
+
/@aws-sdk/middleware-retry/3.201.0:
|
510 |
+
resolution: {integrity: sha512-4jQjSKCpSc4oB1X9nNq4FbIAwQrr+mvmUSmg/oe2Llf42Ak1G9gg3rNTtQdfzA/wNMlL4ZFfF5Br+uz06e1hnQ==}
|
511 |
+
engines: {node: '>=14.0.0'}
|
512 |
+
dependencies:
|
513 |
+
'@aws-sdk/protocol-http': 3.201.0
|
514 |
+
'@aws-sdk/service-error-classification': 3.201.0
|
515 |
+
'@aws-sdk/types': 3.201.0
|
516 |
+
'@aws-sdk/util-middleware': 3.201.0
|
517 |
+
tslib: 2.4.1
|
518 |
+
uuid: 8.3.2
|
519 |
+
dev: false
|
520 |
+
optional: true
|
521 |
+
|
522 |
+
/@aws-sdk/middleware-sdk-sts/3.201.0:
|
523 |
+
resolution: {integrity: sha512-clZuXcoN0mAP4JH5C6pW5+0tdF25+fpFJqE7GNRjjH/NYNk6ImVI0Kq2espEWwVBuaS0/chTDK3b+pK8YOWdhw==}
|
524 |
+
engines: {node: '>=14.0.0'}
|
525 |
+
dependencies:
|
526 |
+
'@aws-sdk/middleware-signing': 3.201.0
|
527 |
+
'@aws-sdk/property-provider': 3.201.0
|
528 |
+
'@aws-sdk/protocol-http': 3.201.0
|
529 |
+
'@aws-sdk/signature-v4': 3.201.0
|
530 |
+
'@aws-sdk/types': 3.201.0
|
531 |
+
tslib: 2.4.1
|
532 |
+
dev: false
|
533 |
+
optional: true
|
534 |
+
|
535 |
+
/@aws-sdk/middleware-serde/3.201.0:
|
536 |
+
resolution: {integrity: sha512-Z7AzIuqEDvsZmp80zeT1oYxsoB8uQZby20Z8kF6/vNoq3sIzaGf/wHeNn0p+Vgo2auGSbZcVUZKoDptQLSLwIQ==}
|
537 |
+
engines: {node: '>=14.0.0'}
|
538 |
+
dependencies:
|
539 |
+
'@aws-sdk/types': 3.201.0
|
540 |
+
tslib: 2.4.1
|
541 |
+
dev: false
|
542 |
+
optional: true
|
543 |
+
|
544 |
+
/@aws-sdk/middleware-signing/3.201.0:
|
545 |
+
resolution: {integrity: sha512-08ri5+mB28tva9RjVIXFcUP5lRTx+Pj8C2HYqF2GL5H3uAo+h3RQ++fEG1uwUMLf7tCEFivcw6SHA1KmCnB7+w==}
|
546 |
+
engines: {node: '>=14.0.0'}
|
547 |
+
dependencies:
|
548 |
+
'@aws-sdk/property-provider': 3.201.0
|
549 |
+
'@aws-sdk/protocol-http': 3.201.0
|
550 |
+
'@aws-sdk/signature-v4': 3.201.0
|
551 |
+
'@aws-sdk/types': 3.201.0
|
552 |
+
'@aws-sdk/util-middleware': 3.201.0
|
553 |
+
tslib: 2.4.1
|
554 |
+
dev: false
|
555 |
+
optional: true
|
556 |
+
|
557 |
+
/@aws-sdk/middleware-stack/3.201.0:
|
558 |
+
resolution: {integrity: sha512-lqHYSBP5FBxzA5w5XiYYYpfXabFzleXonqRkqZts1tapNJ4sOd+itiKG8JoNP7LDOwJ8qxNW/a33/gQeh3wkwQ==}
|
559 |
+
engines: {node: '>=14.0.0'}
|
560 |
+
dependencies:
|
561 |
+
tslib: 2.4.1
|
562 |
+
dev: false
|
563 |
+
optional: true
|
564 |
+
|
565 |
+
/@aws-sdk/middleware-user-agent/3.201.0:
|
566 |
+
resolution: {integrity: sha512-/rYZ93WN1gDJudXis/0382CEoTqRa4qZJA608u2EPWs5aiMocUrm7pjH5XvKm2OYX8K/lyaMSBvL2OTIMzXGaQ==}
|
567 |
+
engines: {node: '>=14.0.0'}
|
568 |
+
dependencies:
|
569 |
+
'@aws-sdk/protocol-http': 3.201.0
|
570 |
+
'@aws-sdk/types': 3.201.0
|
571 |
+
tslib: 2.4.1
|
572 |
+
dev: false
|
573 |
+
optional: true
|
574 |
+
|
575 |
+
/@aws-sdk/node-config-provider/3.201.0:
|
576 |
+
resolution: {integrity: sha512-JO0K2qPTYn+pPC7g8rWr1oueg9CqGCkYbINuAuz79vjToOLUQnZT9GiFm7QADe6J6RT1oGEKRQabNaJnp8cFpQ==}
|
577 |
+
engines: {node: '>=14.0.0'}
|
578 |
+
dependencies:
|
579 |
+
'@aws-sdk/property-provider': 3.201.0
|
580 |
+
'@aws-sdk/shared-ini-file-loader': 3.201.0
|
581 |
+
'@aws-sdk/types': 3.201.0
|
582 |
+
tslib: 2.4.1
|
583 |
+
dev: false
|
584 |
+
optional: true
|
585 |
+
|
586 |
+
/@aws-sdk/node-http-handler/3.201.0:
|
587 |
+
resolution: {integrity: sha512-bWjXBd4WCiQcV4PwY+eFnlz9tZ4UiqfiJteav4MDt8YWkVlsVnR8RutmVSm3KZZjO2tJNSrla0ZWBebkNnI/Xg==}
|
588 |
+
engines: {node: '>=14.0.0'}
|
589 |
+
dependencies:
|
590 |
+
'@aws-sdk/abort-controller': 3.201.0
|
591 |
+
'@aws-sdk/protocol-http': 3.201.0
|
592 |
+
'@aws-sdk/querystring-builder': 3.201.0
|
593 |
+
'@aws-sdk/types': 3.201.0
|
594 |
+
tslib: 2.4.1
|
595 |
+
dev: false
|
596 |
+
optional: true
|
597 |
+
|
598 |
+
/@aws-sdk/property-provider/3.201.0:
|
599 |
+
resolution: {integrity: sha512-lVMP75VsYHIW04uYbkjA0I8Bb7b+aEj6PBBLdFoA22S0uCeJOD42OSr2Gtg2fToDGO7LQJw/K2D+LMCYKfZ3vQ==}
|
600 |
+
engines: {node: '>=14.0.0'}
|
601 |
+
dependencies:
|
602 |
+
'@aws-sdk/types': 3.201.0
|
603 |
+
tslib: 2.4.1
|
604 |
+
dev: false
|
605 |
+
optional: true
|
606 |
+
|
607 |
+
/@aws-sdk/protocol-http/3.201.0:
|
608 |
+
resolution: {integrity: sha512-RdOc1elWFpj8MogxG87nkhtylw0a+OD7W8WFM+Gw4yJMkl7cwW42VIBFfb0+KCGZfIQltIeSLRvfe3WvVPyo7Q==}
|
609 |
+
engines: {node: '>=14.0.0'}
|
610 |
+
dependencies:
|
611 |
+
'@aws-sdk/types': 3.201.0
|
612 |
+
tslib: 2.4.1
|
613 |
+
dev: false
|
614 |
+
optional: true
|
615 |
+
|
616 |
+
/@aws-sdk/querystring-builder/3.201.0:
|
617 |
+
resolution: {integrity: sha512-FgQnVHpYR19w/HmHEgWpykCn9tdogW0n45Ins6LBCo2aImDf9kBATD4xgN/F2rtogGuLGgu5LIIMHIOj1Tzs/w==}
|
618 |
+
engines: {node: '>=14.0.0'}
|
619 |
+
dependencies:
|
620 |
+
'@aws-sdk/types': 3.201.0
|
621 |
+
'@aws-sdk/util-uri-escape': 3.201.0
|
622 |
+
tslib: 2.4.1
|
623 |
+
dev: false
|
624 |
+
optional: true
|
625 |
+
|
626 |
+
/@aws-sdk/querystring-parser/3.201.0:
|
627 |
+
resolution: {integrity: sha512-vS9Ljbqrwi0sIKYxgyZYJUN1AcE291hvuqwty9etgD2w/26SbWiMhjIW/fXJUOZjUvGKkYCpbivJYSzAGAuWfQ==}
|
628 |
+
engines: {node: '>=14.0.0'}
|
629 |
+
dependencies:
|
630 |
+
'@aws-sdk/types': 3.201.0
|
631 |
+
tslib: 2.4.1
|
632 |
+
dev: false
|
633 |
+
optional: true
|
634 |
+
|
635 |
+
/@aws-sdk/service-error-classification/3.201.0:
|
636 |
+
resolution: {integrity: sha512-Pfcfmurgq8UpM0rXco6FVblcruqN4Mo3TW8/yaXrbctWpmdNT/8v19fffQIIgk94TU8Vf/nPJ7E5DXL7MZr4Fw==}
|
637 |
+
engines: {node: '>=14.0.0'}
|
638 |
+
dev: false
|
639 |
+
optional: true
|
640 |
+
|
641 |
+
/@aws-sdk/shared-ini-file-loader/3.201.0:
|
642 |
+
resolution: {integrity: sha512-Pbxk0TXep0yI8MnK7Prly6JuBm5Me9AITav8/zPEgTZ3fMhXhQhhiuQcuTCI9GeosSzoiu8VvK53oPtBZZFnXQ==}
|
643 |
+
engines: {node: '>=14.0.0'}
|
644 |
+
dependencies:
|
645 |
+
'@aws-sdk/types': 3.201.0
|
646 |
+
tslib: 2.4.1
|
647 |
+
dev: false
|
648 |
+
optional: true
|
649 |
+
|
650 |
+
/@aws-sdk/signature-v4/3.201.0:
|
651 |
+
resolution: {integrity: sha512-zEHoG1/hzJq169slggkPy1SN9YPWI78Bbe/MvHGYmCmQDspblu60JSBIbAatNqAxAmcWKc2HqpyGKjCkMG94ZA==}
|
652 |
+
engines: {node: '>=14.0.0'}
|
653 |
+
dependencies:
|
654 |
+
'@aws-sdk/is-array-buffer': 3.201.0
|
655 |
+
'@aws-sdk/types': 3.201.0
|
656 |
+
'@aws-sdk/util-hex-encoding': 3.201.0
|
657 |
+
'@aws-sdk/util-middleware': 3.201.0
|
658 |
+
'@aws-sdk/util-uri-escape': 3.201.0
|
659 |
+
tslib: 2.4.1
|
660 |
+
dev: false
|
661 |
+
optional: true
|
662 |
+
|
663 |
+
/@aws-sdk/smithy-client/3.201.0:
|
664 |
+
resolution: {integrity: sha512-cL87Jgxczee8YFkWGWKQ2Ze0vjn4+eCa1kDvEYMCOQvNujTuFgatXLgije5a7nVkSnL9WLoIP7Y7fsBGrKfMnQ==}
|
665 |
+
engines: {node: '>=14.0.0'}
|
666 |
+
dependencies:
|
667 |
+
'@aws-sdk/middleware-stack': 3.201.0
|
668 |
+
'@aws-sdk/types': 3.201.0
|
669 |
+
tslib: 2.4.1
|
670 |
+
dev: false
|
671 |
+
optional: true
|
672 |
+
|
673 |
+
/@aws-sdk/types/3.201.0:
|
674 |
+
resolution: {integrity: sha512-RCQj2pQyHD330Jd4c5CHJ87k2ZqC3Mmtl6nhwH1dy3vbnGUpc3q+3yinOKoTAY934kIa7ia32Y/2EjuyHxaj1A==}
|
675 |
+
engines: {node: '>=14.0.0'}
|
676 |
+
dev: false
|
677 |
+
optional: true
|
678 |
+
|
679 |
+
/@aws-sdk/url-parser/3.201.0:
|
680 |
+
resolution: {integrity: sha512-V15aqj0tj4Y79VpuIdHUvX4Nvn4hYPB0RAn/qg5CCComIl0doLOirAQtW1MOBOyctdRlD9Uv7d1QdPLzJZMHjQ==}
|
681 |
+
dependencies:
|
682 |
+
'@aws-sdk/querystring-parser': 3.201.0
|
683 |
+
'@aws-sdk/types': 3.201.0
|
684 |
+
tslib: 2.4.1
|
685 |
+
dev: false
|
686 |
+
optional: true
|
687 |
+
|
688 |
+
/@aws-sdk/util-base64-browser/3.188.0:
|
689 |
+
resolution: {integrity: sha512-qlH+5NZBLiyKziL335BEPedYxX6j+p7KFRWXvDQox9S+s+gLCayednpK+fteOhBenCcR9fUZOVuAPScy1I8qCg==}
|
690 |
+
dependencies:
|
691 |
+
tslib: 2.4.1
|
692 |
+
dev: false
|
693 |
+
optional: true
|
694 |
+
|
695 |
+
/@aws-sdk/util-base64-node/3.201.0:
|
696 |
+
resolution: {integrity: sha512-ydZqNpB3l5kiicInpPDExPb5xHI7uyVIa1vMupnuIrJ412iNb0F2+K8LlFynzw6fSJShVKnqFcWOYRA96z1iIw==}
|
697 |
+
engines: {node: '>=14.0.0'}
|
698 |
+
dependencies:
|
699 |
+
'@aws-sdk/util-buffer-from': 3.201.0
|
700 |
+
tslib: 2.4.1
|
701 |
+
dev: false
|
702 |
+
optional: true
|
703 |
+
|
704 |
+
/@aws-sdk/util-base64/3.202.0:
|
705 |
+
resolution: {integrity: sha512-0QlvxCSU2CITeR/x87zls9ma+CkN3EXRGM3M5XnHWaneDI9K+O2uPpAbDfLh0SBJyO0AfIMn7Vh/BvnNNPEDpg==}
|
706 |
+
engines: {node: '>=14.0.0'}
|
707 |
+
dependencies:
|
708 |
+
'@aws-sdk/util-buffer-from': 3.201.0
|
709 |
+
tslib: 2.4.1
|
710 |
+
dev: false
|
711 |
+
optional: true
|
712 |
+
|
713 |
+
/@aws-sdk/util-body-length-browser/3.188.0:
|
714 |
+
resolution: {integrity: sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==}
|
715 |
+
dependencies:
|
716 |
+
tslib: 2.4.1
|
717 |
+
dev: false
|
718 |
+
optional: true
|
719 |
+
|
720 |
+
/@aws-sdk/util-body-length-node/3.201.0:
|
721 |
+
resolution: {integrity: sha512-q+gwQoLn/DOwirb2hgZJeEwo1D3vLhoD6FfSV42Ecfvtb4jHnWReWMHguujfCubuDgZCrMEvYQzuocS75HHsbA==}
|
722 |
+
engines: {node: '>=14.0.0'}
|
723 |
+
dependencies:
|
724 |
+
tslib: 2.4.1
|
725 |
+
dev: false
|
726 |
+
optional: true
|
727 |
+
|
728 |
+
/@aws-sdk/util-buffer-from/3.201.0:
|
729 |
+
resolution: {integrity: sha512-s6Wjltd9vU+vR3n0pqSPmNDcrrkrVTdV4t7x2zz3nDsFKTI77iVNafDmuaUlOA/bIlpjCJqaWecoVrZmEKeR7A==}
|
730 |
+
engines: {node: '>=14.0.0'}
|
731 |
+
dependencies:
|
732 |
+
'@aws-sdk/is-array-buffer': 3.201.0
|
733 |
+
tslib: 2.4.1
|
734 |
+
dev: false
|
735 |
+
optional: true
|
736 |
+
|
737 |
+
/@aws-sdk/util-config-provider/3.201.0:
|
738 |
+
resolution: {integrity: sha512-cCRJlnRRP8vrLJomzJRBIyiyohsjJKmnIaQ9t0tAhGCywZbyjx6TlpYRZYfVWo+MwdF1Pi8ZScTrFPW0JuBOIQ==}
|
739 |
+
engines: {node: '>=14.0.0'}
|
740 |
+
dependencies:
|
741 |
+
tslib: 2.4.1
|
742 |
+
dev: false
|
743 |
+
optional: true
|
744 |
+
|
745 |
+
/@aws-sdk/util-defaults-mode-browser/3.201.0:
|
746 |
+
resolution: {integrity: sha512-skRMAM+xrV/sDvvtHC81ExEKQEiZFaRrRdUT39fBX1SpGnFTo2wpv7XK+rAW2XopGgnLPytXLQD97Kub79o4zA==}
|
747 |
+
engines: {node: '>= 10.0.0'}
|
748 |
+
dependencies:
|
749 |
+
'@aws-sdk/property-provider': 3.201.0
|
750 |
+
'@aws-sdk/types': 3.201.0
|
751 |
+
bowser: 2.11.0
|
752 |
+
tslib: 2.4.1
|
753 |
+
dev: false
|
754 |
+
optional: true
|
755 |
+
|
756 |
+
/@aws-sdk/util-defaults-mode-node/3.201.0:
|
757 |
+
resolution: {integrity: sha512-9N5LXRhxigbkbEcjQ4nNXHuQxp0VFlbc2/5wbcuPjIKX/OROiQI4mYQ6nuSKk7eku5sNFb9FtEHeD/RZo8od6Q==}
|
758 |
+
engines: {node: '>= 10.0.0'}
|
759 |
+
dependencies:
|
760 |
+
'@aws-sdk/config-resolver': 3.201.0
|
761 |
+
'@aws-sdk/credential-provider-imds': 3.201.0
|
762 |
+
'@aws-sdk/node-config-provider': 3.201.0
|
763 |
+
'@aws-sdk/property-provider': 3.201.0
|
764 |
+
'@aws-sdk/types': 3.201.0
|
765 |
+
tslib: 2.4.1
|
766 |
+
dev: false
|
767 |
+
optional: true
|
768 |
+
|
769 |
+
/@aws-sdk/util-endpoints/3.202.0:
|
770 |
+
resolution: {integrity: sha512-sNees5uDp7nfEbvzaA1DAHqoEvEb9ZOkdNH5gcj/FMBETbr00YtsuXsTZogTHQsX/otRTiudZBE3iH7R4SLSAQ==}
|
771 |
+
engines: {node: '>=14.0.0'}
|
772 |
+
dependencies:
|
773 |
+
'@aws-sdk/types': 3.201.0
|
774 |
+
tslib: 2.4.1
|
775 |
+
dev: false
|
776 |
+
optional: true
|
777 |
+
|
778 |
+
/@aws-sdk/util-hex-encoding/3.201.0:
|
779 |
+
resolution: {integrity: sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA==}
|
780 |
+
engines: {node: '>=14.0.0'}
|
781 |
+
dependencies:
|
782 |
+
tslib: 2.4.1
|
783 |
+
dev: false
|
784 |
+
optional: true
|
785 |
+
|
786 |
+
/@aws-sdk/util-locate-window/3.201.0:
|
787 |
+
resolution: {integrity: sha512-hPJgifWh/rADabLAk1C9xXA2B3O4NUmbU58KgBRgC1HksiiHGFVZObB5fkBH8US/XV2jwORkpSf4OhretXQuKg==}
|
788 |
+
engines: {node: '>=14.0.0'}
|
789 |
+
dependencies:
|
790 |
+
tslib: 2.4.1
|
791 |
+
dev: false
|
792 |
+
optional: true
|
793 |
+
|
794 |
+
/@aws-sdk/util-middleware/3.201.0:
|
795 |
+
resolution: {integrity: sha512-iAitcEZo17IyKn4ku1IBgtomr25esu5OuSRjw5Or4bNOeqXB0w50cItf/9qft8LIhbvBEAUtNAYXvqNzvhTZdQ==}
|
796 |
+
engines: {node: '>=14.0.0'}
|
797 |
+
dependencies:
|
798 |
+
tslib: 2.4.1
|
799 |
+
dev: false
|
800 |
+
optional: true
|
801 |
+
|
802 |
+
/@aws-sdk/util-uri-escape/3.201.0:
|
803 |
+
resolution: {integrity: sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==}
|
804 |
+
engines: {node: '>=14.0.0'}
|
805 |
+
dependencies:
|
806 |
+
tslib: 2.4.1
|
807 |
+
dev: false
|
808 |
+
optional: true
|
809 |
+
|
810 |
+
/@aws-sdk/util-user-agent-browser/3.201.0:
|
811 |
+
resolution: {integrity: sha512-iL2gyz7GuUVtZcMZpqvfxdFrl9hc28qpagymmJ/w2yhN86YNPHdK8Sx1Yo6VxNGVDCCWGb7tHXf7VP+U4Yv/Lg==}
|
812 |
+
dependencies:
|
813 |
+
'@aws-sdk/types': 3.201.0
|
814 |
+
bowser: 2.11.0
|
815 |
+
tslib: 2.4.1
|
816 |
+
dev: false
|
817 |
+
optional: true
|
818 |
+
|
819 |
+
/@aws-sdk/util-user-agent-node/3.201.0:
|
820 |
+
resolution: {integrity: sha512-6lhhvwB3AZSISnYQpDGdlyTrzfYK2P9QYjy7vZEBRd9TSOaggiFICXe03ZvZfVOSeg0EInlMKn1fIHzPUHRuHQ==}
|
821 |
+
engines: {node: '>=14.0.0'}
|
822 |
+
peerDependencies:
|
823 |
+
aws-crt: '>=1.0.0'
|
824 |
+
peerDependenciesMeta:
|
825 |
+
aws-crt:
|
826 |
+
optional: true
|
827 |
+
dependencies:
|
828 |
+
'@aws-sdk/node-config-provider': 3.201.0
|
829 |
+
'@aws-sdk/types': 3.201.0
|
830 |
+
tslib: 2.4.1
|
831 |
+
dev: false
|
832 |
+
optional: true
|
833 |
+
|
834 |
+
/@aws-sdk/util-utf8-browser/3.188.0:
|
835 |
+
resolution: {integrity: sha512-jt627x0+jE+Ydr9NwkFstg3cUvgWh56qdaqAMDsqgRlKD21md/6G226z/Qxl7lb1VEW2LlmCx43ai/37Qwcj2Q==}
|
836 |
+
dependencies:
|
837 |
+
tslib: 2.4.1
|
838 |
+
dev: false
|
839 |
+
optional: true
|
840 |
+
|
841 |
+
/@aws-sdk/util-utf8-node/3.201.0:
|
842 |
+
resolution: {integrity: sha512-A+bJFR/1rHYOJg137E69L1sX0I+LH+xf9ZjMXG9BVO0hSo7yDPoJVpHrzTJyOc3tuRITjIGBv9Qi4TKcoOSi1A==}
|
843 |
+
engines: {node: '>=14.0.0'}
|
844 |
+
dependencies:
|
845 |
+
'@aws-sdk/util-buffer-from': 3.201.0
|
846 |
+
tslib: 2.4.1
|
847 |
+
dev: false
|
848 |
+
optional: true
|
849 |
+
|
850 |
/@esbuild/android-arm/0.15.13:
|
851 |
resolution: {integrity: sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==}
|
852 |
engines: {node: '>=12'}
|
|
|
1072 |
rollup: 2.79.1
|
1073 |
dev: true
|
1074 |
|
1075 |
+
/@sveltejs/kit/1.0.0-next.538_svelte@[email protected]:
|
1076 |
+
resolution: {integrity: sha512-NRu6+j1Lc0daE2OirlbDCbT/yMf5l5nFln2o1asMA3HL7A244SG+uGGFea4DZ1bdetZ3IhO5xa1MWIGY5Ybb3g==}
|
1077 |
engines: {node: '>=16.14'}
|
1078 |
hasBin: true
|
1079 |
requiresBuild: true
|
|
|
1134 |
resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
|
1135 |
dev: true
|
1136 |
|
1137 |
+
/@types/lodash/4.14.188:
|
1138 |
+
resolution: {integrity: sha512-zmEmF5OIM3rb7SbLCFYoQhO4dGt2FRM9AMkxvA3LaADOF1n8in/zGJlWji9fmafLoNyz+FoL6FE0SLtGIArD7w==}
|
1139 |
+
dev: true
|
1140 |
+
|
1141 |
+
/@types/marked/4.0.7:
|
1142 |
+
resolution: {integrity: sha512-eEAhnz21CwvKVW+YvRvcTuFKNU9CV1qH+opcgVK3pIMI6YZzDm6gc8o2vHjldFk6MGKt5pueSB7IOpvpx5Qekw==}
|
1143 |
+
dev: true
|
1144 |
+
|
1145 |
/@types/node/18.11.9:
|
1146 |
resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==}
|
|
|
1147 |
|
1148 |
/@types/pug/2.0.6:
|
1149 |
resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==}
|
|
|
1163 |
resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==}
|
1164 |
dev: true
|
1165 |
|
1166 |
+
/@types/webidl-conversions/7.0.0:
|
1167 |
+
resolution: {integrity: sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==}
|
1168 |
+
dev: false
|
1169 |
+
|
1170 |
+
/@types/whatwg-url/8.2.2:
|
1171 |
+
resolution: {integrity: sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==}
|
1172 |
+
dependencies:
|
1173 |
+
'@types/node': 18.11.9
|
1174 |
+
'@types/webidl-conversions': 7.0.0
|
1175 |
+
dev: false
|
1176 |
+
|
1177 |
/@typescript-eslint/eslint-plugin/5.42.0_6xw5wg2354iw4zujk2f3vyfrzu:
|
1178 |
resolution: {integrity: sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==}
|
1179 |
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
|
|
1518 |
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
1519 |
dev: true
|
1520 |
|
1521 |
+
/base64-js/1.5.1:
|
1522 |
+
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
|
1523 |
+
dev: false
|
1524 |
+
|
1525 |
/binary-extensions/2.2.0:
|
1526 |
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
|
1527 |
engines: {node: '>=8'}
|
1528 |
dev: true
|
1529 |
|
1530 |
+
/bowser/2.11.0:
|
1531 |
+
resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==}
|
1532 |
+
dev: false
|
1533 |
+
optional: true
|
1534 |
+
|
1535 |
/brace-expansion/1.1.11:
|
1536 |
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
1537 |
dependencies:
|
|
|
1552 |
fill-range: 7.0.1
|
1553 |
dev: true
|
1554 |
|
1555 |
+
/bson/4.7.0:
|
1556 |
+
resolution: {integrity: sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==}
|
1557 |
+
engines: {node: '>=6.9.0'}
|
1558 |
+
dependencies:
|
1559 |
+
buffer: 5.7.1
|
1560 |
+
dev: false
|
1561 |
+
|
1562 |
/buffer-crc32/0.2.13:
|
1563 |
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
|
1564 |
dev: true
|
1565 |
|
1566 |
+
/buffer/5.7.1:
|
1567 |
+
resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
|
1568 |
+
dependencies:
|
1569 |
+
base64-js: 1.5.1
|
1570 |
+
ieee754: 1.2.1
|
1571 |
+
dev: false
|
1572 |
+
|
1573 |
/builtin-modules/3.3.0:
|
1574 |
resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
|
1575 |
engines: {node: '>=6'}
|
|
|
1689 |
resolution: {integrity: sha512-pOFYRTIhoKujrmbTRhcW5lYQLBXw/dlTwfI8IguF1QCDJOcJzNH1w+YFjxqy6BAuJrClTy6MUE8q+oKJ2FLsIw==}
|
1690 |
dev: true
|
1691 |
|
1692 |
+
/denque/2.1.0:
|
1693 |
+
resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==}
|
1694 |
+
engines: {node: '>=0.10'}
|
1695 |
+
dev: false
|
1696 |
+
|
1697 |
/destr/1.2.0:
|
1698 |
resolution: {integrity: sha512-JG+cG4ZPB1L27sl2C2URg8MIOmIUtTbE5wEx02BpmrTCqg/hXxFKXsYsnODl5PdpqNRaS1KQGUQ56V8jk8XpYQ==}
|
1699 |
dev: true
|
|
|
2127 |
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
|
2128 |
dev: true
|
2129 |
|
2130 |
+
/fast-xml-parser/4.0.11:
|
2131 |
+
resolution: {integrity: sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA==}
|
2132 |
+
hasBin: true
|
2133 |
+
dependencies:
|
2134 |
+
strnum: 1.0.5
|
2135 |
+
dev: false
|
2136 |
+
optional: true
|
2137 |
+
|
2138 |
/fastq/1.13.0:
|
2139 |
resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
|
2140 |
dependencies:
|
|
|
2291 |
engines: {node: '>=10.17.0'}
|
2292 |
dev: true
|
2293 |
|
2294 |
+
/ieee754/1.2.1:
|
2295 |
+
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
|
2296 |
+
dev: false
|
2297 |
+
|
2298 |
/ignore/5.2.0:
|
2299 |
resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==}
|
2300 |
engines: {node: '>= 4'}
|
|
|
2324 |
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
2325 |
dev: true
|
2326 |
|
2327 |
+
/ip/2.0.0:
|
2328 |
+
resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==}
|
2329 |
+
dev: false
|
2330 |
+
|
2331 |
/is-binary-path/2.1.0:
|
2332 |
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
|
2333 |
engines: {node: '>=8'}
|
|
|
2446 |
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
|
2447 |
dev: true
|
2448 |
|
2449 |
+
/lodash/4.17.21:
|
2450 |
+
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
2451 |
+
dev: false
|
2452 |
+
|
2453 |
/lru-cache/6.0.0:
|
2454 |
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
|
2455 |
engines: {node: '>=10'}
|
|
|
2470 |
sourcemap-codec: 1.4.8
|
2471 |
dev: true
|
2472 |
|
2473 |
+
/marked/4.2.2:
|
2474 |
+
resolution: {integrity: sha512-JjBTFTAvuTgANXx82a5vzK9JLSMoV6V3LBVn4Uhdso6t7vXrGx7g1Cd2r6NYSsxrYbQGFCMqBDhFHyK5q2UvcQ==}
|
2475 |
+
engines: {node: '>= 12'}
|
2476 |
+
hasBin: true
|
2477 |
+
dev: false
|
2478 |
+
|
2479 |
/mdn-data/2.0.28:
|
2480 |
resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
|
2481 |
dev: true
|
2482 |
|
2483 |
+
/memory-pager/1.5.0:
|
2484 |
+
resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==}
|
2485 |
+
dev: false
|
2486 |
+
optional: true
|
2487 |
+
|
2488 |
/merge-stream/2.0.0:
|
2489 |
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
|
2490 |
dev: true
|
|
|
2542 |
minimist: 1.2.7
|
2543 |
dev: true
|
2544 |
|
2545 |
+
/mongodb-connection-string-url/2.5.4:
|
2546 |
+
resolution: {integrity: sha512-SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==}
|
2547 |
+
dependencies:
|
2548 |
+
'@types/whatwg-url': 8.2.2
|
2549 |
+
whatwg-url: 11.0.0
|
2550 |
+
dev: false
|
2551 |
+
|
2552 |
+
/mongodb/4.11.0:
|
2553 |
+
resolution: {integrity: sha512-9l9n4Nk2BYZzljW3vHah3Z0rfS5npKw6ktnkmFgTcnzaXH1DRm3pDl6VMHu84EVb1lzmSaJC4OzWZqTkB5i2wg==}
|
2554 |
+
engines: {node: '>=12.9.0'}
|
2555 |
+
dependencies:
|
2556 |
+
bson: 4.7.0
|
2557 |
+
denque: 2.1.0
|
2558 |
+
mongodb-connection-string-url: 2.5.4
|
2559 |
+
socks: 2.7.1
|
2560 |
+
optionalDependencies:
|
2561 |
+
'@aws-sdk/credential-providers': 3.204.0
|
2562 |
+
saslprep: 1.0.3
|
2563 |
+
transitivePeerDependencies:
|
2564 |
+
- aws-crt
|
2565 |
+
dev: false
|
2566 |
+
|
2567 |
/mri/1.2.0:
|
2568 |
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
|
2569 |
engines: {node: '>=4'}
|
|
|
2737 |
/punycode/2.1.1:
|
2738 |
resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
|
2739 |
engines: {node: '>=6'}
|
|
|
2740 |
|
2741 |
/queue-microtask/1.2.3:
|
2742 |
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
|
|
2817 |
rimraf: 2.7.1
|
2818 |
dev: true
|
2819 |
|
2820 |
+
/saslprep/1.0.3:
|
2821 |
+
resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==}
|
2822 |
+
engines: {node: '>=6'}
|
2823 |
+
requiresBuild: true
|
2824 |
+
dependencies:
|
2825 |
+
sparse-bitfield: 3.0.3
|
2826 |
+
dev: false
|
2827 |
+
optional: true
|
2828 |
+
|
2829 |
/semver/7.3.8:
|
2830 |
resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
|
2831 |
engines: {node: '>=10'}
|
|
|
2868 |
engines: {node: '>=8'}
|
2869 |
dev: true
|
2870 |
|
2871 |
+
/smart-buffer/4.2.0:
|
2872 |
+
resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
|
2873 |
+
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
|
2874 |
+
dev: false
|
2875 |
+
|
2876 |
+
/socks/2.7.1:
|
2877 |
+
resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==}
|
2878 |
+
engines: {node: '>= 10.13.0', npm: '>= 3.0.0'}
|
2879 |
+
dependencies:
|
2880 |
+
ip: 2.0.0
|
2881 |
+
smart-buffer: 4.2.0
|
2882 |
+
dev: false
|
2883 |
+
|
2884 |
/sorcery/0.10.0:
|
2885 |
resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==}
|
2886 |
hasBin: true
|
|
|
2900 |
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
|
2901 |
dev: true
|
2902 |
|
2903 |
+
/sparse-bitfield/3.0.3:
|
2904 |
+
resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==}
|
2905 |
+
dependencies:
|
2906 |
+
memory-pager: 1.5.0
|
2907 |
+
dev: false
|
2908 |
+
optional: true
|
2909 |
+
|
2910 |
/streamsearch/1.1.0:
|
2911 |
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
|
2912 |
engines: {node: '>=10.0.0'}
|
|
|
2936 |
engines: {node: '>=8'}
|
2937 |
dev: true
|
2938 |
|
2939 |
+
/strnum/1.0.5:
|
2940 |
+
resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
|
2941 |
+
dev: false
|
2942 |
+
optional: true
|
2943 |
+
|
2944 |
/supports-color/7.2.0:
|
2945 |
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
2946 |
engines: {node: '>=8'}
|
|
|
3057 |
globrex: 0.1.2
|
3058 |
dev: true
|
3059 |
|
3060 |
+
/tinygesture/2.0.0:
|
3061 |
+
resolution: {integrity: sha512-Xhpo6tCvUOyVq7BmJh/WDi+9qFh5AtuUqbKoMG5vpG+PT6JLPGE9D5hl9kZlj1ZqsgHuGb1OrNAXoHh8qIDpjA==}
|
3062 |
+
dev: true
|
3063 |
+
|
3064 |
/to-regex-range/5.0.1:
|
3065 |
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
|
3066 |
engines: {node: '>=8.0'}
|
|
|
3073 |
engines: {node: '>=6'}
|
3074 |
dev: true
|
3075 |
|
3076 |
+
/tr46/3.0.0:
|
3077 |
+
resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==}
|
3078 |
+
engines: {node: '>=12'}
|
3079 |
+
dependencies:
|
3080 |
+
punycode: 2.1.1
|
3081 |
+
dev: false
|
3082 |
+
|
3083 |
/tslib/1.14.1:
|
3084 |
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
|
|
|
3085 |
|
3086 |
/tslib/2.4.1:
|
3087 |
resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
|
|
|
3088 |
|
3089 |
/tsutils/[email protected]:
|
3090 |
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
|
|
3171 |
punycode: 2.1.1
|
3172 |
dev: true
|
3173 |
|
3174 |
+
/uuid/8.3.2:
|
3175 |
+
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
|
3176 |
+
hasBin: true
|
3177 |
+
dev: false
|
3178 |
+
optional: true
|
3179 |
+
|
3180 |
/vite/3.2.2:
|
3181 |
resolution: {integrity: sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw==}
|
3182 |
engines: {node: ^14.18.0 || >=16.0.0}
|
|
|
3207 |
fsevents: 2.3.2
|
3208 |
dev: true
|
3209 |
|
3210 |
+
/webidl-conversions/7.0.0:
|
3211 |
+
resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
|
3212 |
+
engines: {node: '>=12'}
|
3213 |
+
dev: false
|
3214 |
+
|
3215 |
+
/whatwg-url/11.0.0:
|
3216 |
+
resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==}
|
3217 |
+
engines: {node: '>=12'}
|
3218 |
+
dependencies:
|
3219 |
+
tr46: 3.0.0
|
3220 |
+
webidl-conversions: 7.0.0
|
3221 |
+
dev: false
|
3222 |
+
|
3223 |
/which/2.0.2:
|
3224 |
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
|
3225 |
engines: {node: '>= 8'}
|
src/lib/components/Carousel.svelte
ADDED
@@ -0,0 +1,137 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import { onDestroy, onMount } from 'svelte';
|
3 |
+
|
4 |
+
let carousel: HTMLDivElement;
|
5 |
+
let carouselContent: HTMLDivElement;
|
6 |
+
let carouselDots: HTMLDivElement;
|
7 |
+
let currentIndex = 0;
|
8 |
+
let dots = 0;
|
9 |
+
let trigger = 1;
|
10 |
+
let className = '';
|
11 |
+
export { className as class };
|
12 |
+
|
13 |
+
let destroyCb = () => {};
|
14 |
+
|
15 |
+
onDestroy(() => destroyCb());
|
16 |
+
|
17 |
+
onMount(async () => {
|
18 |
+
dots = carouselContent.children.length;
|
19 |
+
|
20 |
+
for (let i = 0; i < dots; i++) {
|
21 |
+
carouselContent.children.item(i)?.addEventListener('click', (item) => (currentIndex = i));
|
22 |
+
}
|
23 |
+
|
24 |
+
// So the dots have time to populate
|
25 |
+
setTimeout(() => trigger++);
|
26 |
+
|
27 |
+
window.addEventListener('keydown', (key) => {
|
28 |
+
switch (key.code) {
|
29 |
+
case 'ArrowRight':
|
30 |
+
currentIndex = (currentIndex + 1) % dots;
|
31 |
+
key.stopPropagation();
|
32 |
+
break;
|
33 |
+
case 'ArrowLeft':
|
34 |
+
currentIndex = (currentIndex + dots - 1) % dots;
|
35 |
+
key.stopPropagation();
|
36 |
+
break;
|
37 |
+
}
|
38 |
+
});
|
39 |
+
|
40 |
+
const TinyGesture = (await import('tinygesture')).default;
|
41 |
+
|
42 |
+
const gesture = new TinyGesture(carousel);
|
43 |
+
gesture.on('swipeleft', () => (currentIndex = (currentIndex + 1) % dots));
|
44 |
+
gesture.on('swiperight', () => (currentIndex = (currentIndex + dots - 1) % dots));
|
45 |
+
|
46 |
+
destroyCb = () => {
|
47 |
+
gesture.off('swiperight');
|
48 |
+
gesture.off('swipeleft');
|
49 |
+
gesture.destroy();
|
50 |
+
};
|
51 |
+
});
|
52 |
+
|
53 |
+
$: if (carouselContent && dots && trigger) {
|
54 |
+
if (window.innerWidth >= 640) {
|
55 |
+
carouselContent.style.marginLeft = `${25 - currentIndex * 50}%`;
|
56 |
+
} else {
|
57 |
+
carouselContent.style.marginLeft = `${5 - currentIndex * 90}%`;
|
58 |
+
}
|
59 |
+
|
60 |
+
for (let i = 0; i < dots; i++) {
|
61 |
+
if (i === currentIndex) {
|
62 |
+
carouselDots.children.item(i)?.classList.add('carousel-dot-active');
|
63 |
+
carouselContent.children.item(i)?.classList.add('carousel-item-active');
|
64 |
+
} else {
|
65 |
+
carouselDots.children.item(i)?.classList.remove('carousel-dot-active');
|
66 |
+
carouselContent.children.item(i)?.classList.remove('carousel-item-active');
|
67 |
+
}
|
68 |
+
}
|
69 |
+
}
|
70 |
+
</script>
|
71 |
+
|
72 |
+
<div class="flex flex-col overflow-x-hidden {className}" {...$$restProps} bind:this={carousel}>
|
73 |
+
<div
|
74 |
+
class="flex flex-row w-full carousel-content"
|
75 |
+
style="height: calc(100% - 3rem)"
|
76 |
+
bind:this={carouselContent}
|
77 |
+
>
|
78 |
+
<slot />
|
79 |
+
</div>
|
80 |
+
|
81 |
+
<div
|
82 |
+
style="height: 1rem; margin-top: 2rem"
|
83 |
+
class="flex justify-center carousel-dots"
|
84 |
+
bind:this={carouselDots}
|
85 |
+
>
|
86 |
+
{#each Array(dots) as dot, i}
|
87 |
+
<button
|
88 |
+
style="width: 1rem; height: 1rem"
|
89 |
+
class="rounded-full mx-1 bg-sunray"
|
90 |
+
on:click={() => (currentIndex = i)}
|
91 |
+
/>
|
92 |
+
{/each}
|
93 |
+
</div>
|
94 |
+
</div>
|
95 |
+
|
96 |
+
<style>
|
97 |
+
.carousel-content {
|
98 |
+
margin-left: -25%;
|
99 |
+
transition-property: margin-left;
|
100 |
+
transition-duration: 400ms;
|
101 |
+
}
|
102 |
+
|
103 |
+
:global(.carousel-content > *) {
|
104 |
+
width: 50%;
|
105 |
+
min-width: 50%;
|
106 |
+
max-height: 100%;
|
107 |
+
transition-property: transform, opacity;
|
108 |
+
transition-duration: 400ms;
|
109 |
+
}
|
110 |
+
|
111 |
+
@media (max-width: 639.9px) {
|
112 |
+
:global(.carousel-content > *) {
|
113 |
+
width: 90%;
|
114 |
+
min-width: 90%;
|
115 |
+
max-height: 100%;
|
116 |
+
transition-property: transform, opacity;
|
117 |
+
transition-duration: 400ms;
|
118 |
+
}
|
119 |
+
}
|
120 |
+
|
121 |
+
:global(.carousel-content > :not(.carousel-item-active)) {
|
122 |
+
transform: scale(0.7);
|
123 |
+
opacity: 0.8;
|
124 |
+
cursor: pointer;
|
125 |
+
}
|
126 |
+
|
127 |
+
.carousel-dots > * {
|
128 |
+
transition-property: transform, opacity;
|
129 |
+
transition-duration: 400ms;
|
130 |
+
}
|
131 |
+
|
132 |
+
.carousel-dots > :not(.carousel-dot-active) {
|
133 |
+
transform: scale(0.7);
|
134 |
+
opacity: 0.8;
|
135 |
+
cursor: pointer;
|
136 |
+
}
|
137 |
+
</style>
|
src/lib/components/Container.svelte
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
export let noPadding = false;
|
3 |
+
let className = '';
|
4 |
+
export { className as class };
|
5 |
+
|
6 |
+
$: classes = noPadding ? className : className + ' pa-3 ';
|
7 |
+
</script>
|
8 |
+
|
9 |
+
<div class="max-w-6xl w-full mx-auto overflow-hidden box-border {classes}" {...$$restProps}>
|
10 |
+
<slot />
|
11 |
+
</div>
|
src/lib/components/Picture.svelte
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import type { Picture } from '$lib/types/Picture';
|
3 |
+
|
4 |
+
export let picture: Picture | undefined;
|
5 |
+
export let minStorage = 0;
|
6 |
+
</script>
|
7 |
+
|
8 |
+
{#if picture}
|
9 |
+
<img
|
10 |
+
alt={picture.name}
|
11 |
+
srcset={picture.storage
|
12 |
+
.slice(minStorage)
|
13 |
+
.map((format) => `/photos/raw/${format._id} ${format.width}w`)
|
14 |
+
.join(', ')}
|
15 |
+
{...$$restProps}
|
16 |
+
on:click
|
17 |
+
on:load
|
18 |
+
/>
|
19 |
+
{/if}
|
src/lib/server/db/index.ts
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { MONGODB_URL } from '$env/static/private';
|
2 |
+
import { MongoClient } from 'mongodb';
|
3 |
+
import { createPageCollection } from './page';
|
4 |
+
// import { createPictureCollections } from './picture';
|
5 |
+
// import { createProductCollection } from './product';
|
6 |
+
// import { createUserCollection } from './user';
|
7 |
+
|
8 |
+
const client = new MongoClient(MONGODB_URL, {
|
9 |
+
directConnection: true
|
10 |
+
});
|
11 |
+
|
12 |
+
export const connectPromise = client.connect().catch(console.error);
|
13 |
+
|
14 |
+
const db = client.db('bergere');
|
15 |
+
|
16 |
+
const pages = createPageCollection(db, client);
|
17 |
+
// const users = createUserCollection(db, client);
|
18 |
+
// const Products = createProductCollection(db);
|
19 |
+
// const { Pictures, PicturesFs } = createPictureCollections(db, client);
|
20 |
+
|
21 |
+
export { client, db, pages /* users, Pictures, PicturesFs, Products */ };
|
src/lib/server/db/page.ts
ADDED
@@ -0,0 +1,169 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import type {
|
2 |
+
ContactPage,
|
3 |
+
CreationsPage,
|
4 |
+
EshopPage,
|
5 |
+
FabricsPage,
|
6 |
+
HomePage,
|
7 |
+
Page
|
8 |
+
} from '$lib/types/Page';
|
9 |
+
import _ from 'lodash';
|
10 |
+
import type { Collection, Db, MongoClient } from 'mongodb';
|
11 |
+
|
12 |
+
export const defaultPages = {
|
13 |
+
'/': {
|
14 |
+
_id: '/',
|
15 |
+
name: "Bergère Enchantée - Tapisserie d'ameublement",
|
16 |
+
text: {
|
17 |
+
presentation: `C'est dans son univers enchanteur que Daphné le Couls, tapissière d'ameublement qualifiée depuis 2019, vous propose la réfection de vos assises dans son atelier situé en Finistère, à logonna Daoulas (entre l'axe Brest Quimper).
|
18 |
+
|
19 |
+
Daphné se déplace à votre domicile afin de déterminer avec vous vos besoins, qu'il s'agisse d'une réfection de siège complète, ou bien de la création de coussins décoratifs.
|
20 |
+
|
21 |
+
À l'atelier, nous vous proposons la réfection traditionnelle ou moderne de vos assises (crin ou mousse) selon vos besoins.
|
22 |
+
|
23 |
+
Nous vous proposons un service en ligne afin de concevoir à distance des coussins, et de vous les livrer n'importe où en France.
|
24 |
+
|
25 |
+
Nous proposons à la vente également des assises déjà refectionnées dans la partie E-shop.
|
26 |
+
|
27 |
+
Des tissus rigoureusement sélectionnés vous seront proposés pour habiller vos sièges/coussins. Mais vous êtes libre de commander du tissus pour vos projets personnels également. n'hésitez pas à regarder notre onglet tissus.
|
28 |
+
|
29 |
+
Daphné ne travaille que sur rendez vous, alors n'hésitez pas à la contacter, par téléphone ou par mail pour toute demande.`,
|
30 |
+
'eshop-description': "description de l'eshop",
|
31 |
+
description: `C'est dans son univers enchanteur que Daphné le Couls, tapissière d'ameublement qualifiée depuis 2019, vous propose la réfection de vos assises dans son atelier situé en Finistère, à logonna Daoulas (entre l'axe Brest Quimper).
|
32 |
+
|
33 |
+
Daphné se déplace à votre domicile afin de déterminer avec vous vos besoins, qu'il s'agisse d'une réfection de siège complète, ou bien de la création de coussins décoratifs.`
|
34 |
+
},
|
35 |
+
pictures: {
|
36 |
+
discover: null,
|
37 |
+
move: null,
|
38 |
+
'e-shop': null,
|
39 |
+
'realisation-1': null,
|
40 |
+
'realisation-2': null,
|
41 |
+
'realisation-3': null,
|
42 |
+
'realisation-4': null,
|
43 |
+
'realisation-5': null,
|
44 |
+
'realisation-6': null,
|
45 |
+
'realisation-7': null,
|
46 |
+
'realisation-8': null,
|
47 |
+
'realisation-9': null,
|
48 |
+
'realisation-10': null
|
49 |
+
}
|
50 |
+
} as HomePage,
|
51 |
+
'/contact': {
|
52 |
+
_id: '/contact',
|
53 |
+
name: 'Contact',
|
54 |
+
text: {
|
55 |
+
description: 'Je me déplace à votre domicile dans le Finistère sur rendez-vous.'
|
56 |
+
},
|
57 |
+
pictures: {
|
58 |
+
'photo-garde': null
|
59 |
+
}
|
60 |
+
} as ContactPage,
|
61 |
+
'/atelier': {
|
62 |
+
_id: '/atelier',
|
63 |
+
name: "L'Atelier",
|
64 |
+
text: {
|
65 |
+
'texte-1': `C'est dans son univers enchanteur que Daphné le Couls, tapissière d'ameublement qualifiée depuis 2019, vous propose la réfection de vos assises dans son atelier situé en Finistère, à logonna Daoulas (entre l'axe Brest Quimper).
|
66 |
+
|
67 |
+
Daphné se déplace à votre domicile afin de déterminer avec vous vos besoins, qu'il s'agisse d'une réfection de siège complète, ou bien de la création de coussins décoratifs.
|
68 |
+
|
69 |
+
À l'atelier, nous vous proposons la réfection traditionnelle ou moderne de vos assises (crin ou mousse) selon vos besoins.`,
|
70 |
+
'texte-2': `Nous vous proposons un service en ligne afin de concevoir à distance des coussins, et de vous les livrer n'importe où en France.
|
71 |
+
|
72 |
+
Nous proposons à la vente également des assises déjà refectionnées dans la partie E-shop.`,
|
73 |
+
description:
|
74 |
+
"À l'atelier, nous vous proposons la réfection traditionnelle ou moderne de vos assises (crin ou mousse) selon vos besoins."
|
75 |
+
},
|
76 |
+
pictures: {
|
77 |
+
'photo-1': null,
|
78 |
+
'photo-2': null,
|
79 |
+
'photo-3': null
|
80 |
+
}
|
81 |
+
},
|
82 |
+
'/realisations': {
|
83 |
+
_id: '/realisations',
|
84 |
+
name: 'Réalisations',
|
85 |
+
text: {
|
86 |
+
description:
|
87 |
+
"Découvrez les sièges, fauteuils et coussins réalisés par Daphné, tapissière d'ameublement de la Bergère Enchantée",
|
88 |
+
'realisation-1': '',
|
89 |
+
'realisation-2': '',
|
90 |
+
'realisation-3': '',
|
91 |
+
'realisation-4': '',
|
92 |
+
'realisation-5': '',
|
93 |
+
'realisation-6': '',
|
94 |
+
'realisation-7': '',
|
95 |
+
'realisation-8': '',
|
96 |
+
'realisation-9': '',
|
97 |
+
'realisation-10': ''
|
98 |
+
},
|
99 |
+
pictures: {
|
100 |
+
'realisation-1': null,
|
101 |
+
'realisation-2': null,
|
102 |
+
'realisation-3': null,
|
103 |
+
'realisation-4': null,
|
104 |
+
'realisation-5': null,
|
105 |
+
'realisation-6': null,
|
106 |
+
'realisation-7': null,
|
107 |
+
'realisation-8': null,
|
108 |
+
'realisation-9': null,
|
109 |
+
'realisation-10': null
|
110 |
+
}
|
111 |
+
} as CreationsPage,
|
112 |
+
'/tissus-et-finitions': {
|
113 |
+
_id: '/tissus-et-finitions',
|
114 |
+
name: 'Tissus et finitions',
|
115 |
+
pictures: {
|
116 |
+
'photo-1': null,
|
117 |
+
'photo-2': null,
|
118 |
+
'photo-3': null,
|
119 |
+
'photo-4': null,
|
120 |
+
'photo-5': null,
|
121 |
+
'photo-6': null,
|
122 |
+
'photo-7': null,
|
123 |
+
'photo-8': null,
|
124 |
+
'photo-9': null,
|
125 |
+
'photo-10': null,
|
126 |
+
'photo-11': null,
|
127 |
+
'photo-12': null,
|
128 |
+
'photo-13': null,
|
129 |
+
'photo-14': null,
|
130 |
+
'photo-15': null
|
131 |
+
},
|
132 |
+
text: {
|
133 |
+
description:
|
134 |
+
"Découvrez les finitions et tissus utilisés par Daphné, tapissière d'ameublement de la Bergère Enchantée"
|
135 |
+
}
|
136 |
+
} as FabricsPage,
|
137 |
+
'/vente': {
|
138 |
+
_id: '/vente',
|
139 |
+
name: 'E-shop',
|
140 |
+
text: {
|
141 |
+
description:
|
142 |
+
'Liste des fauteuils, chaises, coussins... réalisés par Daphné et disponibles à la vente'
|
143 |
+
},
|
144 |
+
pictures: {
|
145 |
+
background: null
|
146 |
+
}
|
147 |
+
} as EshopPage
|
148 |
+
};
|
149 |
+
|
150 |
+
export let pages = defaultPages;
|
151 |
+
|
152 |
+
async function refreshPages(coll: Collection<Page>) {
|
153 |
+
const dbPages = _.keyBy(await coll.find({}).toArray(), '_id');
|
154 |
+
pages = _.merge({}, defaultPages, dbPages);
|
155 |
+
}
|
156 |
+
|
157 |
+
export function createPageCollection(db: Db, client: MongoClient): Collection<Page> {
|
158 |
+
const coll = db.collection<Page>('pages');
|
159 |
+
|
160 |
+
client.on('open', () => {
|
161 |
+
refreshPages(coll).catch(console.error);
|
162 |
+
|
163 |
+
coll.watch().on('change', () => {
|
164 |
+
refreshPages(coll).catch(console.error);
|
165 |
+
});
|
166 |
+
});
|
167 |
+
|
168 |
+
return coll;
|
169 |
+
}
|
src/lib/types/Page.ts
ADDED
@@ -0,0 +1,125 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import type { Timestamps } from './Timestamps';
|
2 |
+
|
3 |
+
export interface Page extends Timestamps {
|
4 |
+
_id: string;
|
5 |
+
name: string;
|
6 |
+
text: Record<string, string>;
|
7 |
+
pictures: Record<string, string | null>;
|
8 |
+
}
|
9 |
+
|
10 |
+
export interface HomePage extends Page {
|
11 |
+
_id: '/';
|
12 |
+
name: "Bergère Enchantée - Tapisserie d'ameublement";
|
13 |
+
text: {
|
14 |
+
presentation: string;
|
15 |
+
'eshop-description': string;
|
16 |
+
description: string;
|
17 |
+
};
|
18 |
+
pictures: {
|
19 |
+
discover: string | null;
|
20 |
+
move: string | null;
|
21 |
+
'e-shop': string | null;
|
22 |
+
'realisation-1': string | null;
|
23 |
+
'realisation-2': string | null;
|
24 |
+
'realisation-3': string | null;
|
25 |
+
'realisation-4': string | null;
|
26 |
+
'realisation-5': string | null;
|
27 |
+
'realisation-6': string | null;
|
28 |
+
'realisation-7': string | null;
|
29 |
+
'realisation-8': string | null;
|
30 |
+
'realisation-9': string | null;
|
31 |
+
'realisation-10': string | null;
|
32 |
+
};
|
33 |
+
}
|
34 |
+
|
35 |
+
export interface CreationsPage extends Page {
|
36 |
+
_id: '/realisations';
|
37 |
+
name: 'Réalisations';
|
38 |
+
text: {
|
39 |
+
description: string;
|
40 |
+
'realisation-1': string;
|
41 |
+
'realisation-2': string;
|
42 |
+
'realisation-3': string;
|
43 |
+
'realisation-4': string;
|
44 |
+
'realisation-5': string;
|
45 |
+
'realisation-6': string;
|
46 |
+
'realisation-7': string;
|
47 |
+
'realisation-8': string;
|
48 |
+
'realisation-9': string;
|
49 |
+
'realisation-10': string;
|
50 |
+
};
|
51 |
+
pictures: {
|
52 |
+
'realisation-1': string | null;
|
53 |
+
'realisation-2': string | null;
|
54 |
+
'realisation-3': string | null;
|
55 |
+
'realisation-4': string | null;
|
56 |
+
'realisation-5': string | null;
|
57 |
+
'realisation-6': string | null;
|
58 |
+
'realisation-7': string | null;
|
59 |
+
'realisation-8': string | null;
|
60 |
+
'realisation-9': string | null;
|
61 |
+
'realisation-10': string | null;
|
62 |
+
};
|
63 |
+
}
|
64 |
+
|
65 |
+
export interface FabricsPage {
|
66 |
+
_id: '/tissus-et-finitions';
|
67 |
+
name: 'Tissus et finitions';
|
68 |
+
text: {
|
69 |
+
description: string;
|
70 |
+
};
|
71 |
+
pictures: {
|
72 |
+
'photo-1': string | null;
|
73 |
+
'photo-2': string | null;
|
74 |
+
'photo-3': string | null;
|
75 |
+
'photo-4': string | null;
|
76 |
+
'photo-5': string | null;
|
77 |
+
'photo-6': string | null;
|
78 |
+
'photo-7': string | null;
|
79 |
+
'photo-8': string | null;
|
80 |
+
'photo-9': string | null;
|
81 |
+
'photo-10': string | null;
|
82 |
+
'photo-11': string | null;
|
83 |
+
'photo-12': string | null;
|
84 |
+
'photo-13': string | null;
|
85 |
+
'photo-14': string | null;
|
86 |
+
'photo-15': string | null;
|
87 |
+
};
|
88 |
+
}
|
89 |
+
|
90 |
+
export interface ContactPage extends Page {
|
91 |
+
_id: '/contact';
|
92 |
+
name: 'Contact';
|
93 |
+
text: {
|
94 |
+
description: string;
|
95 |
+
};
|
96 |
+
pictures: {
|
97 |
+
'photo-garde': string | null;
|
98 |
+
};
|
99 |
+
}
|
100 |
+
|
101 |
+
export interface WorkshopPage extends Page {
|
102 |
+
_id: '/atelier';
|
103 |
+
name: "L'Atelier";
|
104 |
+
text: {
|
105 |
+
description: string;
|
106 |
+
'texte-1': string;
|
107 |
+
'texte-2': string;
|
108 |
+
};
|
109 |
+
pictures: {
|
110 |
+
'photo-1': string | null;
|
111 |
+
'photo-2': string | null;
|
112 |
+
'photo-3': string | null;
|
113 |
+
};
|
114 |
+
}
|
115 |
+
|
116 |
+
export interface EshopPage extends Page {
|
117 |
+
_id: '/vente';
|
118 |
+
name: 'E-shop';
|
119 |
+
text: {
|
120 |
+
description: string;
|
121 |
+
};
|
122 |
+
pictures: {
|
123 |
+
background: string | null;
|
124 |
+
};
|
125 |
+
}
|
src/lib/types/Picture.ts
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import type { Timestamps } from './Timestamps';
|
2 |
+
|
3 |
+
export interface Picture extends Timestamps {
|
4 |
+
_id: string;
|
5 |
+
productId?: string;
|
6 |
+
name: string;
|
7 |
+
|
8 |
+
storage: Array<{
|
9 |
+
_id: string;
|
10 |
+
width: number;
|
11 |
+
height: number;
|
12 |
+
size: number;
|
13 |
+
}>;
|
14 |
+
}
|
15 |
+
|
16 |
+
export interface PictureFs extends Timestamps {
|
17 |
+
_id: string;
|
18 |
+
data: Buffer;
|
19 |
+
size: number;
|
20 |
+
picture: string;
|
21 |
+
}
|
src/lib/types/Timestamps.ts
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
export interface Timestamps {
|
2 |
+
createdAt: Date;
|
3 |
+
updatedAt: Date;
|
4 |
+
}
|
src/routes/+layout.server.ts
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import type { LayoutServerLoad } from './$types';
|
2 |
+
import '$lib/server/db';
|
3 |
+
import { pages } from '$lib/server/db/page';
|
4 |
+
import type { Picture } from '$lib/types/Picture';
|
5 |
+
|
6 |
+
export const load: LayoutServerLoad = async (input) => {
|
7 |
+
const pageId = input.url.pathname;
|
8 |
+
|
9 |
+
if (pageId in pages) {
|
10 |
+
return {
|
11 |
+
pageData: pages[pageId as keyof typeof pages],
|
12 |
+
pictures: [] as Picture[]
|
13 |
+
};
|
14 |
+
}
|
15 |
+
|
16 |
+
return {
|
17 |
+
pageData: null,
|
18 |
+
pictures: [] as Picture[]
|
19 |
+
};
|
20 |
+
};
|
src/routes/+page.svelte
CHANGED
@@ -1,2 +1,115 @@
|
|
1 |
-
<
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import Carousel from '$lib/components/Carousel.svelte';
|
3 |
+
import Container from '$lib/components/Container.svelte';
|
4 |
+
import Picture from '$lib/components/Picture.svelte';
|
5 |
+
import type { HomePage } from '$lib/types/Page';
|
6 |
+
import { marked } from 'marked';
|
7 |
+
import type { PageData } from './$types';
|
8 |
+
|
9 |
+
export let data: PageData;
|
10 |
+
|
11 |
+
const pageData = data.pageData as HomePage;
|
12 |
+
const pictures = data.pictures;
|
13 |
+
|
14 |
+
type PictureKey = keyof typeof pageData.pictures;
|
15 |
+
|
16 |
+
const showcasePics = Object.keys(pageData.pictures)
|
17 |
+
.filter((key) => key.startsWith('realisation-') && pageData.pictures[key as PictureKey])
|
18 |
+
.map((key) => pictures.find((pic) => pic._id === pageData.pictures[key as PictureKey]))
|
19 |
+
.filter(Boolean);
|
20 |
+
</script>
|
21 |
+
|
22 |
+
<Container>
|
23 |
+
<section class="h-xl relative mt-12">
|
24 |
+
<img
|
25 |
+
src="/triangles.svg"
|
26 |
+
alt="Triangles"
|
27 |
+
class="pointer-events-none select-none absolute h-5/6"
|
28 |
+
style="left: 38%; top: 50%; transform: translate(-50%, -50%)"
|
29 |
+
/>
|
30 |
+
<Picture
|
31 |
+
picture={pictures.find((p) => p._id === pageData.pictures.discover)}
|
32 |
+
sizes="(max-width: 1200px) 50vw, 600px"
|
33 |
+
class="absolute top-0 bottom-0 rounded-3xl right-0 w-full sm:w-3/6 h-full object-cover"
|
34 |
+
/>
|
35 |
+
<h2
|
36 |
+
class="drop-white absolute text-oxford text-center sm:text-left text-7xl"
|
37 |
+
style="left: 0; top: 50%; transform: translate(0, -50%)"
|
38 |
+
>
|
39 |
+
Découvrez <br class="hidden sm:inline" /> nos fauteuils
|
40 |
+
</h2>
|
41 |
+
<a
|
42 |
+
href="/realisations"
|
43 |
+
class="btn absolute"
|
44 |
+
style="left: 25%; top: 75%; transform: translate(-50%, -50%)">cliquez ici</a
|
45 |
+
>
|
46 |
+
</section>
|
47 |
+
|
48 |
+
<section class="h-sm mt-16 flex mb-16">
|
49 |
+
<div class="grow basis-0 h-full">
|
50 |
+
<div class="pr-12 h-full">
|
51 |
+
<div class="w-full h-full relative">
|
52 |
+
<div
|
53 |
+
class="rounded-3xl w-full h-full bg-sunray absolute left-4 top-4"
|
54 |
+
style="z-index: -1"
|
55 |
+
/>
|
56 |
+
<Picture
|
57 |
+
picture={pictures.find((p) => p._id === pageData.pictures.move)}
|
58 |
+
sizes="(max-width: 1024px) 50vw, 512px"
|
59 |
+
class="rounded-3xl w-full h-full object-cover"
|
60 |
+
/>
|
61 |
+
</div>
|
62 |
+
</div>
|
63 |
+
</div>
|
64 |
+
<div class="grow basis-0 flex flex-col relative">
|
65 |
+
<h2 class="text-oxford text-4xl mt-6">
|
66 |
+
Je me déplace dans le <span class="text-sunray">Finistère</span> sur rendez-vous.
|
67 |
+
</h2>
|
68 |
+
<a
|
69 |
+
href="/contact"
|
70 |
+
class="text-white bg-oxford px-4 py-2 rounded-3xl font-bold absolute bottom-0 right-0"
|
71 |
+
>en savoir plus</a
|
72 |
+
>
|
73 |
+
</div>
|
74 |
+
</section>
|
75 |
+
|
76 |
+
<section style="text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);">
|
77 |
+
{@html marked(pageData.text['presentation'])}
|
78 |
+
</section>
|
79 |
+
</Container>
|
80 |
+
|
81 |
+
<section class="bg-oxford my-12 py-12 w-full text-center flex flex-col items-center">
|
82 |
+
<h2 class="text-4xl text-white">Mes <span class="text-sunray">réalisations</span></h2>
|
83 |
+
<a href="/realisations" class="text-white bg-sunray px-4 py-2 rounded-3xl font-bold mt-4"
|
84 |
+
>voir plus</a
|
85 |
+
>
|
86 |
+
<Carousel class="w-full mt-12 h-xl sm:h-2xl">
|
87 |
+
{#each showcasePics as pic}
|
88 |
+
<div class="w-full h-full flex items-center justify-around">
|
89 |
+
<Picture
|
90 |
+
picture={pic}
|
91 |
+
class="rounded-3xl object-contain"
|
92 |
+
style="max-width: 100%; max-height: 100%"
|
93 |
+
/>
|
94 |
+
</div>
|
95 |
+
{/each}
|
96 |
+
</Carousel>
|
97 |
+
</section>
|
98 |
+
|
99 |
+
<Container>
|
100 |
+
<section class="h-xl rounded-3xl bg-oxford overflow-hidden flex mb-12">
|
101 |
+
<Picture
|
102 |
+
class="w-2/6 h-full object-cover"
|
103 |
+
picture={pictures.find((p) => p._id === pageData.pictures['e-shop'])}
|
104 |
+
/>
|
105 |
+
<div class="w-4/6 h-full px-6 py-12 text-white flex flex-col box-border">
|
106 |
+
<h2 class="text-4xl mb-10">
|
107 |
+
Notre <span class="text-sunray">e-shop</span> n'attend plus que vous
|
108 |
+
</h2>
|
109 |
+
{@html marked(pageData.text['eshop-description'])}
|
110 |
+
<div class="mt-auto text-center">
|
111 |
+
<a href="/vente" class="text-white bg-sunray px-4 py-2 rounded-3xl font-bold">e-shop</a>
|
112 |
+
</div>
|
113 |
+
</div>
|
114 |
+
</section>
|
115 |
+
</Container>
|
src/routes/atelier/+page.svelte
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import Container from '$lib/components/Container.svelte';
|
3 |
+
import type { Picture } from '$lib/types/Picture';
|
4 |
+
import PictureComponent from '$lib/components/Picture.svelte';
|
5 |
+
import { marked } from 'marked';
|
6 |
+
import type { PageData } from './$types';
|
7 |
+
import type { WorkshopPage } from '$lib/types/Page';
|
8 |
+
|
9 |
+
export let data: PageData;
|
10 |
+
|
11 |
+
const pageData = data.pageData as WorkshopPage;
|
12 |
+
const pictures: Picture[] = data.pictures;
|
13 |
+
</script>
|
14 |
+
|
15 |
+
<Container>
|
16 |
+
<section class="relative h-xl mt-12 flex">
|
17 |
+
<img
|
18 |
+
src="/triangles.svg"
|
19 |
+
alt="Triangles"
|
20 |
+
class="pointer-events-none select-none absolute h-5/6"
|
21 |
+
style="left: 38%; top: 50%; transform: translate(-50%, -50%); z-index: -1"
|
22 |
+
/>
|
23 |
+
<div class="w-3/6 h-full flex flex-col justify-evenly">
|
24 |
+
<h2 class="text-oxford text-7xl" style="mix-blend-mode: color-burn;">L'atelier</h2>
|
25 |
+
<ul class="text-oxford">
|
26 |
+
<li class="flex items-center">
|
27 |
+
<div class="i-il-pin inline-block mr-2" />
|
28 |
+
<div class="inline-block">39 route de l'Argoat, <br />29460 Logonna Daoulas</div>
|
29 |
+
</li>
|
30 |
+
<li class="flex items-center mt-1">
|
31 |
+
<div class="i-ant-design-inbox-outlined inline-block mr-2" />
|
32 |
+
(dépôt et retrait uniquement)
|
33 |
+
</li>
|
34 |
+
</ul>
|
35 |
+
</div>
|
36 |
+
<PictureComponent
|
37 |
+
picture={pictures.find((p) => p._id === pageData.pictures['photo-1'])}
|
38 |
+
sizes="(max-width: 1200px) 50vw, 600px"
|
39 |
+
grow
|
40 |
+
basis-0
|
41 |
+
class="rounded-3xl h-full object-cover w-3/6"
|
42 |
+
/>
|
43 |
+
</section>
|
44 |
+
|
45 |
+
<section class="md:min-h-[24rem] md:max-h-[40rem] mt-16 flex flex-wrap md:mb-16">
|
46 |
+
<div class="w-full md:w-3/6 h-sm md:h-auto md:max-h-[40rem]">
|
47 |
+
<div class="md:pr-12 h-full">
|
48 |
+
<div class="w-full h-full relative">
|
49 |
+
<div
|
50 |
+
class="rounded-3xl w-full h-full bg-sunray absolute left-4 top-4"
|
51 |
+
style="z-index: -1"
|
52 |
+
/>
|
53 |
+
<PictureComponent
|
54 |
+
picture={pictures.find((p) => p._id === pageData.pictures['photo-2'])}
|
55 |
+
sizes="(max-width: 1024px) 50vw, 512px"
|
56 |
+
class="rounded-3xl w-full h-full object-cover"
|
57 |
+
/>
|
58 |
+
</div>
|
59 |
+
</div>
|
60 |
+
</div>
|
61 |
+
<div class="w-full md:w-3/6 flex flex-col relative">
|
62 |
+
<h2 class="text-oxford text-4xl mt-16 md:mt-6 lg:mt-12">
|
63 |
+
L'atelier, mon endroit de <span class="text-sunray">création</span>
|
64 |
+
</h2>
|
65 |
+
<div class="grow flex flex-col justify-center marked">
|
66 |
+
{@html marked(pageData.text['texte-1'])}
|
67 |
+
</div>
|
68 |
+
</div>
|
69 |
+
</section>
|
70 |
+
</Container>
|
71 |
+
|
72 |
+
<section class="my-12 w-full text-center flex flex-col items-center">
|
73 |
+
<h2 class="text-4xl text-oxford mb-12"><span class="text-sunray">Mon</span> atelier</h2>
|
74 |
+
<PictureComponent
|
75 |
+
picture={pictures.find((p) => p._id === pageData.pictures['photo-3'])}
|
76 |
+
class="h-lg w-full object-cover"
|
77 |
+
/>
|
78 |
+
</section>
|
79 |
+
|
80 |
+
<Container class="marked">
|
81 |
+
{@html marked(pageData.text['texte-2'])}
|
82 |
+
|
83 |
+
<div class="my-12 mb-20 text-center">
|
84 |
+
<a href="/vente" class="btn-sunray">e-shop</a>
|
85 |
+
</div>
|
86 |
+
</Container>
|