Compare commits
8
Commits
cddfc1e24b
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9edc1a8f58 | ||
|
|
45499efa52 | ||
|
|
a208ac40f8 | ||
|
|
1619d39c14 | ||
|
|
fbf667762d | ||
|
|
ff81b5b9bb | ||
|
|
1879ec67f1 | ||
|
|
3b6b0bbf9a |
+14
-1
@@ -5,5 +5,18 @@ import vue from '@astrojs/vue';
|
|||||||
|
|
||||||
// https://astro.build/config
|
// https://astro.build/config
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
integrations: [vue()]
|
integrations: [vue()],
|
||||||
|
vite: {
|
||||||
|
css: {
|
||||||
|
preprocessorOptions: {
|
||||||
|
scss: {
|
||||||
|
quietDeps: true,
|
||||||
|
silenceDeprecations: [
|
||||||
|
// For Bootstrap
|
||||||
|
'import',
|
||||||
|
],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
@@ -11,8 +11,11 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/vue": "^7.0.2",
|
"@astrojs/vue": "^7.0.2",
|
||||||
"@nanostores/vue": "^1.0.1",
|
"@nanostores/vue": "^1.0.1",
|
||||||
|
"@popperjs/core": "^2.11.8",
|
||||||
"astro": "^7.2.10",
|
"astro": "^7.2.10",
|
||||||
|
"bootstrap": "^5.3.8",
|
||||||
"nanostores": "^1.1.0",
|
"nanostores": "^1.1.0",
|
||||||
|
"sass-embedded": "^1.104.0",
|
||||||
"vue": "^3.5.42"
|
"vue": "^3.5.42"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
Generated
+478
-34
@@ -10,16 +10,25 @@ importers:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@astrojs/vue':
|
'@astrojs/vue':
|
||||||
specifier: ^7.0.2
|
specifier: ^7.0.2
|
||||||
version: 7.0.2(@types/node@25.0.3)(astro@7.2.10(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.3)(@types/node@25.0.3))(esbuild@0.28.2)(vue@3.5.42(typescript@5.9.3))
|
version: 7.0.2(@types/node@25.0.3)(astro@7.2.10(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.3)(@types/node@25.0.3)(sass-embedded@1.104.0)(sass@1.104.0))(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)(vue@3.5.42(typescript@5.9.3))
|
||||||
'@nanostores/vue':
|
'@nanostores/vue':
|
||||||
specifier: ^1.0.1
|
specifier: ^1.0.1
|
||||||
version: 1.0.1(@nanostores/logger@1.0.0(nanostores@1.1.0))(nanostores@1.1.0)(vue@3.5.42(typescript@5.9.3))
|
version: 1.0.1(@nanostores/logger@1.0.0(nanostores@1.1.0))(nanostores@1.1.0)(vue@3.5.42(typescript@5.9.3))
|
||||||
|
'@popperjs/core':
|
||||||
|
specifier: ^2.11.8
|
||||||
|
version: 2.11.8
|
||||||
astro:
|
astro:
|
||||||
specifier: ^7.2.10
|
specifier: ^7.2.10
|
||||||
version: 7.2.10(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.3)(@types/node@25.0.3)
|
version: 7.2.10(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.3)(@types/node@25.0.3)(sass-embedded@1.104.0)(sass@1.104.0)
|
||||||
|
bootstrap:
|
||||||
|
specifier: ^5.3.8
|
||||||
|
version: 5.3.8(@popperjs/core@2.11.8)
|
||||||
nanostores:
|
nanostores:
|
||||||
specifier: ^1.1.0
|
specifier: ^1.1.0
|
||||||
version: 1.1.0
|
version: 1.1.0
|
||||||
|
sass-embedded:
|
||||||
|
specifier: ^1.104.0
|
||||||
|
version: 1.104.0
|
||||||
vue:
|
vue:
|
||||||
specifier: ^3.5.42
|
specifier: ^3.5.42
|
||||||
version: 3.5.42(typescript@5.9.3)
|
version: 3.5.42(typescript@5.9.3)
|
||||||
@@ -408,6 +417,9 @@ packages:
|
|||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
|
'@bufbuild/protobuf@2.14.1':
|
||||||
|
resolution: {integrity: sha512-agRJn3+EJDUe8AvxTx/LnHA/GErvLE62pSaSk7+MwFOtOv8eWBu/qCq2qoZjBjVZ3C2aiFJCveuSs17KMkYGOw==}
|
||||||
|
|
||||||
'@capsizecss/unpack@4.0.1':
|
'@capsizecss/unpack@4.0.1':
|
||||||
resolution: {integrity: sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==}
|
resolution: {integrity: sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
@@ -783,9 +795,88 @@ packages:
|
|||||||
'@oxc-project/types@0.148.0':
|
'@oxc-project/types@0.148.0':
|
||||||
resolution: {integrity: sha512-Nm4s/jB+4FpFsPhWGEC4h7rzksesmtnMXomo6rCMcg/b8zLQuOziRgkCS1fxDCXOlJB/6Q8oABOZ/OP6RIPj9A==}
|
resolution: {integrity: sha512-Nm4s/jB+4FpFsPhWGEC4h7rzksesmtnMXomo6rCMcg/b8zLQuOziRgkCS1fxDCXOlJB/6Q8oABOZ/OP6RIPj9A==}
|
||||||
|
|
||||||
|
'@parcel/watcher-android-arm64@2.6.0':
|
||||||
|
resolution: {integrity: sha512-trgpLSCKRC/huFjXX/Smh+0sWe4+YtKfktIToiMl59ghz7z+qkH6kMvNnUbLyRs9N11t8l4svSCs1+5B3rOAhA==}
|
||||||
|
engines: {node: '>= 10.0.0'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [android]
|
||||||
|
|
||||||
|
'@parcel/watcher-darwin-arm64@2.6.0':
|
||||||
|
resolution: {integrity: sha512-Y3QV0gl7Q1zbfueunkWIERICbEojQFCgpyG7YqOGNFLsckXyI1xu9mAIUpKY9QBYzBtSkN8dBPwd3yiAO9ovMw==}
|
||||||
|
engines: {node: '>= 10.0.0'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [darwin]
|
||||||
|
|
||||||
|
'@parcel/watcher-darwin-x64@2.6.0':
|
||||||
|
resolution: {integrity: sha512-Ohv6OpzhUfKYD7Beb8kDvG0jbIxORCYY1JRdZnaBtnjjkJxgD7ZVL0nw2sCYd0yTMKTvz3nnTnOF3cDifK+kvw==}
|
||||||
|
engines: {node: '>= 10.0.0'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [darwin]
|
||||||
|
|
||||||
|
'@parcel/watcher-freebsd-x64@2.6.0':
|
||||||
|
resolution: {integrity: sha512-5HmXvDgs8VK+74jF9y9/2FE3/OnlcKmc56tjmSrEuZjpSZOGL+fvAu+HKJBdPs9uwoP2hE6TlSUpXZ/C5jUFmQ==}
|
||||||
|
engines: {node: '>= 10.0.0'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [freebsd]
|
||||||
|
|
||||||
|
'@parcel/watcher-linux-arm-glibc@2.6.0':
|
||||||
|
resolution: {integrity: sha512-Ps/hui3A+vMbjdqlqAowK2ZL8+BO8dBjxeWXj6npTBs3jx4wWmbPpaLuqwrQrSqIVMCnpWo238bJ1U37GhQOYg==}
|
||||||
|
engines: {node: '>= 10.0.0'}
|
||||||
|
cpu: [arm]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
'@parcel/watcher-linux-arm-musl@2.6.0':
|
||||||
|
resolution: {integrity: sha512-9c6AUHgHoG+IY88MRIHupztQiQnrbqHYQjkM2btA+Bf/wQnQMuiD0Wfk1EVv3TlNT3x41uU71rn6E4xh/+zvkw==}
|
||||||
|
engines: {node: '>= 10.0.0'}
|
||||||
|
cpu: [arm]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
'@parcel/watcher-linux-arm64-glibc@2.6.0':
|
||||||
|
resolution: {integrity: sha512-yHRqS2owEXe6Hic9z6Mh1ECsCd+ODVOGvZDyciqRd21+v+o+DnXMOrw50DSpIG2sb8GPEaPPmfeCAWKPJdq46g==}
|
||||||
|
engines: {node: '>= 10.0.0'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
'@parcel/watcher-linux-arm64-musl@2.6.0':
|
||||||
|
resolution: {integrity: sha512-WhB2e/V7rqdHHWZusBSPuy5Ei8S6lSz6FE5TKKQz5h3a0O+C+mhY7vxU9b/stqvMb8beLnPY82ZrFTLKs+SrKA==}
|
||||||
|
engines: {node: '>= 10.0.0'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
'@parcel/watcher-linux-x64-glibc@2.6.0':
|
||||||
|
resolution: {integrity: sha512-ulGE6x6Oz6iAwg75T8YQSoguBWasniIbX+QWpaYPcCnDOpdWX3k+4xbEYPZVLxOuoJI+svJJPD3sEj8G7lrQ3A==}
|
||||||
|
engines: {node: '>= 10.0.0'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
'@parcel/watcher-linux-x64-musl@2.6.0':
|
||||||
|
resolution: {integrity: sha512-tkBYKt7YQrjIJWYDnto2YgO8MRkjlMTSNoRHzsXinBqbLdeOM3L32wPZJvIZxqaLMfSlS/4sUjH/6STVP/XDLw==}
|
||||||
|
engines: {node: '>= 10.0.0'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
'@parcel/watcher-win32-arm64@2.6.0':
|
||||||
|
resolution: {integrity: sha512-gIZAP23jaHjGWasY/TY6yL7NHFClf0Ga7FN+iINvk+KN94rhm94lYZhFsbYFNcA04/onvGD9kKmiJLJB2HbNwQ==}
|
||||||
|
engines: {node: '>= 10.0.0'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [win32]
|
||||||
|
|
||||||
|
'@parcel/watcher-win32-x64@2.6.0':
|
||||||
|
resolution: {integrity: sha512-cA+/pXV2YkfxlIcXOQ5fSWqAzzPyD78/x5qbK/I0vUkrlYHA8TIz+MXjAbGouguKVSI4bOmkTSJ1/poVSsgt+A==}
|
||||||
|
engines: {node: '>= 10.0.0'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [win32]
|
||||||
|
|
||||||
|
'@parcel/watcher@2.6.0':
|
||||||
|
resolution: {integrity: sha512-7FNeNl8NCE7aINx7WXiKQrPYZWC/hvrTsmk6zmxbI7LTXE7hVek/n8AfVgpe2y82zl3w0HvCHN0bVKMBoJcC0w==}
|
||||||
|
engines: {node: '>= 10.0.0'}
|
||||||
|
|
||||||
'@polka/url@1.0.0-next.29':
|
'@polka/url@1.0.0-next.29':
|
||||||
resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
|
resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
|
||||||
|
|
||||||
|
'@popperjs/core@2.11.8':
|
||||||
|
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
|
||||||
|
|
||||||
'@rolldown/binding-android-arm-eabi@1.2.7':
|
'@rolldown/binding-android-arm-eabi@1.2.7':
|
||||||
resolution: {integrity: sha512-EypzgnYCwyVY4NDHKzGmNJT5b+XaQEBniHxsMdeIQLB/tcCzZnhqrzHpZFbX9iaxx+5RiB8caATBtfvZP7zVxQ==}
|
resolution: {integrity: sha512-EypzgnYCwyVY4NDHKzGmNJT5b+XaQEBniHxsMdeIQLB/tcCzZnhqrzHpZFbX9iaxx+5RiB8caATBtfvZP7zVxQ==}
|
||||||
engines: {node: ^20.19.0 || >=22.12.0}
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
@@ -1083,6 +1174,11 @@ packages:
|
|||||||
boolbase@1.0.0:
|
boolbase@1.0.0:
|
||||||
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
|
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
|
||||||
|
|
||||||
|
bootstrap@5.3.8:
|
||||||
|
resolution: {integrity: sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg==}
|
||||||
|
peerDependencies:
|
||||||
|
'@popperjs/core': ^2.11.8
|
||||||
|
|
||||||
browserslist@4.28.1:
|
browserslist@4.28.1:
|
||||||
resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
|
resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
|
||||||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||||
@@ -1116,6 +1212,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
|
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
|
colorjs.io@0.7.1:
|
||||||
|
resolution: {integrity: sha512-LY7OHnJZxHwT5UlzNa9bbhHHDbzB6yE5+3MIPwJEQKRvSCt/T4G7epsj+9j2BExUIIfXFIJGsIXUKdfrK9Q5tA==}
|
||||||
|
|
||||||
comma-separated-tokens@2.0.3:
|
comma-separated-tokens@2.0.3:
|
||||||
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
|
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
|
||||||
|
|
||||||
@@ -1315,6 +1414,10 @@ packages:
|
|||||||
h3@1.15.11:
|
h3@1.15.11:
|
||||||
resolution: {integrity: sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==}
|
resolution: {integrity: sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==}
|
||||||
|
|
||||||
|
has-flag@4.0.0:
|
||||||
|
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
hast-util-to-html@9.0.5:
|
hast-util-to-html@9.0.5:
|
||||||
resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
|
resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
|
||||||
|
|
||||||
@@ -1333,6 +1436,9 @@ packages:
|
|||||||
http-cache-semantics@4.2.0:
|
http-cache-semantics@4.2.0:
|
||||||
resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==}
|
resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==}
|
||||||
|
|
||||||
|
immutable@5.1.9:
|
||||||
|
resolution: {integrity: sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==}
|
||||||
|
|
||||||
iron-webcrypto@1.2.1:
|
iron-webcrypto@1.2.1:
|
||||||
resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==}
|
resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==}
|
||||||
|
|
||||||
@@ -1346,6 +1452,14 @@ packages:
|
|||||||
engines: {node: '>=20'}
|
engines: {node: '>=20'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
is-extglob@2.1.1:
|
||||||
|
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
|
is-glob@4.0.3:
|
||||||
|
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
is-in-ssh@1.0.0:
|
is-in-ssh@1.0.0:
|
||||||
resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==}
|
resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==}
|
||||||
engines: {node: '>=20'}
|
engines: {node: '>=20'}
|
||||||
@@ -1519,6 +1633,9 @@ packages:
|
|||||||
nlcst-to-string@4.0.0:
|
nlcst-to-string@4.0.0:
|
||||||
resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==}
|
resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==}
|
||||||
|
|
||||||
|
node-addon-api@7.1.1:
|
||||||
|
resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
|
||||||
|
|
||||||
node-fetch-native@1.6.7:
|
node-fetch-native@1.6.7:
|
||||||
resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
|
resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
|
||||||
|
|
||||||
@@ -1644,6 +1761,123 @@ packages:
|
|||||||
resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==}
|
resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
|
rxjs@7.8.2:
|
||||||
|
resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
|
||||||
|
|
||||||
|
sass-embedded-all-unknown@1.104.0:
|
||||||
|
resolution: {integrity: sha512-+S5We++QAg0/wXeVstn4kaZQNZiHi/1FHFsuVRu6Qns/9+YH6aIExg5e8dE+ceNpnYIZUpoK3mdBJoxJhirReQ==}
|
||||||
|
cpu: ['!arm', '!arm64', '!riscv64', '!x64']
|
||||||
|
|
||||||
|
sass-embedded-android-arm64@1.104.0:
|
||||||
|
resolution: {integrity: sha512-Trknl/A+KTTGRsPWrKaVIF/uq468iTqZzXWMEK/e707bqnbodYvWBBkA7uOM1wtnJQIrepeYSp/CIQJnFr95EQ==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [android]
|
||||||
|
|
||||||
|
sass-embedded-android-arm@1.104.0:
|
||||||
|
resolution: {integrity: sha512-yojf6KAo4EKbXVzzy4FkYJAez+qzj6NV2inEzsQQxvNfKxfX9INtC6u8UNwSjXL40M9vzAH03lygutq9zmhTCg==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [arm]
|
||||||
|
os: [android]
|
||||||
|
|
||||||
|
sass-embedded-android-riscv64@1.104.0:
|
||||||
|
resolution: {integrity: sha512-UPR1U/qsTzIikl/DAmZn/11oPrz4DrnrbWANB7WGwz3AtYvLZeixEiVj8Yo2jNy6749zPD09Pyo352io8Y2Mxw==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [riscv64]
|
||||||
|
os: [android]
|
||||||
|
|
||||||
|
sass-embedded-android-x64@1.104.0:
|
||||||
|
resolution: {integrity: sha512-NebAKvwfj4a7EbOf9LAzgo4f/uO1xFJbIoebzW8bmqdjeIMSAwJvFToIizxjDuOsIJ9M6AaADxwvDxgm8JTq+w==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [android]
|
||||||
|
|
||||||
|
sass-embedded-darwin-arm64@1.104.0:
|
||||||
|
resolution: {integrity: sha512-DYxsoOtA90/LabvQiFs/UVo6jrPbIlIvelSC0B9fxlB051ZBpEFnWamjLV2Xncp48E63voWTYGKpLlsHsi7clg==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [darwin]
|
||||||
|
|
||||||
|
sass-embedded-darwin-x64@1.104.0:
|
||||||
|
resolution: {integrity: sha512-zozGKOnR3mnlBqKhzfGH8ZqjPphaDzE5Zjx+H/IOb/ruR/KApTvYkRdi9Eq7OQvSJwL/EHYiyT2jgHaqQulOWw==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [darwin]
|
||||||
|
|
||||||
|
sass-embedded-linux-arm64@1.104.0:
|
||||||
|
resolution: {integrity: sha512-2TWOQodxIbwcp9fS01FCUbO2c8bnsdOgUCLB7aZDAhm6ZAkEL8GNIAyKxSMkVIjxndMqNHsG2UtCR2++03DQ+Q==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
sass-embedded-linux-arm@1.104.0:
|
||||||
|
resolution: {integrity: sha512-RX4t5jBlYtGrZwpuc1mtD3lzGuat+jyPidyN5hD5DURV7q39y4IampzopVJ9fvNZqsiGElYWnKyRJA49Q4xk7w==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [arm]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
sass-embedded-linux-musl-arm64@1.104.0:
|
||||||
|
resolution: {integrity: sha512-NPcl0Cw9QXdGzYgjtLZD9MU3Mmr+N31R+Wa+hbbmlNwg1yghbF/bWrpE96oixrQivtCsY1yh9cONl6d+9NrS6Q==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
sass-embedded-linux-musl-arm@1.104.0:
|
||||||
|
resolution: {integrity: sha512-KjXKRY/1TDCNbRg/Htq4puzf5etQ9eFXG83O/328Km/1x2FuQMCmD+pSFTqQrj2LskZ8if+NYZJb3CQ1wzF0Pw==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [arm]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
sass-embedded-linux-musl-riscv64@1.104.0:
|
||||||
|
resolution: {integrity: sha512-/1JR6G1AfGs/paJk5nemuJmg7pOUgwXlz/WW2NhSDRHBgZnb6Zy6yMpkSHoienAOJSBGUmKceT03dQ/4b409CA==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [riscv64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
sass-embedded-linux-musl-x64@1.104.0:
|
||||||
|
resolution: {integrity: sha512-5wVjkPR74JdsoH9+NSKV7UCPAdMTxNoayZdu7B9PnmNkOJMRE5O8Jb2oJ3JXgSH/kcGXJ6Vl6dL8/EPLBAKkcg==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
sass-embedded-linux-riscv64@1.104.0:
|
||||||
|
resolution: {integrity: sha512-Bq9xrONn23cyv5bdSuLm0RG1dcKl+lFQRc1k1UlncI2B2gqb6/OdakEa4Gv2HAmo+O6iOtK39lG9XT1ivTIoww==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [riscv64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
sass-embedded-linux-x64@1.104.0:
|
||||||
|
resolution: {integrity: sha512-xznKQzFnNVNq+GiXPmBXIHLL2rlIoekDxE8HXNKgxXX6bn4fByuHApCmj5Uz+MpVOB154EYCbErztyoEcmnb9Q==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
|
sass-embedded-unknown-all@1.104.0:
|
||||||
|
resolution: {integrity: sha512-0+zhxrAt9PIsdWEVTe5Wgo+gtYdlyv0ASuuAEXT4e9w2yNArUqZ9Gez4Jn8EmtbF7x9uuZxPWbdnq9z65gCH7g==}
|
||||||
|
os: ['!android', '!darwin', '!linux', '!win32']
|
||||||
|
|
||||||
|
sass-embedded-win32-arm64@1.104.0:
|
||||||
|
resolution: {integrity: sha512-b8dKmgdgmTx0rSBLNPqLQiq4r/SDau0/3we7MG/8ULMneMSl2OoVttN2ilKSz993lqQu8FJSjx5fEjLSeXVaiA==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [win32]
|
||||||
|
|
||||||
|
sass-embedded-win32-x64@1.104.0:
|
||||||
|
resolution: {integrity: sha512-tVL4NZKUo0+fIO2sT9V1DnBOo9wUbkRoic/NbVBThQdCjl07dn7PKW+ISSnY0EwQhCxdulMDek/JZT7c46vTCA==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [win32]
|
||||||
|
|
||||||
|
sass-embedded@1.104.0:
|
||||||
|
resolution: {integrity: sha512-AW1ZaKM/o4t137+FNe9zkMFWAZlw+EbWuHopVbP0yc0vpvlYj8NqxgKKSsSqODZVgGON2FzKeFMJJHR+tXNzqA==}
|
||||||
|
engines: {node: '>=20.19.0'}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
|
sass@1.104.0:
|
||||||
|
resolution: {integrity: sha512-btHMApW2bgolvClhRW8AlQJzgI9lUB3pPSofBQQT+E46GWvf9o0TVQ13SYv5riWZVFyPN+JNz3TKW9XhBlc10w==}
|
||||||
|
engines: {node: '>=20.19.0'}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
satteri@0.10.5:
|
satteri@0.10.5:
|
||||||
resolution: {integrity: sha512-Ao1LKpAEa9Wdg0otgbVKViZHEq9ebdXe4DMrp3s9vQAU0HNIuHnFEuMuOcm0ZIXyV0Yzxj91NvhLpvXZJO/5ZQ==}
|
resolution: {integrity: sha512-Ao1LKpAEa9Wdg0otgbVKViZHEq9ebdXe4DMrp3s9vQAU0HNIuHnFEuMuOcm0ZIXyV0Yzxj91NvhLpvXZJO/5ZQ==}
|
||||||
|
|
||||||
@@ -1694,11 +1928,23 @@ packages:
|
|||||||
stringify-entities@4.0.4:
|
stringify-entities@4.0.4:
|
||||||
resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
|
resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
|
||||||
|
|
||||||
|
supports-color@8.1.1:
|
||||||
|
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
svgo@4.1.0:
|
svgo@4.1.0:
|
||||||
resolution: {integrity: sha512-bkxnTg1kSU0guhIBmibA6UUhrQmPVA1XsQLN+ylCd+UWzbnLkySOcXpyk1mrl05f+pcaCx2eHb+sp6BgMZWX+Q==}
|
resolution: {integrity: sha512-bkxnTg1kSU0guhIBmibA6UUhrQmPVA1XsQLN+ylCd+UWzbnLkySOcXpyk1mrl05f+pcaCx2eHb+sp6BgMZWX+Q==}
|
||||||
engines: {node: '>=16'}
|
engines: {node: '>=16'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
sync-child-process@1.0.2:
|
||||||
|
resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==}
|
||||||
|
engines: {node: '>=16.0.0'}
|
||||||
|
|
||||||
|
sync-message-port@1.2.0:
|
||||||
|
resolution: {integrity: sha512-gAQ9qrUN/UCypHtGFbbe7Rc/f9bzO88IwrG8TDo/aMKAApKyD6E3W4Cm0EfhfBb6Z6SKt59tTCTfD+n1xmAvMg==}
|
||||||
|
engines: {node: '>=16.0.0'}
|
||||||
|
|
||||||
tiny-inflate@1.0.3:
|
tiny-inflate@1.0.3:
|
||||||
resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
|
resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
|
||||||
|
|
||||||
@@ -1845,6 +2091,9 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
browserslist: '>= 4.21.0'
|
browserslist: '>= 4.21.0'
|
||||||
|
|
||||||
|
varint@6.0.0:
|
||||||
|
resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==}
|
||||||
|
|
||||||
vfile-message@4.0.3:
|
vfile-message@4.0.3:
|
||||||
resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
|
resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
|
||||||
|
|
||||||
@@ -2050,14 +2299,14 @@ snapshots:
|
|||||||
is-docker: 4.0.0
|
is-docker: 4.0.0
|
||||||
package-manager-detector: 1.6.0
|
package-manager-detector: 1.6.0
|
||||||
|
|
||||||
'@astrojs/vue@7.0.2(@types/node@25.0.3)(astro@7.2.10(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.3)(@types/node@25.0.3))(esbuild@0.28.2)(vue@3.5.42(typescript@5.9.3))':
|
'@astrojs/vue@7.0.2(@types/node@25.0.3)(astro@7.2.10(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.3)(@types/node@25.0.3)(sass-embedded@1.104.0)(sass@1.104.0))(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)(vue@3.5.42(typescript@5.9.3))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitejs/plugin-vue': 6.0.8(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2))(vue@3.5.42(typescript@5.9.3))
|
'@vitejs/plugin-vue': 6.0.8(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0))(vue@3.5.42(typescript@5.9.3))
|
||||||
'@vitejs/plugin-vue-jsx': 5.1.6(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2))(vue@3.5.42(typescript@5.9.3))
|
'@vitejs/plugin-vue-jsx': 5.1.6(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0))(vue@3.5.42(typescript@5.9.3))
|
||||||
'@vue/compiler-sfc': 3.5.42
|
'@vue/compiler-sfc': 3.5.42
|
||||||
astro: 7.2.10(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.3)(@types/node@25.0.3)
|
astro: 7.2.10(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.3)(@types/node@25.0.3)(sass-embedded@1.104.0)(sass@1.104.0)
|
||||||
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)
|
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)
|
||||||
vite-plugin-vue-devtools: 8.2.1(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2))(vue@3.5.42(typescript@5.9.3))
|
vite-plugin-vue-devtools: 8.2.1(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0))(vue@3.5.42(typescript@5.9.3))
|
||||||
vue: 3.5.42(typescript@5.9.3)
|
vue: 3.5.42(typescript@5.9.3)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@nuxt/kit'
|
- '@nuxt/kit'
|
||||||
@@ -2464,6 +2713,8 @@ snapshots:
|
|||||||
'@bruits/satteri-win32-x64-msvc@0.10.5':
|
'@bruits/satteri-win32-x64-msvc@0.10.5':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@bufbuild/protobuf@2.14.1': {}
|
||||||
|
|
||||||
'@capsizecss/unpack@4.0.1':
|
'@capsizecss/unpack@4.0.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
fontkitten: 1.0.3
|
fontkitten: 1.0.3
|
||||||
@@ -2734,8 +2985,67 @@ snapshots:
|
|||||||
|
|
||||||
'@oxc-project/types@0.148.0': {}
|
'@oxc-project/types@0.148.0': {}
|
||||||
|
|
||||||
|
'@parcel/watcher-android-arm64@2.6.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@parcel/watcher-darwin-arm64@2.6.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@parcel/watcher-darwin-x64@2.6.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@parcel/watcher-freebsd-x64@2.6.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@parcel/watcher-linux-arm-glibc@2.6.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@parcel/watcher-linux-arm-musl@2.6.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@parcel/watcher-linux-arm64-glibc@2.6.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@parcel/watcher-linux-arm64-musl@2.6.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@parcel/watcher-linux-x64-glibc@2.6.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@parcel/watcher-linux-x64-musl@2.6.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@parcel/watcher-win32-arm64@2.6.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@parcel/watcher-win32-x64@2.6.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@parcel/watcher@2.6.0':
|
||||||
|
dependencies:
|
||||||
|
detect-libc: 2.1.2
|
||||||
|
is-glob: 4.0.3
|
||||||
|
node-addon-api: 7.1.1
|
||||||
|
picomatch: 4.0.7
|
||||||
|
optionalDependencies:
|
||||||
|
'@parcel/watcher-android-arm64': 2.6.0
|
||||||
|
'@parcel/watcher-darwin-arm64': 2.6.0
|
||||||
|
'@parcel/watcher-darwin-x64': 2.6.0
|
||||||
|
'@parcel/watcher-freebsd-x64': 2.6.0
|
||||||
|
'@parcel/watcher-linux-arm-glibc': 2.6.0
|
||||||
|
'@parcel/watcher-linux-arm-musl': 2.6.0
|
||||||
|
'@parcel/watcher-linux-arm64-glibc': 2.6.0
|
||||||
|
'@parcel/watcher-linux-arm64-musl': 2.6.0
|
||||||
|
'@parcel/watcher-linux-x64-glibc': 2.6.0
|
||||||
|
'@parcel/watcher-linux-x64-musl': 2.6.0
|
||||||
|
'@parcel/watcher-win32-arm64': 2.6.0
|
||||||
|
'@parcel/watcher-win32-x64': 2.6.0
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@polka/url@1.0.0-next.29': {}
|
'@polka/url@1.0.0-next.29': {}
|
||||||
|
|
||||||
|
'@popperjs/core@2.11.8': {}
|
||||||
|
|
||||||
'@rolldown/binding-android-arm-eabi@1.2.7':
|
'@rolldown/binding-android-arm-eabi@1.2.7':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@@ -2859,22 +3169,22 @@ snapshots:
|
|||||||
|
|
||||||
'@ungap/structured-clone@1.3.0': {}
|
'@ungap/structured-clone@1.3.0': {}
|
||||||
|
|
||||||
'@vitejs/plugin-vue-jsx@5.1.6(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2))(vue@3.5.42(typescript@5.9.3))':
|
'@vitejs/plugin-vue-jsx@5.1.6(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0))(vue@3.5.42(typescript@5.9.3))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.29.7
|
'@babel/core': 7.29.7
|
||||||
'@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7)
|
'@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7)
|
||||||
'@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7)
|
'@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7)
|
||||||
'@rolldown/pluginutils': 1.0.1
|
'@rolldown/pluginutils': 1.0.1
|
||||||
'@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.7)
|
'@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.7)
|
||||||
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)
|
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)
|
||||||
vue: 3.5.42(typescript@5.9.3)
|
vue: 3.5.42(typescript@5.9.3)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@vitejs/plugin-vue@6.0.8(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2))(vue@3.5.42(typescript@5.9.3))':
|
'@vitejs/plugin-vue@6.0.8(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0))(vue@3.5.42(typescript@5.9.3))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rolldown/pluginutils': 1.0.1
|
'@rolldown/pluginutils': 1.0.1
|
||||||
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)
|
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)
|
||||||
vue: 3.5.42(typescript@5.9.3)
|
vue: 3.5.42(typescript@5.9.3)
|
||||||
|
|
||||||
'@vue/babel-helper-vue-transform-on@1.5.0': {}
|
'@vue/babel-helper-vue-transform-on@1.5.0': {}
|
||||||
@@ -3034,7 +3344,7 @@ snapshots:
|
|||||||
|
|
||||||
aria-query@5.3.2: {}
|
aria-query@5.3.2: {}
|
||||||
|
|
||||||
astro@7.2.10(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.3)(@types/node@25.0.3):
|
astro@7.2.10(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.3)(@types/node@25.0.3)(sass-embedded@1.104.0)(sass@1.104.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@astrojs/compiler-rs': 0.4.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.3)
|
'@astrojs/compiler-rs': 0.4.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.3)
|
||||||
'@astrojs/internal-helpers': 0.11.0
|
'@astrojs/internal-helpers': 0.11.0
|
||||||
@@ -3084,8 +3394,8 @@ snapshots:
|
|||||||
ultrahtml: 1.6.0
|
ultrahtml: 1.6.0
|
||||||
unifont: 0.7.5
|
unifont: 0.7.5
|
||||||
unstorage: 1.17.5
|
unstorage: 1.17.5
|
||||||
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)
|
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)
|
||||||
vitefu: 1.1.3(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2))
|
vitefu: 1.1.3(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0))
|
||||||
xxhash-wasm: 1.1.0
|
xxhash-wasm: 1.1.0
|
||||||
yargs-parser: 22.0.0
|
yargs-parser: 22.0.0
|
||||||
zod: 4.5.4
|
zod: 4.5.4
|
||||||
@@ -3137,6 +3447,10 @@ snapshots:
|
|||||||
|
|
||||||
boolbase@1.0.0: {}
|
boolbase@1.0.0: {}
|
||||||
|
|
||||||
|
bootstrap@5.3.8(@popperjs/core@2.11.8):
|
||||||
|
dependencies:
|
||||||
|
'@popperjs/core': 2.11.8
|
||||||
|
|
||||||
browserslist@4.28.1:
|
browserslist@4.28.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
baseline-browser-mapping: 2.9.11
|
baseline-browser-mapping: 2.9.11
|
||||||
@@ -3165,6 +3479,8 @@ snapshots:
|
|||||||
|
|
||||||
clsx@2.1.1: {}
|
clsx@2.1.1: {}
|
||||||
|
|
||||||
|
colorjs.io@0.7.1: {}
|
||||||
|
|
||||||
comma-separated-tokens@2.0.3: {}
|
comma-separated-tokens@2.0.3: {}
|
||||||
|
|
||||||
commander@11.1.0: {}
|
commander@11.1.0: {}
|
||||||
@@ -3354,6 +3670,8 @@ snapshots:
|
|||||||
ufo: 1.6.4
|
ufo: 1.6.4
|
||||||
uncrypto: 0.1.3
|
uncrypto: 0.1.3
|
||||||
|
|
||||||
|
has-flag@4.0.0: {}
|
||||||
|
|
||||||
hast-util-to-html@9.0.5:
|
hast-util-to-html@9.0.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/hast': 3.0.5
|
'@types/hast': 3.0.5
|
||||||
@@ -3380,12 +3698,22 @@ snapshots:
|
|||||||
|
|
||||||
http-cache-semantics@4.2.0: {}
|
http-cache-semantics@4.2.0: {}
|
||||||
|
|
||||||
|
immutable@5.1.9: {}
|
||||||
|
|
||||||
iron-webcrypto@1.2.1: {}
|
iron-webcrypto@1.2.1: {}
|
||||||
|
|
||||||
is-docker@3.0.0: {}
|
is-docker@3.0.0: {}
|
||||||
|
|
||||||
is-docker@4.0.0: {}
|
is-docker@4.0.0: {}
|
||||||
|
|
||||||
|
is-extglob@2.1.1:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
is-glob@4.0.3:
|
||||||
|
dependencies:
|
||||||
|
is-extglob: 2.1.1
|
||||||
|
optional: true
|
||||||
|
|
||||||
is-in-ssh@1.0.0: {}
|
is-in-ssh@1.0.0: {}
|
||||||
|
|
||||||
is-inside-container@1.0.0:
|
is-inside-container@1.0.0:
|
||||||
@@ -3528,6 +3856,9 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@types/nlcst': 2.0.3
|
'@types/nlcst': 2.0.3
|
||||||
|
|
||||||
|
node-addon-api@7.1.1:
|
||||||
|
optional: true
|
||||||
|
|
||||||
node-fetch-native@1.6.7: {}
|
node-fetch-native@1.6.7: {}
|
||||||
|
|
||||||
node-mock-http@1.0.4: {}
|
node-mock-http@1.0.4: {}
|
||||||
@@ -3653,6 +3984,106 @@ snapshots:
|
|||||||
|
|
||||||
run-applescript@7.1.0: {}
|
run-applescript@7.1.0: {}
|
||||||
|
|
||||||
|
rxjs@7.8.2:
|
||||||
|
dependencies:
|
||||||
|
tslib: 2.8.1
|
||||||
|
|
||||||
|
sass-embedded-all-unknown@1.104.0:
|
||||||
|
dependencies:
|
||||||
|
sass: 1.104.0
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-android-arm64@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-android-arm@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-android-riscv64@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-android-x64@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-darwin-arm64@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-darwin-x64@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-linux-arm64@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-linux-arm@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-linux-musl-arm64@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-linux-musl-arm@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-linux-musl-riscv64@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-linux-musl-x64@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-linux-riscv64@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-linux-x64@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-unknown-all@1.104.0:
|
||||||
|
dependencies:
|
||||||
|
sass: 1.104.0
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-win32-arm64@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded-win32-x64@1.104.0:
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
sass-embedded@1.104.0:
|
||||||
|
dependencies:
|
||||||
|
'@bufbuild/protobuf': 2.14.1
|
||||||
|
colorjs.io: 0.7.1
|
||||||
|
immutable: 5.1.9
|
||||||
|
rxjs: 7.8.2
|
||||||
|
supports-color: 8.1.1
|
||||||
|
sync-child-process: 1.0.2
|
||||||
|
varint: 6.0.0
|
||||||
|
optionalDependencies:
|
||||||
|
sass-embedded-all-unknown: 1.104.0
|
||||||
|
sass-embedded-android-arm: 1.104.0
|
||||||
|
sass-embedded-android-arm64: 1.104.0
|
||||||
|
sass-embedded-android-riscv64: 1.104.0
|
||||||
|
sass-embedded-android-x64: 1.104.0
|
||||||
|
sass-embedded-darwin-arm64: 1.104.0
|
||||||
|
sass-embedded-darwin-x64: 1.104.0
|
||||||
|
sass-embedded-linux-arm: 1.104.0
|
||||||
|
sass-embedded-linux-arm64: 1.104.0
|
||||||
|
sass-embedded-linux-musl-arm: 1.104.0
|
||||||
|
sass-embedded-linux-musl-arm64: 1.104.0
|
||||||
|
sass-embedded-linux-musl-riscv64: 1.104.0
|
||||||
|
sass-embedded-linux-musl-x64: 1.104.0
|
||||||
|
sass-embedded-linux-riscv64: 1.104.0
|
||||||
|
sass-embedded-linux-x64: 1.104.0
|
||||||
|
sass-embedded-unknown-all: 1.104.0
|
||||||
|
sass-embedded-win32-arm64: 1.104.0
|
||||||
|
sass-embedded-win32-x64: 1.104.0
|
||||||
|
|
||||||
|
sass@1.104.0:
|
||||||
|
dependencies:
|
||||||
|
chokidar: 5.0.0
|
||||||
|
immutable: 5.1.9
|
||||||
|
source-map-js: 1.2.1
|
||||||
|
optionalDependencies:
|
||||||
|
'@parcel/watcher': 2.6.0
|
||||||
|
optional: true
|
||||||
|
|
||||||
satteri@0.10.5:
|
satteri@0.10.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/estree-jsx': 1.0.5
|
'@types/estree-jsx': 1.0.5
|
||||||
@@ -3740,6 +4171,10 @@ snapshots:
|
|||||||
character-entities-html4: 2.1.0
|
character-entities-html4: 2.1.0
|
||||||
character-entities-legacy: 3.0.0
|
character-entities-legacy: 3.0.0
|
||||||
|
|
||||||
|
supports-color@8.1.1:
|
||||||
|
dependencies:
|
||||||
|
has-flag: 4.0.0
|
||||||
|
|
||||||
svgo@4.1.0:
|
svgo@4.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
commander: 11.1.0
|
commander: 11.1.0
|
||||||
@@ -3750,6 +4185,12 @@ snapshots:
|
|||||||
picocolors: 1.1.1
|
picocolors: 1.1.1
|
||||||
sax: 1.6.1
|
sax: 1.6.1
|
||||||
|
|
||||||
|
sync-child-process@1.0.2:
|
||||||
|
dependencies:
|
||||||
|
sync-message-port: 1.2.0
|
||||||
|
|
||||||
|
sync-message-port@1.2.0: {}
|
||||||
|
|
||||||
tiny-inflate@1.0.3: {}
|
tiny-inflate@1.0.3: {}
|
||||||
|
|
||||||
tinyclip@0.1.15: {}
|
tinyclip@0.1.15: {}
|
||||||
@@ -3772,8 +4213,7 @@ snapshots:
|
|||||||
|
|
||||||
trough@2.2.0: {}
|
trough@2.2.0: {}
|
||||||
|
|
||||||
tslib@2.8.1:
|
tslib@2.8.1: {}
|
||||||
optional: true
|
|
||||||
|
|
||||||
typescript@5.9.3:
|
typescript@5.9.3:
|
||||||
optional: true
|
optional: true
|
||||||
@@ -3850,6 +4290,8 @@ snapshots:
|
|||||||
escalade: 3.2.0
|
escalade: 3.2.0
|
||||||
picocolors: 1.1.1
|
picocolors: 1.1.1
|
||||||
|
|
||||||
|
varint@6.0.0: {}
|
||||||
|
|
||||||
vfile-message@4.0.3:
|
vfile-message@4.0.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/unist': 3.0.3
|
'@types/unist': 3.0.3
|
||||||
@@ -3860,17 +4302,17 @@ snapshots:
|
|||||||
'@types/unist': 3.0.3
|
'@types/unist': 3.0.3
|
||||||
vfile-message: 4.0.3
|
vfile-message: 4.0.3
|
||||||
|
|
||||||
vite-dev-rpc@2.0.0(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)):
|
vite-dev-rpc@2.0.0(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)):
|
||||||
dependencies:
|
dependencies:
|
||||||
birpc: 4.2.0
|
birpc: 4.2.0
|
||||||
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)
|
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)
|
||||||
vite-hot-client: 2.2.0(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2))
|
vite-hot-client: 2.2.0(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0))
|
||||||
|
|
||||||
vite-hot-client@2.2.0(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)):
|
vite-hot-client@2.2.0(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)):
|
||||||
dependencies:
|
dependencies:
|
||||||
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)
|
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)
|
||||||
|
|
||||||
vite-plugin-inspect@11.4.1(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)):
|
vite-plugin-inspect@11.4.1(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)):
|
||||||
dependencies:
|
dependencies:
|
||||||
ansis: 4.3.1
|
ansis: 4.3.1
|
||||||
error-stack-parser-es: 1.0.5
|
error-stack-parser-es: 1.0.5
|
||||||
@@ -3880,24 +4322,24 @@ snapshots:
|
|||||||
perfect-debounce: 2.1.0
|
perfect-debounce: 2.1.0
|
||||||
sirv: 3.0.2
|
sirv: 3.0.2
|
||||||
unplugin-utils: 0.3.2
|
unplugin-utils: 0.3.2
|
||||||
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)
|
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)
|
||||||
vite-dev-rpc: 2.0.0(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2))
|
vite-dev-rpc: 2.0.0(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0))
|
||||||
|
|
||||||
vite-plugin-vue-devtools@8.2.1(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2))(vue@3.5.42(typescript@5.9.3)):
|
vite-plugin-vue-devtools@8.2.1(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0))(vue@3.5.42(typescript@5.9.3)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/devtools-core': 8.2.1(vue@3.5.42(typescript@5.9.3))
|
'@vue/devtools-core': 8.2.1(vue@3.5.42(typescript@5.9.3))
|
||||||
'@vue/devtools-kit': 8.2.1
|
'@vue/devtools-kit': 8.2.1
|
||||||
'@vue/devtools-shared': 8.2.1
|
'@vue/devtools-shared': 8.2.1
|
||||||
sirv: 3.0.2
|
sirv: 3.0.2
|
||||||
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)
|
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)
|
||||||
vite-plugin-inspect: 11.4.1(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2))
|
vite-plugin-inspect: 11.4.1(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0))
|
||||||
vite-plugin-vue-inspector: 6.0.0(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2))
|
vite-plugin-vue-inspector: 6.0.0(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0))
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@nuxt/kit'
|
- '@nuxt/kit'
|
||||||
- supports-color
|
- supports-color
|
||||||
- vue
|
- vue
|
||||||
|
|
||||||
vite-plugin-vue-inspector@6.0.0(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)):
|
vite-plugin-vue-inspector@6.0.0(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.28.5
|
'@babel/core': 7.28.5
|
||||||
'@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.5)
|
'@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.5)
|
||||||
@@ -3908,11 +4350,11 @@ snapshots:
|
|||||||
'@vue/compiler-dom': 3.5.26
|
'@vue/compiler-dom': 3.5.26
|
||||||
kolorist: 1.8.0
|
kolorist: 1.8.0
|
||||||
magic-string: 0.30.21
|
magic-string: 0.30.21
|
||||||
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)
|
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2):
|
vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
lightningcss: 1.33.0
|
lightningcss: 1.33.0
|
||||||
picomatch: 4.0.7
|
picomatch: 4.0.7
|
||||||
@@ -3923,10 +4365,12 @@ snapshots:
|
|||||||
'@types/node': 25.0.3
|
'@types/node': 25.0.3
|
||||||
esbuild: 0.28.2
|
esbuild: 0.28.2
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
|
sass: 1.104.0
|
||||||
|
sass-embedded: 1.104.0
|
||||||
|
|
||||||
vitefu@1.1.3(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)):
|
vitefu@1.1.3(vite@8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)):
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)
|
vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2)(sass-embedded@1.104.0)(sass@1.104.0)
|
||||||
|
|
||||||
vue@3.5.42(typescript@5.9.3):
|
vue@3.5.42(typescript@5.9.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -3,34 +3,15 @@ import Link from './top_nav/Link.astro'
|
|||||||
import UserAction from './top_nav/UserAction.vue'
|
import UserAction from './top_nav/UserAction.vue'
|
||||||
---
|
---
|
||||||
|
|
||||||
<nav>
|
<nav class="navbar navbar-expand bg-primary-subtle">
|
||||||
<a class="brand" href="/">NV</a>
|
<div class="container-fluid">
|
||||||
<ul class="center">
|
<a class="brand p-2" href="/">NV</a>
|
||||||
<li><Link href="/auctions">Auctions</Link></li>
|
|
||||||
|
<ul class="navbar-nav me-auto">
|
||||||
|
<li class="nav-item"><Link href="/auctions">Auctions</Link></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="right">
|
<ul class="navbar-nav">
|
||||||
<li><UserAction client:only /></li>
|
<UserAction client:load />
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<style>
|
|
||||||
nav {
|
|
||||||
display: flex;
|
|
||||||
flex-flow: row nowrap;
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
> ul {
|
|
||||||
list-style: none;
|
|
||||||
display: flex;
|
|
||||||
flex-flow: row nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
> .center {
|
|
||||||
margin-inline: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
> .right {
|
|
||||||
margin-left: auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import {ref, computed, onMounted} from "vue";
|
import {ref, computed, onMounted, defineProps} from "vue";
|
||||||
|
|
||||||
import {request} from "../lib/gateway.js";
|
import {request} from "../lib/gateway.js";
|
||||||
import {loadToken} from "../scripts/load_token.js";
|
import {loadToken} from "../scripts/load_token.js";
|
||||||
|
import {setAuctionId} from "./current_auction_store.js";
|
||||||
|
|
||||||
const pending = Symbol('pending')
|
const pending = Symbol('pending')
|
||||||
|
|
||||||
@@ -9,6 +11,8 @@ const qref = ref(pending)
|
|||||||
const isPending = computed(() => qref.value === pending)
|
const isPending = computed(() => qref.value === pending)
|
||||||
const data = computed(() => qref.value.data)
|
const data = computed(() => qref.value.data)
|
||||||
|
|
||||||
|
const {path} = defineProps(['path'])
|
||||||
|
|
||||||
async function loadAuctions() { // TODO: add params
|
async function loadAuctions() { // TODO: add params
|
||||||
let token = loadToken()
|
let token = loadToken()
|
||||||
if(!token.token) return;
|
if(!token.token) return;
|
||||||
@@ -25,19 +29,45 @@ onMounted(async () => {
|
|||||||
await loadAuctions()
|
await loadAuctions()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
function formatPrice(price) {
|
||||||
|
const fmt = new Intl.NumberFormat("en-US", {style: "currency", currency: "USD"}) // TODO: maybe load currency from backend or env
|
||||||
|
|
||||||
|
return fmt.format(price)
|
||||||
|
}
|
||||||
|
|
||||||
|
const auctionPath = (id) => path + `?id=${id}`
|
||||||
|
|
||||||
|
function navigateToAuction(auction) {
|
||||||
|
let {id} = auction
|
||||||
|
let path = auctionPath(id)
|
||||||
|
history.pushState(id, null, path)
|
||||||
|
setAuctionId(id)
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="placeholder" v-if="isPending"></div>
|
<template v-if="isPending">
|
||||||
<ul v-else-if="!isPending && data != null && data.length > 0">
|
<div class="spinner-border me-1" role="status"></div>
|
||||||
<li v-for="auction in data" :key="auction.id">
|
<span>Loading…</span>
|
||||||
<span>{{ auction.name }}</span>
|
</template>
|
||||||
<span v-if="auction.current_bid">{{ auction.current_bid }}</span>
|
<div v-else-if="!isPending && data != null && data.length > 0" class="auctions-section" role="list">
|
||||||
</li>
|
<div v-for="auction in data" :key="auction.id" class="card" role="listitem">
|
||||||
</ul>
|
<div class="card-body">
|
||||||
|
<h2 class="h5">
|
||||||
|
<a :href="auctionPath(auction.id)" @click.prevent="navigateToAuction(auction)">{{ auction.name }}</a>
|
||||||
|
</h2>
|
||||||
|
<p class="text-end">{{ formatPrice(auction.currentBid || auction.startingPrice) }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<p v-else>No auctions available</p>
|
<p v-else>No auctions available</p>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.auctions-section {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
|
||||||
|
gap: 1em;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
<script setup>
|
||||||
|
import {ref, watch, useTemplateRef, onMounted, defineProps} from "vue";
|
||||||
|
import {useStore} from "@nanostores/vue";
|
||||||
|
|
||||||
|
import {request} from "../lib/gateway.js";
|
||||||
|
import {loadToken} from "../scripts/load_token.js";
|
||||||
|
import {$currentAuctionId, resetAuction} from "./current_auction_store.js";
|
||||||
|
|
||||||
|
const Loading = Symbol("loading")
|
||||||
|
|
||||||
|
const currentAuctionId = useStore($currentAuctionId)
|
||||||
|
const currentAuction = ref(Loading)
|
||||||
|
const dialogRef = useTemplateRef('dialog')
|
||||||
|
const {path} = defineProps(['path'])
|
||||||
|
|
||||||
|
const showDialog = () => dialogRef.value.showModal()
|
||||||
|
|
||||||
|
async function loadAuction() {
|
||||||
|
currentAuction.value = Loading
|
||||||
|
if(currentAuctionId.value == null) return
|
||||||
|
|
||||||
|
const res = await request(`/auctions/${currentAuctionId.value}`, {cors: true, token: loadToken().token})
|
||||||
|
currentAuction.value = await res.json()
|
||||||
|
|
||||||
|
showDialog()
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
if(currentAuctionId.value !== null) loadAuction()
|
||||||
|
})
|
||||||
|
|
||||||
|
watch(currentAuctionId,
|
||||||
|
(val, prevVal) => {
|
||||||
|
if (val !== null && prevVal == null) loadAuction()
|
||||||
|
if (val == null) dialogRef.value.close()
|
||||||
|
},
|
||||||
|
{flush: 'post'})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<dialog ref="dialog" @close="resetAuction(path)">
|
||||||
|
<div class="card" v-if="currentAuctionId !== null && currentAuction !== Loading">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="h5">{{currentAuction.name}}</h2>
|
||||||
|
<div class="buttons">
|
||||||
|
<button type="button" class="btn btn-primary">Bid</button>
|
||||||
|
<button type="button" class="btn btn-outline-secondary" @click="$el.close()">Cancel</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
dialog {
|
||||||
|
/* TODO: maybe make it global */
|
||||||
|
min-width: min(90vw, 20rem);
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
import { atom } from "nanostores";
|
||||||
|
|
||||||
|
export const $currentAuctionId = atom(null);
|
||||||
|
|
||||||
|
export function setAuctionId(data) {
|
||||||
|
$currentAuctionId.set(data)
|
||||||
|
}
|
||||||
|
|
||||||
|
export function resetAuction(path) {
|
||||||
|
history.pushState(null, null, path)
|
||||||
|
$currentAuctionId.set(null)
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
import {setAuctionId} from "../current_auction_store.js";
|
||||||
|
|
||||||
|
window.addEventListener('popstate', (event) => {
|
||||||
|
let {state} = event
|
||||||
|
setAuctionId(state)
|
||||||
|
})
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
import * as bootstrap from 'bootstrap'
|
||||||
@@ -2,9 +2,10 @@ const LOCAL_STORAGE_KEY="token"
|
|||||||
|
|
||||||
export const Anonymous = Symbol("anonymous")
|
export const Anonymous = Symbol("anonymous")
|
||||||
class Token {
|
class Token {
|
||||||
constructor({token, expiresAt}) {
|
constructor({token, expiresAt, userId}) {
|
||||||
this.token = token
|
this.token = token
|
||||||
this.expiresAt = new Date(expiresAt)
|
this.expiresAt = new Date(expiresAt)
|
||||||
|
this.userId = userId
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,6 @@ const {href} = Astro.props
|
|||||||
const isActive = Astro.url.pathname.startsWith(href)
|
const isActive = Astro.url.pathname.startsWith(href)
|
||||||
---
|
---
|
||||||
|
|
||||||
<a class:list={[{active: isActive}]} href={href}>
|
<a class:list={["nav-link", {active: isActive}]} href={href}>
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</a>
|
</a>
|
||||||
@@ -1,26 +1,41 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import {ref, onMounted} from "vue";
|
import {ref, onMounted} from "vue";
|
||||||
import {loadToken, Anonymous} from "../scripts/load_token.js";
|
import {loadToken, Anonymous} from "../scripts/load_token.js";
|
||||||
|
import {request} from "../lib/gateway.js";
|
||||||
|
|
||||||
const Loading = Symbol("loading")
|
const Loading = Symbol("loading")
|
||||||
const token = ref(Loading)
|
const token = ref(Loading)
|
||||||
|
const userData = ref(Loading)
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(async () => {
|
||||||
token.value = loadToken()
|
let tokenData = loadToken()
|
||||||
|
token.value = tokenData
|
||||||
|
if(tokenData !== Anonymous) {
|
||||||
|
let response = await request("/user_data", {cors: true, token: tokenData.token})
|
||||||
|
userData.value = await response.json()
|
||||||
|
} else {
|
||||||
|
userData.value = null
|
||||||
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div v-if="token === Loading" class="placeholder"></div> <!-- TODO: replace with an actual placeholder -->
|
<li :class="['nav-item', {'dropdown': (token !== Loading && token !== Anonymous)}]">
|
||||||
<a href="/login" v-else-if="token === Anonymous">Login</a>
|
<div v-if="token === Loading || userData === Loading" class="placeholder"></div>
|
||||||
<span v-else>{{ token.username || "Username" }}</span>
|
<a v-else-if="token === Anonymous" class="nav-link" href="/login">Login</a>
|
||||||
|
<template v-else>
|
||||||
|
<a href="#" class="btn btn-secondary dropdown-toggle" role="button"
|
||||||
|
data-bs-toggle="dropdown">{{ userData.username || "Username" }}</a>
|
||||||
|
<ul class="dropdown-menu dropdown-menu-end">
|
||||||
|
<li><a href="#" class="dropdown-item">Logout</a></li>
|
||||||
|
</ul>
|
||||||
|
</template>
|
||||||
|
</li>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.placeholder {
|
.placeholder {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 2em;
|
width: 2em;
|
||||||
height: 1em;
|
|
||||||
background: gray;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
import '../styles/app.css'
|
import '../styles/app.scss'
|
||||||
|
|
||||||
import TopNav from '../components/TopNav.astro'
|
import TopNav from '../components/TopNav.astro'
|
||||||
|
|
||||||
const {title} = Astro.props
|
const {title} = Astro.props
|
||||||
@@ -13,14 +14,16 @@ const {title} = Astro.props
|
|||||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg"/>
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg"/>
|
||||||
<meta name="generator" content={Astro.generator}/>
|
<meta name="generator" content={Astro.generator}/>
|
||||||
<title>Neon Vertigo</title>
|
<title>Neon Vertigo</title>
|
||||||
<script src="../components/scripts/load_token.js"></script>
|
<script src="../components/scripts/load_bootstrap.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<TopNav />
|
<TopNav />
|
||||||
</header>
|
</header>
|
||||||
|
<main class="container">
|
||||||
<h1>{title}</h1>
|
<h1>{title}</h1>
|
||||||
<slot/>
|
<slot/>
|
||||||
|
</main>
|
||||||
|
|
||||||
{import.meta.env.DEV &&
|
{import.meta.env.DEV &&
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
@@ -2,10 +2,13 @@
|
|||||||
import Layout from '../layouts/Layout.astro';
|
import Layout from '../layouts/Layout.astro';
|
||||||
|
|
||||||
import Auctions from '../components/auctions/Index.vue'
|
import Auctions from '../components/auctions/Index.vue'
|
||||||
|
import AuctionShowDialog from '../components/auctions/ShowDialog.vue'
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout title="Auctions">
|
<Layout title="Auctions">
|
||||||
<Auctions client:load />
|
<Auctions path={ Astro.url.pathname } client:load />
|
||||||
|
<AuctionShowDialog path={ Astro.url.pathname } client:load />
|
||||||
|
|
||||||
<script src="../components/lib/check_user.js"></script>
|
<script src="../components/lib/check_user.js"></script>
|
||||||
|
<script src="../components/auctions/scripts/current_auction_store_history.js"></script>
|
||||||
</Layout>
|
</Layout>
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
@layer reset, base, components;
|
|
||||||
|
|
||||||
@layer reset {
|
|
||||||
html, body {
|
|
||||||
margin: 0;
|
|
||||||
min-height: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@layer base {
|
|
||||||
body {
|
|
||||||
font-family: Optima, Candara, 'Noto Sans', source-sans-pro, sans-serif;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
@import "bootstrap/scss/bootstrap";
|
||||||
|
|
||||||
|
/* Minor adjustments */
|
||||||
|
|
||||||
|
.card-body > p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user