From 3b6b0bbf9ae147b4097500ad0e5fd8bd49f3cad2 Mon Sep 17 00:00:00 2001 From: Artemiy Solopov Date: Tue, 8 Sep 2026 13:00:03 +0300 Subject: [PATCH 1/3] Added Bootstrap and Sass --- astro.config.mjs | 15 +- package.json | 2 + pnpm-lock.yaml | 509 ++++++++++++++++++++++++++++++++++++--- src/layouts/Layout.astro | 2 +- src/styles/app.css | 14 -- src/styles/app.scss | 1 + 6 files changed, 493 insertions(+), 50 deletions(-) delete mode 100644 src/styles/app.css create mode 100644 src/styles/app.scss diff --git a/astro.config.mjs b/astro.config.mjs index bf5c46e..43f1213 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -5,5 +5,18 @@ import vue from '@astrojs/vue'; // https://astro.build/config export default defineConfig({ - integrations: [vue()] + integrations: [vue()], + vite: { + css: { + preprocessorOptions: { + scss: { + quietDeps: true, + silenceDeprecations: [ + // For Bootstrap + 'import', + ], + } + } + } + } }); \ No newline at end of file diff --git a/package.json b/package.json index 4277b2d..23bea0b 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,9 @@ "@astrojs/vue": "^7.0.2", "@nanostores/vue": "^1.0.1", "astro": "^7.2.10", + "bootstrap": "^5.3.8", "nanostores": "^1.1.0", + "sass-embedded": "^1.104.0", "vue": "^3.5.42" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6d7541a..9814346 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,16 +10,22 @@ importers: dependencies: '@astrojs/vue': 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': 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)) astro: 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: specifier: ^1.1.0 version: 1.1.0 + sass-embedded: + specifier: ^1.104.0 + version: 1.104.0 vue: specifier: ^3.5.42 version: 3.5.42(typescript@5.9.3) @@ -408,6 +414,9 @@ packages: cpu: [x64] os: [win32] + '@bufbuild/protobuf@2.14.1': + resolution: {integrity: sha512-agRJn3+EJDUe8AvxTx/LnHA/GErvLE62pSaSk7+MwFOtOv8eWBu/qCq2qoZjBjVZ3C2aiFJCveuSs17KMkYGOw==} + '@capsizecss/unpack@4.0.1': resolution: {integrity: sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==} engines: {node: '>=18'} @@ -783,9 +792,88 @@ packages: '@oxc-project/types@0.148.0': 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': 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': resolution: {integrity: sha512-EypzgnYCwyVY4NDHKzGmNJT5b+XaQEBniHxsMdeIQLB/tcCzZnhqrzHpZFbX9iaxx+5RiB8caATBtfvZP7zVxQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1083,6 +1171,11 @@ packages: boolbase@1.0.0: 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: resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -1116,6 +1209,9 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} + colorjs.io@0.7.1: + resolution: {integrity: sha512-LY7OHnJZxHwT5UlzNa9bbhHHDbzB6yE5+3MIPwJEQKRvSCt/T4G7epsj+9j2BExUIIfXFIJGsIXUKdfrK9Q5tA==} + comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} @@ -1315,6 +1411,10 @@ packages: h3@1.15.11: 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: resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} @@ -1333,6 +1433,9 @@ packages: http-cache-semantics@4.2.0: resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + immutable@5.1.9: + resolution: {integrity: sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==} + iron-webcrypto@1.2.1: resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} @@ -1346,6 +1449,14 @@ packages: engines: {node: '>=20'} 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: resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==} engines: {node: '>=20'} @@ -1519,6 +1630,9 @@ packages: nlcst-to-string@4.0.0: resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-fetch-native@1.6.7: resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} @@ -1644,6 +1758,123 @@ packages: resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} 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: resolution: {integrity: sha512-Ao1LKpAEa9Wdg0otgbVKViZHEq9ebdXe4DMrp3s9vQAU0HNIuHnFEuMuOcm0ZIXyV0Yzxj91NvhLpvXZJO/5ZQ==} @@ -1694,11 +1925,23 @@ packages: stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + svgo@4.1.0: resolution: {integrity: sha512-bkxnTg1kSU0guhIBmibA6UUhrQmPVA1XsQLN+ylCd+UWzbnLkySOcXpyk1mrl05f+pcaCx2eHb+sp6BgMZWX+Q==} engines: {node: '>=16'} 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: resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} @@ -1845,6 +2088,9 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + varint@6.0.0: + resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} + vfile-message@4.0.3: resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} @@ -2050,14 +2296,14 @@ snapshots: is-docker: 4.0.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: - '@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-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': 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)(sass-embedded@1.104.0)(sass@1.104.0))(vue@3.5.42(typescript@5.9.3)) '@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) - vite: 8.2.2(@types/node@25.0.3)(esbuild@0.28.2) - 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)) + 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)(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)(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: - '@nuxt/kit' @@ -2464,6 +2710,8 @@ snapshots: '@bruits/satteri-win32-x64-msvc@0.10.5': optional: true + '@bufbuild/protobuf@2.14.1': {} + '@capsizecss/unpack@4.0.1': dependencies: fontkitten: 1.0.3 @@ -2734,8 +2982,67 @@ snapshots: '@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': {} + '@popperjs/core@2.11.8': {} + '@rolldown/binding-android-arm-eabi@1.2.7': optional: true @@ -2859,22 +3166,22 @@ snapshots: '@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: '@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) '@rolldown/pluginutils': 1.0.1 '@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) transitivePeerDependencies: - 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: '@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/babel-helper-vue-transform-on@1.5.0': {} @@ -3034,7 +3341,7 @@ snapshots: 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: '@astrojs/compiler-rs': 0.4.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.3) '@astrojs/internal-helpers': 0.11.0 @@ -3084,8 +3391,8 @@ snapshots: ultrahtml: 1.6.0 unifont: 0.7.5 unstorage: 1.17.5 - 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)) + 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)(sass-embedded@1.104.0)(sass@1.104.0)) xxhash-wasm: 1.1.0 yargs-parser: 22.0.0 zod: 4.5.4 @@ -3137,6 +3444,10 @@ snapshots: boolbase@1.0.0: {} + bootstrap@5.3.8(@popperjs/core@2.11.8): + dependencies: + '@popperjs/core': 2.11.8 + browserslist@4.28.1: dependencies: baseline-browser-mapping: 2.9.11 @@ -3165,6 +3476,8 @@ snapshots: clsx@2.1.1: {} + colorjs.io@0.7.1: {} + comma-separated-tokens@2.0.3: {} commander@11.1.0: {} @@ -3354,6 +3667,8 @@ snapshots: ufo: 1.6.4 uncrypto: 0.1.3 + has-flag@4.0.0: {} + hast-util-to-html@9.0.5: dependencies: '@types/hast': 3.0.5 @@ -3380,12 +3695,22 @@ snapshots: http-cache-semantics@4.2.0: {} + immutable@5.1.9: {} + iron-webcrypto@1.2.1: {} is-docker@3.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-inside-container@1.0.0: @@ -3528,6 +3853,9 @@ snapshots: dependencies: '@types/nlcst': 2.0.3 + node-addon-api@7.1.1: + optional: true + node-fetch-native@1.6.7: {} node-mock-http@1.0.4: {} @@ -3653,6 +3981,106 @@ snapshots: 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: dependencies: '@types/estree-jsx': 1.0.5 @@ -3740,6 +4168,10 @@ snapshots: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + svgo@4.1.0: dependencies: commander: 11.1.0 @@ -3750,6 +4182,12 @@ snapshots: picocolors: 1.1.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: {} tinyclip@0.1.15: {} @@ -3772,8 +4210,7 @@ snapshots: trough@2.2.0: {} - tslib@2.8.1: - optional: true + tslib@2.8.1: {} typescript@5.9.3: optional: true @@ -3850,6 +4287,8 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + varint@6.0.0: {} + vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 @@ -3860,17 +4299,17 @@ snapshots: '@types/unist': 3.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: birpc: 4.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)) + 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)(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: - 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: ansis: 4.3.1 error-stack-parser-es: 1.0.5 @@ -3880,24 +4319,24 @@ snapshots: perfect-debounce: 2.1.0 sirv: 3.0.2 unplugin-utils: 0.3.2 - 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)) + 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)(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: '@vue/devtools-core': 8.2.1(vue@3.5.42(typescript@5.9.3)) '@vue/devtools-kit': 8.2.1 '@vue/devtools-shared': 8.2.1 sirv: 3.0.2 - 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)) - vite-plugin-vue-inspector: 6.0.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-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)(sass-embedded@1.104.0)(sass@1.104.0)) transitivePeerDependencies: - '@nuxt/kit' - supports-color - 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: '@babel/core': 7.28.5 '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.5) @@ -3908,11 +4347,11 @@ snapshots: '@vue/compiler-dom': 3.5.26 kolorist: 1.8.0 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: - 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: lightningcss: 1.33.0 picomatch: 4.0.7 @@ -3923,10 +4362,12 @@ snapshots: '@types/node': 25.0.3 esbuild: 0.28.2 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: - 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): dependencies: diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 0e61fbf..4432653 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -1,5 +1,5 @@ --- -import '../styles/app.css' +import '../styles/app.scss' import TopNav from '../components/TopNav.astro' const {title} = Astro.props diff --git a/src/styles/app.css b/src/styles/app.css deleted file mode 100644 index d653994..0000000 --- a/src/styles/app.css +++ /dev/null @@ -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; - } -} \ No newline at end of file diff --git a/src/styles/app.scss b/src/styles/app.scss new file mode 100644 index 0000000..d8dc8d2 --- /dev/null +++ b/src/styles/app.scss @@ -0,0 +1 @@ +@import "bootstrap/scss/bootstrap"; \ No newline at end of file From 1879ec67f1fab12fe4f7ee19c29e6b5281f58762 Mon Sep 17 00:00:00 2001 From: Artemiy Solopov Date: Tue, 8 Sep 2026 13:49:29 +0300 Subject: [PATCH 2/3] Added Bootstrap's top nav --- package.json | 1 + pnpm-lock.yaml | 3 ++ src/components/TopNav.astro | 41 +++++++----------------- src/components/scripts/load_bootstrap.js | 1 + src/components/top_nav/Link.astro | 2 +- src/components/top_nav/UserAction.vue | 24 ++++++++------ src/layouts/Layout.astro | 9 ++++-- 7 files changed, 38 insertions(+), 43 deletions(-) create mode 100644 src/components/scripts/load_bootstrap.js diff --git a/package.json b/package.json index 23bea0b..79b3469 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "dependencies": { "@astrojs/vue": "^7.0.2", "@nanostores/vue": "^1.0.1", + "@popperjs/core": "^2.11.8", "astro": "^7.2.10", "bootstrap": "^5.3.8", "nanostores": "^1.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9814346..1efe1b8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: '@nanostores/vue': 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)) + '@popperjs/core': + specifier: ^2.11.8 + version: 2.11.8 astro: specifier: ^7.2.10 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) diff --git a/src/components/TopNav.astro b/src/components/TopNav.astro index 3fb45ef..11f87c5 100644 --- a/src/components/TopNav.astro +++ b/src/components/TopNav.astro @@ -3,34 +3,15 @@ import Link from './top_nav/Link.astro' import UserAction from './top_nav/UserAction.vue' --- - + \ No newline at end of file diff --git a/src/components/scripts/load_bootstrap.js b/src/components/scripts/load_bootstrap.js new file mode 100644 index 0000000..91a0068 --- /dev/null +++ b/src/components/scripts/load_bootstrap.js @@ -0,0 +1 @@ +import * as bootstrap from 'bootstrap' \ No newline at end of file diff --git a/src/components/top_nav/Link.astro b/src/components/top_nav/Link.astro index 98e211b..a227dea 100644 --- a/src/components/top_nav/Link.astro +++ b/src/components/top_nav/Link.astro @@ -3,6 +3,6 @@ const {href} = Astro.props const isActive = Astro.url.pathname.startsWith(href) --- - + \ No newline at end of file diff --git a/src/components/top_nav/UserAction.vue b/src/components/top_nav/UserAction.vue index fed2306..70d3dcb 100644 --- a/src/components/top_nav/UserAction.vue +++ b/src/components/top_nav/UserAction.vue @@ -11,16 +11,22 @@ onMounted(() => { \ No newline at end of file diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 4432653..bd99e78 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -1,5 +1,6 @@ --- import '../styles/app.scss' + import TopNav from '../components/TopNav.astro' const {title} = Astro.props @@ -13,14 +14,16 @@ const {title} = Astro.props Neon Vertigo - +
-

{title}

- +
+

{title}

+ +
{import.meta.env.DEV && \ No newline at end of file diff --git a/src/styles/app.scss b/src/styles/app.scss index d8dc8d2..687c49e 100644 --- a/src/styles/app.scss +++ b/src/styles/app.scss @@ -1 +1,7 @@ -@import "bootstrap/scss/bootstrap"; \ No newline at end of file +@import "bootstrap/scss/bootstrap"; + +/* Minor adjustments */ + +.card-body > p:last-child { + margin-bottom: 0; +} \ No newline at end of file