diff --git a/astro.config.mjs b/astro.config.mjs
index dc2d202..4618b4b 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -3,184 +3,183 @@ import tailwindIntegration from "@astrojs/tailwind";
import htaccessIntegration from "astro-htaccess";
import { AI_BOTS } from "./src/data/ai_bots";
+import alpinejs from "@astrojs/alpinejs";
+
// https://astro.build/config
export default defineConfig({
site: "https://badmanners.xyz",
- integrations: [
- tailwindIntegration({
- applyBaseStyles: false,
- }),
- htaccessIntegration({
- generateHtaccessFile: import.meta.env.APACHE_CONFIG === "true",
- customRules: [
- // Block AI bots
- "",
- " RewriteEngine on",
- " RewriteBase /",
- ` RewriteCond %{HTTP_USER_AGENT} ${AI_BOTS.map((bot) => `^${bot}$`).join("|")} [NC]`,
- " RewriteRule ^ – [F]",
- "",
- ],
- redirects: [
- {
- match: /^\/@\/(aryion|ekas?(portal)?)\b/,
- url: "https://aryion.com/g4/user/BadManners",
- },
- {
- match: /^\/@\/blog\b/,
- url: "https://gallery.badmanners.xyz/blog",
- },
- {
- match: /^\/@\/(blue[_-]?sky|bsky)\b/,
- url: "https://bsky.app/profile/badmanners.xyz",
- },
- {
- match: /^\/@\/(buymeacoffee|buy_me_a_coffee|buy-me-a-coffee|bmac)\b/,
- url: "https://www.buymeacoffee.com/BadMannersXYZ",
- },
- {
- match: /^\/@\/carrd\b/,
- url: "https://badmanners.carrd.co",
- },
- {
- match: /^\/@\/code[_-]?berg\b/,
- url: "https://codeberg.org/BadManners",
- },
- {
- match: /^\/@\/discord\b/,
- url: "/#discord",
- },
- {
- match: /^\/@\/e[_-]?mail\b/,
- url: "/#e-mail",
- },
- {
- match: /^\/@\/(fur[_-]?affinity|fa)\b/,
- url: "https://www.furaffinity.net/user/badmanners",
- },
- {
- match: /^\/@\/(gallery|stor(y|ies)|games?)\b/,
- url: "https://gallery.badmanners.xyz",
- },
- {
- match: /^\/@\/(git[_-]?hub|gh)\b/,
- url: "https://github.com/BadMannersXYZ",
- },
- {
- match: /^\/@\/git[_-]?lab\b/,
- url: "https://gitlab.com/Bad_Manners",
- },
- {
- match: /^\/@\/(git[_-]?gud|sapp?hire)\b/,
- url: "https://gitgud.io/BadMannersXYZ",
- },
- {
- match: /^\/@\/(google|g[_-]?mail)\b/,
- url: "/#gmail",
- },
- {
- match: /^\/@\/(gpg|pgp)\b/,
- url: "/gpg.pub",
- },
- {
- match: /^\/@\/gum[_-]?road\b/,
- url: "https://badmanners.gumroad.com",
- },
- {
- match: /^\/@\/(ink[_-]?bunny|ib)\b/,
- url: "https://inkbunny.net/BadManners",
- },
- {
- match: /^\/@\/itaku\b/,
- url: "https://itaku.ee/profile/badmanners",
- },
- {
- match: /^\/@\/itch\b/,
- url: "https://bad-manners.itch.io",
- },
- {
- match: /^\/@\/keybase\b/,
- url: "https://keybase.io/badmanners",
- },
- {
- match: /^\/@\/keyoxide\b/,
- url: "https://keyoxide.org/aspe:keyoxide.org:UWYBVFCBFXTVUF2U6FS6AYJHLU",
- },
- {
- match: /^\/@\/ko[._-]?fi\b/,
- url: "https://ko-fi.com/badmanners",
- },
- {
- match: /^\/@\/(mastodon|meow[._-]?social|gulp[._-]?cafe)\b/,
- url: "https://meow.social/@BadManners",
- },
- {
- match: /^\/@\/neo[_-]?cities\b/,
- url: "https://badmanners.neocities.org",
- },
- {
- match: /^\/@\/picarto\b/,
- url: "https://www.picarto.tv/BadManners",
- },
- {
- match: /^\/@\/pillow[_-]?fort\b/,
- url: "https://www.pillowfort.social/BadManners",
- },
- {
- match: /^\/@\/pronouns?\b/,
- url: "https://pronouns.cc/@BadManners",
- },
- {
- match: /^\/@\/redd\.?it\b/,
- url: "https://www.reddit.com/user/BadManners_",
- },
- {
- match: /^\/@\/resetera\b/,
- url: "https://www.resetera.com/members/bad-manners.181209/",
- },
- {
- match: /^\/@\/signal\b/,
- url: "https://signal.me/#eu/ytt_rk0fFmAB2JAW-x2PbUiJyc_H3kYmfL_Pq4QNh5QIDsiFtjdFHaqFRs1D36tB",
- },
- {
- match: /^\/@\/(so[_-]?furry|sf)\b/,
- url: "https://bad-manners.sofurry.com",
- },
- {
- match: /^\/@\/ssh\b/,
- url: "/ssh.pub",
- },
- {
- match: /^\/@\/steam(community|powered)?\b/,
- url: "https://steamcommunity.com/id/badmanners_",
- },
- {
- match: /^\/@\/subscribe[_-]?star\b/,
- url: "https://subscribestar.adult/bad-manners",
- },
- {
- match: /^\/@\/(telegram|t\.me)\b/,
- url: "https://t.me/bad_manners",
- },
- {
- match: /^\/@\/tumblr\b/,
- url: "https://www.tumblr.com/badmannersxyz",
- },
- {
- match: /^\/@\/twitch\b/,
- url: "https://www.twitch.tv/bad__manners",
- },
- {
- match: /^\/@\/weasyl\b/,
- url: "https://www.weasyl.com/~badmanners",
- },
- {
- match: /^\/@\/(you[_-]?tube|youtu\.be|yt)\b/,
- url: "https://www.youtube.com/@BadMannersXYZ",
- },
- ],
- }),
- ],
+ integrations: [tailwindIntegration({
+ applyBaseStyles: false,
+ }), htaccessIntegration({
+ generateHtaccessFile: import.meta.env.APACHE_CONFIG === "true",
+ customRules: [
+ // Block AI bots
+ "",
+ " RewriteEngine on",
+ " RewriteBase /",
+ ` RewriteCond %{HTTP_USER_AGENT} ${AI_BOTS.map((bot) => `^${bot}$`).join("|")} [NC]`,
+ " RewriteRule ^ – [F]",
+ "",
+ ],
+ redirects: [
+ {
+ match: /^\/@\/(aryion|ekas?(portal)?)\b/,
+ url: "https://aryion.com/g4/user/BadManners",
+ },
+ {
+ match: /^\/@\/blog\b/,
+ url: "https://gallery.badmanners.xyz/blog",
+ },
+ {
+ match: /^\/@\/(blue[_-]?sky|bsky)\b/,
+ url: "https://bsky.app/profile/badmanners.xyz",
+ },
+ {
+ match: /^\/@\/(buymeacoffee|buy_me_a_coffee|buy-me-a-coffee|bmac)\b/,
+ url: "https://www.buymeacoffee.com/BadMannersXYZ",
+ },
+ {
+ match: /^\/@\/carrd\b/,
+ url: "https://badmanners.carrd.co",
+ },
+ {
+ match: /^\/@\/code[_-]?berg\b/,
+ url: "https://codeberg.org/BadManners",
+ },
+ {
+ match: /^\/@\/discord\b/,
+ url: "/#discord",
+ },
+ {
+ match: /^\/@\/e[_-]?mail\b/,
+ url: "/#e-mail",
+ },
+ {
+ match: /^\/@\/(fur[_-]?affinity|fa)\b/,
+ url: "https://www.furaffinity.net/user/badmanners",
+ },
+ {
+ match: /^\/@\/(gallery|stor(y|ies)|games?)\b/,
+ url: "https://gallery.badmanners.xyz",
+ },
+ {
+ match: /^\/@\/(git[_-]?hub|gh)\b/,
+ url: "https://github.com/BadMannersXYZ",
+ },
+ {
+ match: /^\/@\/git[_-]?lab\b/,
+ url: "https://gitlab.com/Bad_Manners",
+ },
+ {
+ match: /^\/@\/(git[_-]?gud|sapp?hire)\b/,
+ url: "https://gitgud.io/BadMannersXYZ",
+ },
+ {
+ match: /^\/@\/(google|g[_-]?mail)\b/,
+ url: "/#gmail",
+ },
+ {
+ match: /^\/@\/(gpg|pgp)\b/,
+ url: "/gpg.pub",
+ },
+ {
+ match: /^\/@\/gum[_-]?road\b/,
+ url: "https://badmanners.gumroad.com",
+ },
+ {
+ match: /^\/@\/(ink[_-]?bunny|ib)\b/,
+ url: "https://inkbunny.net/BadManners",
+ },
+ {
+ match: /^\/@\/itaku\b/,
+ url: "https://itaku.ee/profile/badmanners",
+ },
+ {
+ match: /^\/@\/itch\b/,
+ url: "https://bad-manners.itch.io",
+ },
+ {
+ match: /^\/@\/keybase\b/,
+ url: "https://keybase.io/badmanners",
+ },
+ {
+ match: /^\/@\/keyoxide\b/,
+ url: "https://keyoxide.org/aspe:keyoxide.org:UWYBVFCBFXTVUF2U6FS6AYJHLU",
+ },
+ {
+ match: /^\/@\/ko[._-]?fi\b/,
+ url: "https://ko-fi.com/badmanners",
+ },
+ {
+ match: /^\/@\/(mastodon|meow[._-]?social|gulp[._-]?cafe)\b/,
+ url: "https://meow.social/@BadManners",
+ },
+ {
+ match: /^\/@\/neo[_-]?cities\b/,
+ url: "https://badmanners.neocities.org",
+ },
+ {
+ match: /^\/@\/picarto\b/,
+ url: "https://www.picarto.tv/BadManners",
+ },
+ {
+ match: /^\/@\/pillow[_-]?fort\b/,
+ url: "https://www.pillowfort.social/BadManners",
+ },
+ {
+ match: /^\/@\/pronouns?\b/,
+ url: "https://pronouns.cc/@BadManners",
+ },
+ {
+ match: /^\/@\/redd\.?it\b/,
+ url: "https://www.reddit.com/user/BadManners_",
+ },
+ {
+ match: /^\/@\/resetera\b/,
+ url: "https://www.resetera.com/members/bad-manners.181209/",
+ },
+ {
+ match: /^\/@\/signal\b/,
+ url: "https://signal.me/#eu/ytt_rk0fFmAB2JAW-x2PbUiJyc_H3kYmfL_Pq4QNh5QIDsiFtjdFHaqFRs1D36tB",
+ },
+ {
+ match: /^\/@\/(so[_-]?furry|sf)\b/,
+ url: "https://bad-manners.sofurry.com",
+ },
+ {
+ match: /^\/@\/ssh\b/,
+ url: "/ssh.pub",
+ },
+ {
+ match: /^\/@\/steam(community|powered)?\b/,
+ url: "https://steamcommunity.com/id/badmanners_",
+ },
+ {
+ match: /^\/@\/subscribe[_-]?star\b/,
+ url: "https://subscribestar.adult/bad-manners",
+ },
+ {
+ match: /^\/@\/(telegram|t\.me)\b/,
+ url: "https://t.me/bad_manners",
+ },
+ {
+ match: /^\/@\/tumblr\b/,
+ url: "https://www.tumblr.com/badmannersxyz",
+ },
+ {
+ match: /^\/@\/twitch\b/,
+ url: "https://www.twitch.tv/bad__manners",
+ },
+ {
+ match: /^\/@\/weasyl\b/,
+ url: "https://www.weasyl.com/~badmanners",
+ },
+ {
+ match: /^\/@\/(you[_-]?tube|youtu\.be|yt)\b/,
+ url: "https://www.youtube.com/@BadMannersXYZ",
+ },
+ ],
+ }), alpinejs()],
build: {
assets: "assets",
},
@@ -196,4 +195,4 @@ export default defineConfig({
},
},
},
-});
+});
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 357b8c0..6ff068c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,17 +1,20 @@
{
"name": "badmanners.xyz",
- "version": "2.1.15",
+ "version": "2.1.16",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "badmanners.xyz",
- "version": "2.1.15",
+ "version": "2.1.16",
"hasInstallScript": true,
"dependencies": {
+ "@astrojs/alpinejs": "^0.4.0",
"@astrojs/check": "^0.9.3",
"@astrojs/rss": "^4.0.7",
"@astrojs/tailwind": "^5.1.0",
+ "@types/alpinejs": "^3.13.10",
+ "alpinejs": "^3.14.1",
"astro": "^4.15.5",
"astro-htaccess": "^0.2.0",
"astro-loading-indicator": "^0.6.0",
@@ -78,6 +81,16 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@astrojs/alpinejs": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@astrojs/alpinejs/-/alpinejs-0.4.0.tgz",
+ "integrity": "sha512-68BY1CA0XuielLW3WdX2sfh9F4sSTnFqQ//IE9AditbiYJ77HJDb4uZx07pTFDtr1jOMU7lCvH+iS9gmNafM1g==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/alpinejs": "^3.0.0",
+ "alpinejs": "^3.0.0"
+ }
+ },
"node_modules/@astrojs/check": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.9.3.tgz",
@@ -1647,9 +1660,9 @@
"license": "MIT"
},
"node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.3.tgz",
- "integrity": "sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz",
+ "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==",
"cpu": [
"arm"
],
@@ -1660,9 +1673,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.3.tgz",
- "integrity": "sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz",
+ "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==",
"cpu": [
"arm64"
],
@@ -1673,9 +1686,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.3.tgz",
- "integrity": "sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz",
+ "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==",
"cpu": [
"arm64"
],
@@ -1686,9 +1699,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.3.tgz",
- "integrity": "sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz",
+ "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==",
"cpu": [
"x64"
],
@@ -1699,9 +1712,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.3.tgz",
- "integrity": "sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz",
+ "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==",
"cpu": [
"arm"
],
@@ -1712,9 +1725,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.3.tgz",
- "integrity": "sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz",
+ "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==",
"cpu": [
"arm"
],
@@ -1725,9 +1738,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.3.tgz",
- "integrity": "sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz",
+ "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==",
"cpu": [
"arm64"
],
@@ -1738,9 +1751,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.3.tgz",
- "integrity": "sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz",
+ "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==",
"cpu": [
"arm64"
],
@@ -1751,9 +1764,9 @@
]
},
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.3.tgz",
- "integrity": "sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz",
+ "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==",
"cpu": [
"ppc64"
],
@@ -1764,9 +1777,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.3.tgz",
- "integrity": "sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz",
+ "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==",
"cpu": [
"riscv64"
],
@@ -1777,9 +1790,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.3.tgz",
- "integrity": "sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz",
+ "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==",
"cpu": [
"s390x"
],
@@ -1790,9 +1803,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.3.tgz",
- "integrity": "sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz",
+ "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==",
"cpu": [
"x64"
],
@@ -1803,9 +1816,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.3.tgz",
- "integrity": "sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz",
+ "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==",
"cpu": [
"x64"
],
@@ -1816,9 +1829,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.3.tgz",
- "integrity": "sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz",
+ "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==",
"cpu": [
"arm64"
],
@@ -1829,9 +1842,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.3.tgz",
- "integrity": "sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz",
+ "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==",
"cpu": [
"ia32"
],
@@ -1842,9 +1855,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.3.tgz",
- "integrity": "sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz",
+ "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==",
"cpu": [
"x64"
],
@@ -1949,6 +1962,12 @@
"optional": true,
"peer": true
},
+ "node_modules/@types/alpinejs": {
+ "version": "3.13.10",
+ "resolved": "https://registry.npmjs.org/@types/alpinejs/-/alpinejs-3.13.10.tgz",
+ "integrity": "sha512-ah53tF6mWuuwerpDE7EHwbZErNDJQlsLISPqJhYj2RZ9nuTYbRknSkqebUd3igkhLIZKkPa7IiXjSn9qsU9O2w==",
+ "license": "MIT"
+ },
"node_modules/@types/babel__core": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
@@ -2151,6 +2170,21 @@
"integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==",
"license": "MIT"
},
+ "node_modules/@vue/reactivity": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.5.tgz",
+ "integrity": "sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/shared": "3.1.5"
+ }
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz",
+ "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==",
+ "license": "MIT"
+ },
"node_modules/acorn": {
"version": "8.12.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
@@ -2189,6 +2223,15 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
+ "node_modules/alpinejs": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.14.1.tgz",
+ "integrity": "sha512-ICar8UsnRZAYvv/fCNfNeKMXNoXGUfwHrjx7LqXd08zIP95G2d9bAOuaL97re+1mgt/HojqHsfdOLo/A5LuWgQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/reactivity": "~3.1.1"
+ }
+ },
"node_modules/ansi-align": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
@@ -6032,9 +6075,9 @@
}
},
"node_modules/rollup": {
- "version": "4.21.3",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.3.tgz",
- "integrity": "sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz",
+ "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==",
"license": "MIT",
"dependencies": {
"@types/estree": "1.0.5"
@@ -6047,22 +6090,22 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.21.3",
- "@rollup/rollup-android-arm64": "4.21.3",
- "@rollup/rollup-darwin-arm64": "4.21.3",
- "@rollup/rollup-darwin-x64": "4.21.3",
- "@rollup/rollup-linux-arm-gnueabihf": "4.21.3",
- "@rollup/rollup-linux-arm-musleabihf": "4.21.3",
- "@rollup/rollup-linux-arm64-gnu": "4.21.3",
- "@rollup/rollup-linux-arm64-musl": "4.21.3",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.21.3",
- "@rollup/rollup-linux-riscv64-gnu": "4.21.3",
- "@rollup/rollup-linux-s390x-gnu": "4.21.3",
- "@rollup/rollup-linux-x64-gnu": "4.21.3",
- "@rollup/rollup-linux-x64-musl": "4.21.3",
- "@rollup/rollup-win32-arm64-msvc": "4.21.3",
- "@rollup/rollup-win32-ia32-msvc": "4.21.3",
- "@rollup/rollup-win32-x64-msvc": "4.21.3",
+ "@rollup/rollup-android-arm-eabi": "4.22.4",
+ "@rollup/rollup-android-arm64": "4.22.4",
+ "@rollup/rollup-darwin-arm64": "4.22.4",
+ "@rollup/rollup-darwin-x64": "4.22.4",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.22.4",
+ "@rollup/rollup-linux-arm-musleabihf": "4.22.4",
+ "@rollup/rollup-linux-arm64-gnu": "4.22.4",
+ "@rollup/rollup-linux-arm64-musl": "4.22.4",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4",
+ "@rollup/rollup-linux-riscv64-gnu": "4.22.4",
+ "@rollup/rollup-linux-s390x-gnu": "4.22.4",
+ "@rollup/rollup-linux-x64-gnu": "4.22.4",
+ "@rollup/rollup-linux-x64-musl": "4.22.4",
+ "@rollup/rollup-win32-arm64-msvc": "4.22.4",
+ "@rollup/rollup-win32-ia32-msvc": "4.22.4",
+ "@rollup/rollup-win32-x64-msvc": "4.22.4",
"fsevents": "~2.3.2"
}
},
diff --git a/package.json b/package.json
index 9dd75f0..505e89c 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "badmanners.xyz",
"type": "module",
- "version": "2.1.15",
+ "version": "2.1.16",
"scripts": {
"postinstall": "astro sync",
"dev": "astro dev",
@@ -15,9 +15,12 @@
"deploy-lftp": "dotenv tsx scripts/deploy-lftp.ts --"
},
"dependencies": {
+ "@astrojs/alpinejs": "^0.4.0",
"@astrojs/check": "^0.9.3",
"@astrojs/rss": "^4.0.7",
"@astrojs/tailwind": "^5.1.0",
+ "@types/alpinejs": "^3.13.10",
+ "alpinejs": "^3.14.1",
"astro": "^4.15.5",
"astro-htaccess": "^0.2.0",
"astro-loading-indicator": "^0.6.0",
diff --git a/src/components/AgeRestrictedModal.astro b/src/components/AgeRestrictedModal.astro
index 5b3fd81..09ce1ff 100644
--- a/src/components/AgeRestrictedModal.astro
+++ b/src/components/AgeRestrictedModal.astro
@@ -3,99 +3,56 @@ import AgeRestrictedScriptInline from "./AgeRestrictedScriptInline.astro";
import { IconTriangleExclamation } from "./icons";
---
-