diff --git a/deno.lock b/deno.lock index 4c067a2..0852dfb 100644 --- a/deno.lock +++ b/deno.lock @@ -22,6 +22,8 @@ "npm:autoprefixer@^10.4.20": "10.4.20_postcss@8.4.47", "npm:path-to-regexp@6.2.1": "6.2.1", "npm:postcss@^8.4.47": "8.4.47", + "npm:tailwind-scrollbar-hide@2": "2.0.0_tailwindcss@3.4.14__postcss@8.4.47", + "npm:tailwind-scrollbar@^4.0.1": "4.0.1_tailwindcss@4.0.15", "npm:tailwindcss@*": "3.4.14_postcss@8.4.47", "npm:tailwindcss@^3.4.14": "3.4.14_postcss@8.4.47", "npm:typescript@^5.8.2": "5.8.2", @@ -30,6 +32,7 @@ "npm:vite@*": "5.4.10", "npm:vite@^5.4.10": "5.4.10", "npm:vue-router@4": "4.4.5_vue@3.5.12", + "npm:vue-router@^4.5.0": "4.5.0_vue@3.5.12_typescript@5.8.2", "npm:vue@*": "3.5.12", "npm:vue@^3.5.12": "3.5.12" }, @@ -300,11 +303,14 @@ "undici-types" ] }, + "@types/prismjs@1.26.5": { + "integrity": "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==" + }, "@vitejs/plugin-vue@5.1.4_vite@5.4.10_vue@3.5.12": { "integrity": "sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==", "dependencies": [ "vite@5.4.10", - "vue" + "vue@3.5.12" ] }, "@vue/compiler-core@3.5.12": { @@ -375,7 +381,15 @@ "dependencies": [ "@vue/compiler-ssr", "@vue/shared", - "vue" + "vue@3.5.12" + ] + }, + "@vue/server-renderer@3.5.12_vue@3.5.12_vue@3.5.12__typescript@5.8.2": { + "integrity": "sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==", + "dependencies": [ + "@vue/compiler-ssr", + "@vue/shared", + "vue@3.5.12_typescript@5.8.2" ] }, "@vue/shared@3.5.12": { @@ -483,6 +497,9 @@ "readdirp@4.1.1" ] }, + "clsx@2.1.1": { + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==" + }, "color-convert@2.0.1": { "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": [ @@ -884,6 +901,14 @@ "source-map-js" ] }, + "prism-react-renderer@2.4.1_react@19.0.0": { + "integrity": "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==", + "dependencies": [ + "@types/prismjs", + "clsx", + "react" + ] + }, "punycode@1.4.1": { "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" }, @@ -896,6 +921,9 @@ "queue-microtask@1.2.3": { "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, + "react@19.0.0": { + "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==" + }, "read-cache@1.0.0": { "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dependencies": [ @@ -1031,6 +1059,19 @@ "supports-preserve-symlinks-flag@1.0.0": { "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, + "tailwind-scrollbar-hide@2.0.0_tailwindcss@3.4.14__postcss@8.4.47": { + "integrity": "sha512-lqiIutHliEiODwBRHy4G2+Tcayo2U7+3+4frBmoMETD72qtah+XhOk5XcPzC1nJvXhXUdfl2ajlMhUc2qC6CIg==", + "dependencies": [ + "tailwindcss@3.4.14_postcss@8.4.47" + ] + }, + "tailwind-scrollbar@4.0.1_tailwindcss@4.0.15": { + "integrity": "sha512-j2ZfUI7p8xmSQdlqaCxEb4Mha8ErvWjDVyu2Ke4IstWprQ/6TmIz1GSLE62vsTlXwnMLYhuvbFbIFzaJGOGtMg==", + "dependencies": [ + "prism-react-renderer", + "tailwindcss@4.0.15" + ] + }, "tailwindcss@3.4.14_postcss@8.4.47": { "integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==", "dependencies": [ @@ -1058,6 +1099,9 @@ "sucrase" ] }, + "tailwindcss@4.0.15": { + "integrity": "sha512-6ZMg+hHdMJpjpeCCFasX7K+U615U9D+7k5/cDK/iRwl6GptF24+I/AbKgOnXhVKePzrEyIXutLv36n4cRsq3Sg==" + }, "thenify-all@1.6.0": { "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dependencies": [ @@ -1157,7 +1201,14 @@ "integrity": "sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==", "dependencies": [ "@vue/devtools-api", - "vue" + "vue@3.5.12" + ] + }, + "vue-router@4.5.0_vue@3.5.12_typescript@5.8.2": { + "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", + "dependencies": [ + "@vue/devtools-api", + "vue@3.5.12_typescript@5.8.2" ] }, "vue@3.5.12": { @@ -1166,10 +1217,21 @@ "@vue/compiler-dom", "@vue/compiler-sfc", "@vue/runtime-dom", - "@vue/server-renderer", + "@vue/server-renderer@3.5.12_vue@3.5.12", "@vue/shared" ] }, + "vue@3.5.12_typescript@5.8.2": { + "integrity": "sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==", + "dependencies": [ + "@vue/compiler-dom", + "@vue/compiler-sfc", + "@vue/runtime-dom", + "@vue/server-renderer@3.5.12_vue@3.5.12_vue@3.5.12__typescript@5.8.2", + "@vue/shared", + "typescript" + ] + }, "which@2.0.2": { "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": [ @@ -1352,8 +1414,11 @@ "dependencies": [ "npm:@deno/vite-plugin@1", "npm:@vitejs/plugin-vue@^5.1.4", + "npm:tailwind-scrollbar-hide@2", + "npm:tailwind-scrollbar@^4.0.1", "npm:typescript@^5.8.2", - "npm:vite-plugin-checker@~0.9.1" + "npm:vite-plugin-checker@~0.9.1", + "npm:vue-router@^4.5.0" ] } } diff --git a/index.html b/index.html index e7b8b54..bb5e428 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@ ESP - Express, Share, Post - +
diff --git a/package-lock.json b/package-lock.json index bca12e7..6507a16 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,10 @@ "": { "dependencies": { "@deno/vite-plugin": "^1.0.0", - "@vitejs/plugin-vue": "^5.1.4" + "@vitejs/plugin-vue": "^5.1.4", + "tailwind-scrollbar": "^4.0.1", + "tailwind-scrollbar-hide": "^2.0.0", + "vue-router": "^4.5.0" }, "devDependencies": { "typescript": "^5.8.2", @@ -791,6 +794,12 @@ "license": "MIT", "peer": true }, + "node_modules/@types/prismjs": { + "version": "1.26.5", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz", + "integrity": "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==", + "license": "MIT" + }, "node_modules/@vitejs/plugin-vue": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz", @@ -858,6 +867,12 @@ "@vue/shared": "3.5.13" } }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, "node_modules/@vue/reactivity": { "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", @@ -942,6 +957,15 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -1154,6 +1178,29 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/prism-react-renderer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz", + "integrity": "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==", + "license": "MIT", + "dependencies": { + "@types/prismjs": "^1.26.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.0.0" + } + }, + "node_modules/react": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", + "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/readdirp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", @@ -1233,6 +1280,37 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/tailwind-scrollbar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/tailwind-scrollbar/-/tailwind-scrollbar-4.0.1.tgz", + "integrity": "sha512-j2ZfUI7p8xmSQdlqaCxEb4Mha8ErvWjDVyu2Ke4IstWprQ/6TmIz1GSLE62vsTlXwnMLYhuvbFbIFzaJGOGtMg==", + "license": "MIT", + "dependencies": { + "prism-react-renderer": "^2.4.1" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "tailwindcss": "4.x" + } + }, + "node_modules/tailwind-scrollbar-hide": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tailwind-scrollbar-hide/-/tailwind-scrollbar-hide-2.0.0.tgz", + "integrity": "sha512-lqiIutHliEiODwBRHy4G2+Tcayo2U7+3+4frBmoMETD72qtah+XhOk5XcPzC1nJvXhXUdfl2ajlMhUc2qC6CIg==", + "license": "MIT", + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 4.0.0 || >= 4.0.0-beta.8 || >= 4.0.0-alpha.20" + } + }, + "node_modules/tailwindcss": { + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.15.tgz", + "integrity": "sha512-6ZMg+hHdMJpjpeCCFasX7K+U615U9D+7k5/cDK/iRwl6GptF24+I/AbKgOnXhVKePzrEyIXutLv36n4cRsq3Sg==", + "license": "MIT", + "peer": true + }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", @@ -1446,6 +1524,21 @@ "optional": true } } + }, + "node_modules/vue-router": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz", + "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } } } } diff --git a/package.json b/package.json index 018f212..cc9d3d4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,10 @@ { "dependencies": { "@deno/vite-plugin": "^1.0.0", - "@vitejs/plugin-vue": "^5.1.4" + "@vitejs/plugin-vue": "^5.1.4", + "tailwind-scrollbar": "^4.0.1", + "tailwind-scrollbar-hide": "^2.0.0", + "vue-router": "^4.5.0" }, "devDependencies": { "typescript": "^5.8.2", diff --git a/src/App.vue b/src/App.vue index 87ed26e..853e2ee 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,3 +1,3 @@ -