Change to PW
Dieser Commit ist enthalten in:
Ursprung
aa83cddcec
Commit
5a5cce199b
@ -22,7 +22,7 @@ export default defineAstroI18nConfig({
|
||||
stats: "statistiken",
|
||||
announcements: "ankuendigungen",
|
||||
"privacy-policy": "datenschutzerklaerung",
|
||||
"create-token": "token-erstellen"
|
||||
"set-password": "passwort-setzen"
|
||||
}
|
||||
},
|
||||
})
|
@ -12,9 +12,6 @@ export default defineConfig({
|
||||
image: {
|
||||
service: sharpImageService()
|
||||
},
|
||||
experimental: {
|
||||
optimizeHoistedScript: true,
|
||||
},
|
||||
compressHTML: true,
|
||||
site: "https://steamwar.de",
|
||||
integrations: [svelte(), tailwind({
|
||||
@ -33,4 +30,5 @@ export default defineConfig({
|
||||
disallow: ["/admin", "/login", "/dashboard", "/de", "/_astro"]
|
||||
}]
|
||||
})],
|
||||
vite: {}
|
||||
});
|
@ -27,7 +27,7 @@
|
||||
"autoprefixer": "^10.4.16",
|
||||
"cssnano": "^6.0.2",
|
||||
"esbuild": "^0.19.9",
|
||||
"postcss-nesting": "^12.0.1",
|
||||
"postcss-nesting": "^12.0.2",
|
||||
"sass": "^1.69.5",
|
||||
"svelte": "^4.2.8",
|
||||
"tailwind-merge": "^2.1.0",
|
||||
@ -38,7 +38,7 @@
|
||||
"@astrojs/sitemap": "^3.0.3",
|
||||
"@codemirror/lang-json": "^6.0.1",
|
||||
"@ddietr/codemirror-themes": "^1.4.2",
|
||||
"astro": "^4.0.5",
|
||||
"astro": "^4.0.6",
|
||||
"astro-i18n": "^2.1.18",
|
||||
"astro-robots-txt": "^1.0.0",
|
||||
"astro-seo": "^0.8.0",
|
||||
|
104
pnpm-lock.yaml
104
pnpm-lock.yaml
@ -15,8 +15,8 @@ dependencies:
|
||||
specifier: ^1.4.2
|
||||
version: 1.4.2
|
||||
astro:
|
||||
specifier: ^4.0.5
|
||||
version: 4.0.5(@types/node@20.10.4)(sass@1.69.5)(typescript@5.3.3)
|
||||
specifier: ^4.0.6
|
||||
version: 4.0.6(@types/node@20.10.4)(sass@1.69.5)(typescript@5.3.3)
|
||||
astro-i18n:
|
||||
specifier: ^2.1.18
|
||||
version: 2.1.18(esbuild@0.19.9)
|
||||
@ -75,13 +75,13 @@ dependencies:
|
||||
devDependencies:
|
||||
'@astrojs/svelte':
|
||||
specifier: ^5.0.1
|
||||
version: 5.0.1(astro@4.0.5)(svelte@4.2.8)(typescript@5.3.3)(vite@5.0.9)
|
||||
version: 5.0.1(astro@4.0.6)(svelte@4.2.8)(typescript@5.3.3)(vite@5.0.10)
|
||||
'@astrojs/tailwind':
|
||||
specifier: ^5.0.3
|
||||
version: 5.0.3(astro@4.0.5)(tailwindcss@3.3.6)
|
||||
version: 5.0.3(astro@4.0.6)(tailwindcss@3.3.6)
|
||||
'@astropub/icons':
|
||||
specifier: ^0.2.0
|
||||
version: 0.2.0(astro@4.0.5)
|
||||
version: 0.2.0(astro@4.0.6)
|
||||
'@types/color':
|
||||
specifier: ^3.0.6
|
||||
version: 3.0.6
|
||||
@ -101,8 +101,8 @@ devDependencies:
|
||||
specifier: ^0.19.9
|
||||
version: 0.19.9
|
||||
postcss-nesting:
|
||||
specifier: ^12.0.1
|
||||
version: 12.0.1(postcss@8.4.32)
|
||||
specifier: ^12.0.2
|
||||
version: 12.0.2(postcss@8.4.32)
|
||||
sass:
|
||||
specifier: ^1.69.5
|
||||
version: 1.69.5
|
||||
@ -132,8 +132,8 @@ packages:
|
||||
'@jridgewell/gen-mapping': 0.3.3
|
||||
'@jridgewell/trace-mapping': 0.3.20
|
||||
|
||||
/@astrojs/compiler@2.3.2:
|
||||
resolution: {integrity: sha512-jkY7bCVxl27KeZsSxIZ+pqACe+g8VQUdTiSJRj/sXYdIaZlW3ZMq4qF2M17P/oDt3LBq0zLNwQr4Cb7fSpRGxQ==}
|
||||
/@astrojs/compiler@2.3.4:
|
||||
resolution: {integrity: sha512-33/YtWoBCE0cBUNy1kh78FCDXBoBANX87ShgATlAHECYbG2+buNTAgq4Xgz4t5NgnEHPN21GIBC2Mvvwisoutw==}
|
||||
|
||||
/@astrojs/internal-helpers@0.2.1:
|
||||
resolution: {integrity: sha512-06DD2ZnItMwUnH81LBLco3tWjcZ1lGU9rLCCBaeUCGYe9cI0wKyY2W3kDyoW1I6GmcWgt1fu+D1CTvz+FIKf8A==}
|
||||
@ -171,15 +171,15 @@ packages:
|
||||
zod: 3.22.4
|
||||
dev: false
|
||||
|
||||
/@astrojs/svelte@5.0.1(astro@4.0.5)(svelte@4.2.8)(typescript@5.3.3)(vite@5.0.9):
|
||||
/@astrojs/svelte@5.0.1(astro@4.0.6)(svelte@4.2.8)(typescript@5.3.3)(vite@5.0.10):
|
||||
resolution: {integrity: sha512-MQvm0VmkiHVBb41hkKvQKtZa2YZqImdJD23dDW6EGhFxRy1GEgJ4Hm6p4T30FXrLPQUoiay/BU5U/lHDd6ZlNg==}
|
||||
engines: {node: '>=18.14.1'}
|
||||
peerDependencies:
|
||||
astro: ^4.0.0
|
||||
svelte: ^4.0.0 || ^5.0.0-next.1
|
||||
dependencies:
|
||||
'@sveltejs/vite-plugin-svelte': 3.0.1(svelte@4.2.8)(vite@5.0.9)
|
||||
astro: 4.0.5(@types/node@20.10.4)(sass@1.69.5)(typescript@5.3.3)
|
||||
'@sveltejs/vite-plugin-svelte': 3.0.1(svelte@4.2.8)(vite@5.0.10)
|
||||
astro: 4.0.6(@types/node@20.10.4)(sass@1.69.5)(typescript@5.3.3)
|
||||
svelte: 4.2.8
|
||||
svelte2tsx: 0.6.27(svelte@4.2.8)(typescript@5.3.3)
|
||||
transitivePeerDependencies:
|
||||
@ -188,13 +188,13 @@ packages:
|
||||
- vite
|
||||
dev: true
|
||||
|
||||
/@astrojs/tailwind@5.0.3(astro@4.0.5)(tailwindcss@3.3.6):
|
||||
/@astrojs/tailwind@5.0.3(astro@4.0.6)(tailwindcss@3.3.6):
|
||||
resolution: {integrity: sha512-p+uFa1PNuV8RxhGkPUFgVq8CUbmS3xr0u5k1An2xKECLotRh7vsrGcPUijHvYOt42URohcg8rIq0CxNoVMhReg==}
|
||||
peerDependencies:
|
||||
astro: ^3.0.0 || ^4.0.0
|
||||
tailwindcss: ^3.0.24
|
||||
dependencies:
|
||||
astro: 4.0.5(@types/node@20.10.4)(sass@1.69.5)(typescript@5.3.3)
|
||||
astro: 4.0.6(@types/node@20.10.4)(sass@1.69.5)(typescript@5.3.3)
|
||||
autoprefixer: 10.4.16(postcss@8.4.32)
|
||||
postcss: 8.4.32
|
||||
postcss-load-config: 4.0.2(postcss@8.4.32)
|
||||
@ -217,12 +217,12 @@ packages:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
/@astropub/icons@0.2.0(astro@4.0.5):
|
||||
/@astropub/icons@0.2.0(astro@4.0.6):
|
||||
resolution: {integrity: sha512-qM/ldW/9rVHULNOZgz/23Yzgm2r3Iy2JJ1FuvJB6sFU67n61o1ImuXdHiaWSNoEHubD+IUkD9WG0hbhINgszqA==}
|
||||
peerDependencies:
|
||||
astro: '*'
|
||||
dependencies:
|
||||
astro: 4.0.5(@types/node@20.10.4)(sass@1.69.5)(typescript@5.3.3)
|
||||
astro: 4.0.6(@types/node@20.10.4)(sass@1.69.5)(typescript@5.3.3)
|
||||
dev: true
|
||||
|
||||
/@babel/code-frame@7.23.5:
|
||||
@ -398,7 +398,7 @@ packages:
|
||||
resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
regenerator-runtime: 0.14.0
|
||||
regenerator-runtime: 0.14.1
|
||||
|
||||
/@babel/template@7.22.15:
|
||||
resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
|
||||
@ -502,8 +502,8 @@ packages:
|
||||
w3c-keyname: 2.2.8
|
||||
dev: false
|
||||
|
||||
/@csstools/selector-specificity@3.0.0(postcss-selector-parser@6.0.13):
|
||||
resolution: {integrity: sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==}
|
||||
/@csstools/selector-specificity@3.0.1(postcss-selector-parser@6.0.13):
|
||||
resolution: {integrity: sha512-NPljRHkq4a14YzZ3YD406uaxh7s0g6eAq3L9aLOWywoqe8PkYamAvtsh7KNX6c++ihDrJ0RiU+/z7rGnhlZ5ww==}
|
||||
engines: {node: ^14 || ^16 || >=18}
|
||||
peerDependencies:
|
||||
postcss-selector-parser: ^6.0.13
|
||||
@ -878,7 +878,7 @@ packages:
|
||||
requiresBuild: true
|
||||
optional: true
|
||||
|
||||
/@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.9):
|
||||
/@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.10):
|
||||
resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==}
|
||||
engines: {node: ^18.0.0 || >=20}
|
||||
peerDependencies:
|
||||
@ -886,30 +886,30 @@ packages:
|
||||
svelte: ^4.0.0 || ^5.0.0-next.0
|
||||
vite: ^5.0.0
|
||||
dependencies:
|
||||
'@sveltejs/vite-plugin-svelte': 3.0.1(svelte@4.2.8)(vite@5.0.9)
|
||||
'@sveltejs/vite-plugin-svelte': 3.0.1(svelte@4.2.8)(vite@5.0.10)
|
||||
debug: 4.3.4
|
||||
svelte: 4.2.8
|
||||
vite: 5.0.9(@types/node@20.10.4)(sass@1.69.5)
|
||||
vite: 5.0.10(@types/node@20.10.4)(sass@1.69.5)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@sveltejs/vite-plugin-svelte@3.0.1(svelte@4.2.8)(vite@5.0.9):
|
||||
/@sveltejs/vite-plugin-svelte@3.0.1(svelte@4.2.8)(vite@5.0.10):
|
||||
resolution: {integrity: sha512-CGURX6Ps+TkOovK6xV+Y2rn8JKa8ZPUHPZ/NKgCxAmgBrXReavzFl8aOSCj3kQ1xqT7yGJj53hjcV/gqwDAaWA==}
|
||||
engines: {node: ^18.0.0 || >=20}
|
||||
peerDependencies:
|
||||
svelte: ^4.0.0 || ^5.0.0-next.0
|
||||
vite: ^5.0.0
|
||||
dependencies:
|
||||
'@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.9)
|
||||
'@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.10)
|
||||
debug: 4.3.4
|
||||
deepmerge: 4.3.1
|
||||
kleur: 4.1.5
|
||||
magic-string: 0.30.5
|
||||
svelte: 4.2.8
|
||||
svelte-hmr: 0.15.3(svelte@4.2.8)
|
||||
vite: 5.0.9(@types/node@20.10.4)(sass@1.69.5)
|
||||
vitefu: 0.2.5(vite@5.0.9)
|
||||
vite: 5.0.10(@types/node@20.10.4)(sass@1.69.5)
|
||||
vitefu: 0.2.5(vite@5.0.10)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
@ -924,12 +924,12 @@ packages:
|
||||
dependencies:
|
||||
'@babel/parser': 7.23.6
|
||||
'@babel/types': 7.23.6
|
||||
'@types/babel__generator': 7.6.7
|
||||
'@types/babel__generator': 7.6.8
|
||||
'@types/babel__template': 7.4.4
|
||||
'@types/babel__traverse': 7.20.4
|
||||
|
||||
/@types/babel__generator@7.6.7:
|
||||
resolution: {integrity: sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==}
|
||||
/@types/babel__generator@7.6.8:
|
||||
resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
|
||||
dependencies:
|
||||
'@babel/types': 7.23.6
|
||||
|
||||
@ -1072,8 +1072,8 @@ packages:
|
||||
normalize-path: 3.0.0
|
||||
picomatch: 2.3.1
|
||||
|
||||
/apexcharts@3.44.2:
|
||||
resolution: {integrity: sha512-QWOFS/SC1TDsuI8VudVuIwLhs1qE6kwixRvmABMUgTVeVzizRWgQh8pdEIgwl+Zvr0TlM3vHPz6Dc5NP1hJ7BA==}
|
||||
/apexcharts@3.45.0:
|
||||
resolution: {integrity: sha512-o+XI4ysvKtt+l+bGbk19s6Y2gFes/7LRLMAonDgcapz4frS0vzTfXiK77QcQc30TMwPiSN9Z8Tv+CBn57x63wg==}
|
||||
dependencies:
|
||||
'@yr/monotone-cubic-spline': 1.0.3
|
||||
svg.draggable.js: 2.2.2
|
||||
@ -1123,12 +1123,12 @@ packages:
|
||||
resolution: {integrity: sha512-7gq6lhibCM8FuzZIJlbLLWP5EJ9KL2/4XqeFrAg9O6ZK2xMFxJ5ubKf+a0VJwwTu8W8Xr421CmpiXu6Hq7n/7Q==}
|
||||
dev: false
|
||||
|
||||
/astro@4.0.5(@types/node@20.10.4)(sass@1.69.5)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-OTiTEiXYdXTkVJXNNKIWdYG1z2wpTST+92Qcldm36x91Pe4fKpLxeuRloy5cW175oHi8lvXytgG3Gl3VBP18RQ==}
|
||||
/astro@4.0.6(@types/node@20.10.4)(sass@1.69.5)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-P7CfFqWKzkJozzF6IoOC6qoI2ONndV8P3ULhGDgMiXPL7xVkWI5haTBSpyrcjBx643tVXspIRsSV/v+Cx+CjGw==}
|
||||
engines: {node: '>=18.14.1', npm: '>=6.14.0'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@astrojs/compiler': 2.3.2
|
||||
'@astrojs/compiler': 2.3.4
|
||||
'@astrojs/internal-helpers': 0.2.1
|
||||
'@astrojs/markdown-remark': 4.0.1
|
||||
'@astrojs/telemetry': 3.0.4
|
||||
@ -1184,8 +1184,8 @@ packages:
|
||||
tsconfck: 3.0.0(typescript@5.3.3)
|
||||
unist-util-visit: 5.0.0
|
||||
vfile: 6.0.1
|
||||
vite: 5.0.9(@types/node@20.10.4)(sass@1.69.5)
|
||||
vitefu: 0.2.5(vite@5.0.9)
|
||||
vite: 5.0.10(@types/node@20.10.4)(sass@1.69.5)
|
||||
vitefu: 0.2.5(vite@5.0.10)
|
||||
which-pm: 2.1.1
|
||||
yargs-parser: 21.1.1
|
||||
zod: 3.22.4
|
||||
@ -1291,7 +1291,7 @@ packages:
|
||||
hasBin: true
|
||||
dependencies:
|
||||
caniuse-lite: 1.0.30001570
|
||||
electron-to-chromium: 1.4.613
|
||||
electron-to-chromium: 1.4.614
|
||||
node-releases: 2.0.14
|
||||
update-browserslist-db: 1.0.13(browserslist@4.22.2)
|
||||
|
||||
@ -1774,8 +1774,8 @@ packages:
|
||||
marked: 4.3.0
|
||||
dev: false
|
||||
|
||||
/electron-to-chromium@1.4.613:
|
||||
resolution: {integrity: sha512-r4x5+FowKG6q+/Wj0W9nidx7QO31BJwmR2uEo+Qh3YLGQ8SbBAFuDFpTxzly/I2gsbrFwBuIjrMp423L3O5U3w==}
|
||||
/electron-to-chromium@1.4.614:
|
||||
resolution: {integrity: sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==}
|
||||
|
||||
/emoji-regex@10.3.0:
|
||||
resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
|
||||
@ -1951,8 +1951,8 @@ packages:
|
||||
svelte: ^4.0.0
|
||||
dependencies:
|
||||
'@floating-ui/dom': 1.5.3
|
||||
apexcharts: 3.44.2
|
||||
flowbite: 2.2.0
|
||||
apexcharts: 3.45.0
|
||||
flowbite: 2.2.1
|
||||
svelte: 4.2.8
|
||||
tailwind-merge: 2.1.0
|
||||
dev: false
|
||||
@ -1964,8 +1964,8 @@ packages:
|
||||
mini-svg-data-uri: 1.4.4
|
||||
dev: false
|
||||
|
||||
/flowbite@2.2.0:
|
||||
resolution: {integrity: sha512-Eq0qWz4a5nlxaGuUcspzpu+8Ny0A7lKEJEKcuPpkdSoF8tWjbKeuVVgKk8/q10ZE9bhXh1GHBXdCsRxu0LZTNQ==}
|
||||
/flowbite@2.2.1:
|
||||
resolution: {integrity: sha512-iiZyBTtriEDRHrqXZgpKHaxl4B2J8HZUP8Yn1RXozUDKszWHDVj4GxQqMMB9AJHRWOgXV/4E/LJZ/zqQgBUhWA==}
|
||||
dependencies:
|
||||
'@popperjs/core': 2.11.8
|
||||
mini-svg-data-uri: 1.4.4
|
||||
@ -3223,13 +3223,13 @@ packages:
|
||||
postcss: 8.4.32
|
||||
postcss-selector-parser: 6.0.13
|
||||
|
||||
/postcss-nesting@12.0.1(postcss@8.4.32):
|
||||
resolution: {integrity: sha512-6LCqCWP9pqwXw/njMvNK0hGY44Fxc4B2EsGbn6xDcxbNRzP8GYoxT7yabVVMLrX3quqOJ9hg2jYMsnkedOf8pA==}
|
||||
/postcss-nesting@12.0.2(postcss@8.4.32):
|
||||
resolution: {integrity: sha512-63PpJHSeNs93S3ZUIyi+7kKx4JqOIEJ6QYtG3x+0qA4J03+4n0iwsyA1GAHyWxsHYljQS4/4ZK1o2sMi70b5wQ==}
|
||||
engines: {node: ^14 || ^16 || >=18}
|
||||
peerDependencies:
|
||||
postcss: ^8.4
|
||||
dependencies:
|
||||
'@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13)
|
||||
'@csstools/selector-specificity': 3.0.1(postcss-selector-parser@6.0.13)
|
||||
postcss: 8.4.32
|
||||
postcss-selector-parser: 6.0.13
|
||||
dev: true
|
||||
@ -3485,8 +3485,8 @@ packages:
|
||||
dependencies:
|
||||
picomatch: 2.3.1
|
||||
|
||||
/regenerator-runtime@0.14.0:
|
||||
resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
|
||||
/regenerator-runtime@0.14.1:
|
||||
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
|
||||
|
||||
/regexparam@2.0.1:
|
||||
resolution: {integrity: sha512-zRgSaYemnNYxUv+/5SeoHI0eJIgTL/A2pUtXUPLHQxUldagouJ9p+K6IbIZ/JiQuCEv2E2B1O11SjVQy3aMCkw==}
|
||||
@ -4290,8 +4290,8 @@ packages:
|
||||
unist-util-stringify-position: 4.0.0
|
||||
vfile-message: 4.0.2
|
||||
|
||||
/vite@5.0.9(@types/node@20.10.4)(sass@1.69.5):
|
||||
resolution: {integrity: sha512-wVqMd5kp28QWGgfYPDfrj771VyHTJ4UDlCteLH7bJDGDEamaz5hV8IX6h1brSGgnnyf9lI2RnzXq/JmD0c2wwg==}
|
||||
/vite@5.0.10(@types/node@20.10.4)(sass@1.69.5):
|
||||
resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
@ -4326,7 +4326,7 @@ packages:
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.3
|
||||
|
||||
/vitefu@0.2.5(vite@5.0.9):
|
||||
/vitefu@0.2.5(vite@5.0.10):
|
||||
resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
|
||||
peerDependencies:
|
||||
vite: ^3.0.0 || ^4.0.0 || ^5.0.0
|
||||
@ -4334,7 +4334,7 @@ packages:
|
||||
vite:
|
||||
optional: true
|
||||
dependencies:
|
||||
vite: 5.0.9(@types/node@20.10.4)(sass@1.69.5)
|
||||
vite: 5.0.10(@types/node@20.10.4)(sass@1.69.5)
|
||||
|
||||
/w3c-keyname@2.2.8:
|
||||
resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
|
||||
|
@ -20,38 +20,34 @@
|
||||
<script lang="ts">
|
||||
import {l} from "../util/util.ts";
|
||||
import {t} from "astro-i18n";
|
||||
import {get} from "svelte/store";
|
||||
|
||||
let username = "";
|
||||
let token = "";
|
||||
let pw = "";
|
||||
|
||||
let error = "";
|
||||
|
||||
async function login() {
|
||||
let {tokenStore} = await import("./repo/repo.ts");
|
||||
if (username === "" || token === "") {
|
||||
token = "";
|
||||
let {tokenStore, authRepo} = await import("./repo/repo.ts");
|
||||
if (username === "" || pw === "") {
|
||||
pw = "";
|
||||
error = t("login.error");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
let res = await fetch(import.meta.env.PUBLIC_API_SERVER + "/data/me", {
|
||||
headers: {
|
||||
"Authorization": "Bearer " + token
|
||||
}
|
||||
}).then(res => res.json());
|
||||
|
||||
if (res.name !== username) {
|
||||
try {
|
||||
let auth = await get(authRepo).login(username, pw);
|
||||
if (auth == undefined) {
|
||||
pw = "";
|
||||
error = t("login.error");
|
||||
token = "";
|
||||
return;
|
||||
}
|
||||
|
||||
tokenStore.set(token);
|
||||
tokenStore.set(auth);
|
||||
window.location.href = l("/dashboard");
|
||||
} catch (e) {
|
||||
} catch (e: any) {
|
||||
pw = "";
|
||||
error = t("login.error");
|
||||
token = "";
|
||||
return;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -61,11 +57,11 @@
|
||||
<div class="ml-2 flex flex-col">
|
||||
<label for="username">{t("login.label.username")}</label>
|
||||
<input type="text" id="username" name="username" placeholder={t("login.placeholder.username")} bind:value={username} />
|
||||
<label for="token">{t("login.label.token")}</label>
|
||||
<input type="password" id="token" name="token" placeholder={t("login.placeholder.token")} bind:value={token} />
|
||||
<label for="password">{t("login.label.password")}</label>
|
||||
<input type="password" id="password" name="password" placeholder={t("login.placeholder.password")} bind:value={pw} />
|
||||
</div>
|
||||
<p class="mt-2">
|
||||
<a class="text-neutral-500 hover:underline" href={l("/token-erstellen")}>{t("login.generateToken")}</a></p>
|
||||
<a class="text-neutral-500 hover:underline" href={l("/token-erstellen")}>{t("login.setPassword")}</a></p>
|
||||
|
||||
{#if error}
|
||||
<p class="mt-2 text-red-500">{error}</p>
|
||||
|
@ -75,8 +75,8 @@
|
||||
|
||||
<style lang="scss">
|
||||
tr {
|
||||
@apply transition-colors cursor-pointer border-b
|
||||
dark:hover:bg-gray-800 hover:bg-gray-300;
|
||||
@apply transition-colors cursor-pointer border-b border-gray-300
|
||||
dark:hover:bg-gray-800 hover:bg-gray-300 dark:border-neutral-700;
|
||||
}
|
||||
|
||||
th {
|
||||
|
@ -20,13 +20,14 @@
|
||||
<script lang="ts">
|
||||
import {t} from "astro-i18n";
|
||||
import type {Player} from "../types/data.ts";
|
||||
import {tokenStore} from "../repo/repo.ts";
|
||||
import {authRepo, tokenStore} from "../repo/repo.ts";
|
||||
import {l} from "../../util/util.ts";
|
||||
import Statistics from "./Statistics.svelte";
|
||||
|
||||
export let user: Player;
|
||||
|
||||
function logout() {
|
||||
async function logout() {
|
||||
await $authRepo.logout()
|
||||
tokenStore.set("")
|
||||
window.location.href = l("/login")
|
||||
}
|
||||
|
@ -17,6 +17,25 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
import {fetchWithToken} from "./repo.ts";
|
||||
|
||||
export class AuthRepo {
|
||||
constructor(private token: string) {
|
||||
}
|
||||
|
||||
public async login(username: string, password: string): Promise<string> {
|
||||
return await fetchWithToken(this.token, "/auth/login", {
|
||||
body: JSON.stringify({
|
||||
username,
|
||||
password
|
||||
}),
|
||||
method: "POST",
|
||||
}).then(value => value.json()).then(value => value.token)
|
||||
}
|
||||
|
||||
public async logout(): Promise<void> {
|
||||
await fetchWithToken(this.token, "/auth/tokens/logout", {
|
||||
method: "POST"
|
||||
});
|
||||
}
|
||||
}
|
@ -27,6 +27,7 @@ import {DataRepo} from "./data.ts";
|
||||
import { AES, enc, format } from "crypto-js";
|
||||
import {SchematicRepo} from "./schem.ts";
|
||||
import {StatsRepo} from "./stats.ts";
|
||||
import {AuthRepo} from "./auth.ts";
|
||||
|
||||
export { EventRepo } from "./event.js"
|
||||
|
||||
@ -52,3 +53,4 @@ export const pageRepo = derived(tokenStore, ($token) => new PageRepo($token))
|
||||
export const dataRepo = derived(tokenStore, ($token) => new DataRepo($token))
|
||||
export const schemRepo = derived(tokenStore, ($token) => new SchematicRepo($token))
|
||||
export const statsRepo = derived(tokenStore, ($token) => new StatsRepo($token))
|
||||
export const authRepo = derived(tokenStore, ($token) => new AuthRepo($token))
|
||||
|
@ -21,6 +21,10 @@ Es sind pro Team **max 6 Kämpfer** zugelassen. Der Ansprechpartner ist der Airs
|
||||
|
||||
Wir würden uns freuen, wenn sich ein Paar Teams anmelden und wünschen viel Spaß bei diesem kleinen Event.
|
||||
|
||||
<fight-table data-event="7" data-group="Gruppe 1"></fight-table>
|
||||
|
||||
<group-table data-event="7" data-group="Gruppe 1"></group-table>
|
||||
|
||||
Viele Grüßen
|
||||
|
||||
SteamwarServerteam
|
||||
|
15
src/content/pages/de/password.md
Normale Datei
15
src/content/pages/de/password.md
Normale Datei
@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Setze dein Passwort zurück
|
||||
description: Ein neues Passwort für dein Konto setzen oder dein Passwort zurücksetzen
|
||||
slug: passwort-setzen
|
||||
---
|
||||
|
||||
Ein Konto auf der Webseite ist immer mit einem Minecraftaccount verknüpft. Daher ist es nicht möglich, ein Passwort zu setzen, wenn du dich noch nicht auf dem Minecraftserver eingeloggt hast. Wenn du dein Passwort vergessen hast, kannst du es zurücksetzen.
|
||||
|
||||
## Passwort erstellen
|
||||
|
||||
Um ein Passwort zu erstellen, musst du dich auf dem Minecraftserver einloggen und `/webpw <passwort>` eingeben. Das Passwort muss mindestens 8 Zeichen lang sein.
|
||||
|
||||
## Passwort zurücksetzen
|
||||
|
||||
Wenn du dein Passwort vergessen hast, kannst du es mit dem selben Befehl, `/webpw <passwort>`, zurücksetzen. Du musst dich dann mit dem neuen Passwort auf der Webseite einloggen.
|
16
src/content/pages/en/password.md
Normale Datei
16
src/content/pages/en/password.md
Normale Datei
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: Setze dein Passwort zurück
|
||||
description: Ein neues Passwort für dein Konto setzen oder dein Passwort zurücksetzen
|
||||
slug: set-password
|
||||
german: true
|
||||
---
|
||||
|
||||
Ein Konto auf der Webseite ist immer mit einem Minecraftaccount verknüpft. Daher ist es nicht möglich, ein Passwort zu setzen, wenn du dich noch nicht auf dem Minecraftserver eingeloggt hast. Wenn du dein Passwort vergessen hast, kannst du es zurücksetzen.
|
||||
|
||||
## Passwort erstellen
|
||||
|
||||
Um ein Passwort zu erstellen, musst du dich auf dem Minecraftserver einloggen und `/webpw <passwort>` eingeben. Das Passwort muss mindestens 8 Zeichen lang sein.
|
||||
|
||||
## Passwort zurücksetzen
|
||||
|
||||
Wenn du dein Passwort vergessen hast, kannst du es mit dem selben Befehl, `/webpw <passwort>`, zurücksetzen. Du musst dich dann mit dem neuen Passwort auf der Webseite einloggen.
|
@ -1,23 +0,0 @@
|
||||
---
|
||||
title: Erstelle einen Token für die Webseite
|
||||
description: Erstelle einen Token für die Webseite
|
||||
german: true
|
||||
slug: create-token
|
||||
---
|
||||
|
||||
Ein Token ist ein Schlüssel, mit dem du dich auf der Webseite als Spieler identifizieren kannst. Dieser wird benötigt, um z.B. deine Schematics anzuzeigen.
|
||||
|
||||
## Token erstellen
|
||||
|
||||
Um einen Token zu erstellen, musst du dich auf dem Minecraftserver einloggen und `/token create <name>` eingeben. Der Name ist frei wählbar und dient nur zur Identifikation. Du kannst auch mehrere Tokens erstellen.
|
||||
Du erhältst dann eine Nachricht, auf der du mit einem Klick den Token in die Zwischenablage kopieren kannst. Dieser Token ist nur einmal sichtbar, bei Verlust musst du einen neuen erstellen.
|
||||
|
||||
## Token verwenden
|
||||
|
||||
Um den Token zu verwenden, kannst du ihn unter dem Menüpunkt `Konto` auf der Webseite eingeben um dich zu identifizieren. Dazu wird dann auch dein Minecraftname benötigt.
|
||||
|
||||
Wenn du erfolgreich mit dem Token eingeloggt wurdest, wirst du auf die Dashboardseite weitergeleitet. Dort kannst du dann deine Schematics und Statistiken sehen.
|
||||
|
||||
## Token löschen
|
||||
|
||||
Um einen Token zu löschen, musst du auf dem Minecraftserver `/token` eingeben. Dadurch wird eine Liste mit allen deinen Tokens angezeigt. Mit einem Klick auf den Token kannst du ihn löschen.
|
@ -1,79 +0,0 @@
|
||||
---
|
||||
translationKey: ws
|
||||
|
||||
---
|
||||
|
||||
# WarShip-Ruleset
|
||||
|
||||
## Definitionen
|
||||
|
||||
### WarShip
|
||||
|
||||
Ein WarShip ist eine bewaffnete, schwimmende Struktur in Minecraft mit der optischen Erscheinung eines Schiffes. Der Schwimmkörper muss dabei einen Großteil des WarShips ausmachen. Ein WarShip kann optional ein Design aufweisen, das andere im Wasser schwimmende/befindliche Dinge oder Tiere repräsentiert, sofern das gewählte Design gänzlich implementiert wird. Jedes WarShip muss beidseitig gleich bewaffnet sein.
|
||||
|
||||
### Projektil
|
||||
|
||||
Ein Projektil ist ein TNT, welches im gezündeten Zustand in die gegnerische Hälfte wechselt. Projektile müssen auf der dem Gegner zugewandten Schiffsseite gezündet werden. Unter Wasser gezündete Projektile müssen innerhalb des Technikbereiches, oberhalb der Wasserlinie gezündete Projektile innerhalb des Ausfahrbereichs gezündet werden.
|
||||
|
||||
### Kanone
|
||||
|
||||
Eine Kanone ist eine Vorrichtung zum Beschleunigen von Projektilen. Eine Kanone darf maximal 2 Projektile verschießen. Eine Kanone muss manuell beladen werden. Eine Kanone darf maximal alle 2s schießen. Es dürfen maximal 32 Kanonen pro Seite verbaut werden. Kanonen sind der einzige Ort, an dem Wasser verbaut werden darf, wenn es keinen anderen Zweck hat, als diese vor selbst verursachten Schaden zu bewahren und TNT zu transportieren.
|
||||
|
||||
## Maße
|
||||
|
||||
- Länge: 230 Block
|
||||
- Breite: 35 Block (+ 4 Block Design pro Seite)
|
||||
- Höhe: 30 Block + 20 Block Design
|
||||
- Tiefe: Bis zu 8 Block unter dem Meeresspiegel
|
||||
|
||||
Bei jedem WarShip müssen sich mindestens 10% der absoluten Blöcke (45.000 Blöcke) über der Wasserlinie befinden.
|
||||
|
||||
Im Designbereich dürfen sich keine kampfrelevanten (Kanonen, Schleim/Honigfahrzeuge, Schilde) Techniken befinden. Eine Durchpanzerung des Designbereiches ist nicht zulässig. Der Designbereich ist ausschließlich für einzelne überstehende Designobjekte wie beispielsweise Kanonenrohre, Segel, Banner oder Bullaugen da.
|
||||
|
||||
## Blöcke
|
||||
|
||||
Es dürfen nur Blöcke mit einem TNT-Widerstand von maximal 6 verbaut werden. Vor und im Kampf dürfen sich in allen Blöcken mit Inventar nur Blumen, Honigflaschen und Pferderüstungen befinden, in Kisten und Fässer darf auch TNT sein. Es dürfen maximal 32 Werfer pro Seite verbaut werden. In Werfern dürfen sich 2×64 Feuerbälle oder 2×64 Pfeile (ohne Effekte) befinden.
|
||||
|
||||
Das Verbauen von unsichtbaren Mauern oder anderen unsichtbaren Blöcken mit Hitbox ist verboten.
|
||||
Ebenso verboten sind: Monsterspawner, Eis, Netherportalblock, Alle Silberfischsteine.
|
||||
|
||||
Das Missbrauchen von unverschiebbaren Blöcken als Panzerung ist verboten.
|
||||
Wasser darf nicht zum Schutz des eigenen WarShips missbraucht werden.
|
||||
|
||||
## Design
|
||||
|
||||
Größere Hohlräume im Rumpf zum Ausweichen feindlicher Schüsse sind nicht gestattet, auch nicht während des Kampfes. Jedes WarShip braucht eine Flagge.
|
||||
|
||||
Ein WarShip benötigt einen fortbewegungsfähigen Rumpf mit entsprechendem Antrieb (z.B. Segel, Schiffsschrauben).
|
||||
Der Rumpf muss mindestens einen Block tief unter Wasser sowie mindestens 5 Block über dem Meeresspiegel sein (dies gilt auch während des Kampfes relativ zur Wasseroberfläche). Der Rumpf darf max. 16 Block hoch sein.
|
||||
|
||||
Jedes WarShip benötigt eine Brücke, welche die folgenden Kriterien erfüllt:
|
||||
|
||||
- Min. 50 begehbare Blöcke
|
||||
- Min. 2 Block hoch im gesamten Brückenraum
|
||||
- Ansteuerung von min. zwei zum Gegner gewandten Scheinwerfer
|
||||
- Optische Brückeneinrichtung
|
||||
|
||||
## Anti-Lag-Regeln
|
||||
|
||||
Clocks müssen sich mit Ende ihres Einsatzzweckes selbst abschalten.
|
||||
Sämtliche Redstonetechnik zum Schutz des eigenen WarShips muss ihre Aktivität vor dem Verteilen der Kits eingestellt haben.
|
||||
Raketen und Flugmaschinen
|
||||
|
||||
Ein WarShip darf sich maximal 12 Block vom Technikbereich an weit ausfahren, davon ausgenommen sind Raketen und Flugmaschinen. Raketen und Flugmaschinen dürfen sich im Flug nicht in mehrere Schleim/Honigfahrzeuge aufteilen.
|
||||
|
||||
Flugmaschinen sind Schleim/Honigfahrzeuge, welche die Ausfahrmaße des WarShips verlassen und kein TNT zum Gegner transportieren. Flugmaschinen, welche TNT von Raketen zünden oder Flugmaschinen und/oder Raketen stoppen werden bei der Bestimmung der Anzahl nicht gezählt. Es dürfen maximal 8 Flugmaschinen pro Seite verbaut werden.
|
||||
|
||||
Eine Rakete ist ein Schleim/Honigfahrzeug, das TNT zum Gegner transportiert. Es dürfen maximal 12 Raketen pro Seite verbaut werden. Ein Raketenmagazin ist in der Lage, mehrere Raketen auf der nahezu gleichen Flugbahn zum Gegner zu schicken. Ein Raketenmagazin wird wie 2 Raketen gewertet.
|
||||
|
||||
Es dürften maximal 1000 der vorverbauten Slime- + Honig- + TNT-Blöcke das WarShip in Flugmaschinen und Raketen verlassen.
|
||||
|
||||
## Kampfablauf
|
||||
|
||||
60 Sekunden vor Kampfbeginn können Flugmaschinen und Raketen das eigene WarShip verlassen. Mit Kampfbeginn dürfen Blöcke abgebaut und platziert werden; TNT-Schaden wird aktiviert. 10 Minuten nach Kampfbeginn wird das Entern des feindlichen WarShips erlaubt. Spieler mit einem Kit, welches TNT beladen kann und nicht dem Kapitän zugeordnet ist, dürfen erst 15 Minuten nach Kampfbeginn entern.
|
||||
|
||||
Der Kampf endet, wenn:
|
||||
|
||||
- Der Kampf länger als 20 Minuten dauert
|
||||
- Der Anführer eines Teams tot ist
|
||||
- Ein WarShip zu 7% beschädigt wurde
|
2
src/env.d.ts
vendored
2
src/env.d.ts
vendored
@ -31,7 +31,7 @@ type SecondaryLocale = "de"
|
||||
type Locale = PrimaryLocale | SecondaryLocale
|
||||
type RouteParameters = {"/dashboard":undefined;"/downloads":undefined;"/":undefined;"/login":undefined;"/[...slug]":{"slug":unknown;};"/admin":undefined;"/announcements":undefined;"/announcements/[...slug]":{"slug":unknown;};"/announcements/tags/[tag]":{"tag":unknown;};"/help":undefined;"/help/[...slug]":{"slug":unknown;};"/ranked/[...gamemode]":{"gamemode":unknown;};"/rules":undefined;"/rules/[mode]":{"mode":unknown;};"/stats/fight":undefined;}
|
||||
type Route = keyof RouteParameters
|
||||
type TranslationVariables = {"dashboard.page":object|undefined;"dashboard.title":{"name"?:unknown;}|undefined;"dashboard.rank":{"rank"?:unknown;}|undefined;"dashboard.permissions":object|undefined;"dashboard.buttons.logout":object|undefined;"dashboard.buttons.admin":object|undefined;"dashboard.schematic.upload":object|undefined;"dashboard.schematic.home":object|undefined;"dashboard.schematic.dir":object|undefined;"dashboard.schematic.head.type":object|undefined;"dashboard.schematic.head.name":object|undefined;"dashboard.schematic.head.owner":object|undefined;"dashboard.schematic.head.updated":object|undefined;"dashboard.schematic.head.replaceColor":object|undefined;"dashboard.schematic.head.allowReplay":object|undefined;"dashboard.schematic.info.path":{"path"?:unknown;}|undefined;"dashboard.schematic.info.replaceColor":object|undefined;"dashboard.schematic.info.allowReplay":object|undefined;"dashboard.schematic.info.type":{"type"?:unknown;}|undefined;"dashboard.schematic.info.updated":{"updated"?:unknown;}|undefined;"dashboard.schematic.info.item":{"item"?:unknown;}|undefined;"dashboard.schematic.info.members":{"members"?:unknown;}|undefined;"dashboard.schematic.info.btn.download":object|undefined;"dashboard.schematic.info.btn.close":object|undefined;"login.page":object|undefined;"login.title":object|undefined;"login.placeholder.username":object|undefined;"login.placeholder.token":object|undefined;"login.label.username":object|undefined;"login.label.token":object|undefined;"login.generateToken":object|undefined;"login.submit":object|undefined;"login.error":object|undefined;"blog.title":object|undefined;"page":object|undefined;"wg.description":object|undefined;"as.description":object|undefined;"ws.description":object|undefined;"mwg.description":object|undefined;"rules":object|undefined;"announcements":object|undefined;"ranking":object|undefined;"title":{"mode"?:unknown;}|undefined;"stats.title":object|undefined;"navbar.title":object|undefined;"navbar.logo.alt":object|undefined;"navbar.links.home.title":object|undefined;"navbar.links.home.announcements":object|undefined;"navbar.links.home.about":object|undefined;"navbar.links.home.downloads":object|undefined;"navbar.links.home.faq":object|undefined;"navbar.links.rules.title":object|undefined;"navbar.links.rules.gamemode":object|undefined;"navbar.links.rules.wg":object|undefined;"navbar.links.rules.mwg":object|undefined;"navbar.links.rules.ws":object|undefined;"navbar.links.rules.as":object|undefined;"navbar.links.rules.qg":object|undefined;"navbar.links.rules.rotating":object|undefined;"navbar.links.rules.megawg":object|undefined;"navbar.links.rules.micro":object|undefined;"navbar.links.rules.sf":object|undefined;"navbar.links.rules.general":object|undefined;"navbar.links.rules.coc":object|undefined;"navbar.links.help.title":object|undefined;"navbar.links.help.center":object|undefined;"navbar.links.help.docs":object|undefined;"navbar.links.account":object|undefined;"status.loading":object|undefined;"status.status":object|undefined;"status.online":object|undefined;"status.offline":object|undefined;"status.players":{"count"?:unknown;}|undefined;"status.version":{"version"?:unknown;}|undefined;"home.page":object|undefined;"home.title.first":object|undefined;"home.title.second":object|undefined;"home.subtitle.1":object|undefined;"home.subtitle.2":object|undefined;"home.subtitle.3":object|undefined;"home.join":object|undefined;"home.benefits.historic.title":object|undefined;"home.benefits.historic.description.1":object|undefined;"home.benefits.historic.description.2":object|undefined;"home.benefits.server.title":object|undefined;"home.benefits.server.description":object|undefined;"home.benefits.events.title":object|undefined;"home.benefits.events.description.1":object|undefined;"home.benefits.events.description.2":object|undefined;"home.prefix.Admin":object|undefined;"home.prefix.Dev":object|undefined;"home.prefix.Mod":object|undefined;"home.prefix.Sup":object|undefined;"home.prefix.Arch":object|undefined;"footer.imprint":object|undefined;"footer.privacy":object|undefined;"footer.coc":object|undefined;"footer.stats":object|undefined;"footer.gamemodes":object|undefined;"footer.announcements":object|undefined;"footer.join":object|undefined;"wg.title":object|undefined;"mwg.title":object|undefined;"ws.title":object|undefined;"as.title":object|undefined;"qg.title":object|undefined;"ranking.heading":{"mode"?:unknown;}|undefined;"announcements.table.time":object|undefined;"announcements.table.blue":object|undefined;"announcements.table.red":object|undefined;"announcements.table.team":object|undefined;"announcements.table.points":object|undefined;"elo.place":object|undefined;"elo.name":object|undefined;"elo.elo":object|undefined;"elo.title":{"mode"?:unknown;}|undefined;"warning.title":object|undefined;"warning.text":object|undefined;}
|
||||
type TranslationVariables = {"dashboard.page":object|undefined;"dashboard.title":{"name"?:unknown;}|undefined;"dashboard.rank":{"rank"?:unknown;}|undefined;"dashboard.permissions":object|undefined;"dashboard.buttons.logout":object|undefined;"dashboard.buttons.admin":object|undefined;"dashboard.schematic.upload":object|undefined;"dashboard.schematic.home":object|undefined;"dashboard.schematic.dir":object|undefined;"dashboard.schematic.head.type":object|undefined;"dashboard.schematic.head.name":object|undefined;"dashboard.schematic.head.owner":object|undefined;"dashboard.schematic.head.updated":object|undefined;"dashboard.schematic.head.replaceColor":object|undefined;"dashboard.schematic.head.allowReplay":object|undefined;"dashboard.schematic.info.path":{"path"?:unknown;}|undefined;"dashboard.schematic.info.replaceColor":object|undefined;"dashboard.schematic.info.allowReplay":object|undefined;"dashboard.schematic.info.type":{"type"?:unknown;}|undefined;"dashboard.schematic.info.updated":{"updated"?:unknown;}|undefined;"dashboard.schematic.info.item":{"item"?:unknown;}|undefined;"dashboard.schematic.info.members":{"members"?:unknown;}|undefined;"dashboard.schematic.info.btn.download":object|undefined;"dashboard.schematic.info.btn.close":object|undefined;"login.page":object|undefined;"login.title":object|undefined;"login.placeholder.username":object|undefined;"login.placeholder.token":object|undefined;"login.label.username":object|undefined;"login.label.token":object|undefined;"login.generateToken":object|undefined;"login.submit":object|undefined;"login.error":object|undefined;"blog.title":object|undefined;"page":object|undefined;"wg.description":object|undefined;"as.description":object|undefined;"ws.description":object|undefined;"mwg.description":object|undefined;"rules":object|undefined;"announcements":object|undefined;"ranking":object|undefined;"title":{"mode"?:unknown;}|undefined;"stats.title":object|undefined;"navbar.title":object|undefined;"navbar.logo.alt":object|undefined;"navbar.links.home.title":object|undefined;"navbar.links.home.announcements":object|undefined;"navbar.links.home.about":object|undefined;"navbar.links.home.downloads":object|undefined;"navbar.links.home.faq":object|undefined;"navbar.links.rules.title":object|undefined;"navbar.links.rules.gamemode":object|undefined;"navbar.links.rules.wg":object|undefined;"navbar.links.rules.mwg":object|undefined;"navbar.links.rules.ws":object|undefined;"navbar.links.rules.as":object|undefined;"navbar.links.rules.qg":object|undefined;"navbar.links.rules.rotating":object|undefined;"navbar.links.rules.megawg":object|undefined;"navbar.links.rules.micro":object|undefined;"navbar.links.rules.sf":object|undefined;"navbar.links.rules.general":object|undefined;"navbar.links.rules.coc":object|undefined;"navbar.links.help.title":object|undefined;"navbar.links.help.center":object|undefined;"navbar.links.help.docs":object|undefined;"navbar.links.account":object|undefined;"status.loading":object|undefined;"status.status":object|undefined;"status.online":object|undefined;"status.offline":object|undefined;"status.players":{"count"?:unknown;}|undefined;"status.version":{"version"?:unknown;}|undefined;"home.page":object|undefined;"home.title.first":object|undefined;"home.title.second":object|undefined;"home.subtitle.1":object|undefined;"home.subtitle.2":object|undefined;"home.subtitle.3":object|undefined;"home.join":object|undefined;"home.benefits.historic.title":object|undefined;"home.benefits.historic.description.1":object|undefined;"home.benefits.historic.description.2":object|undefined;"home.benefits.server.title":object|undefined;"home.benefits.server.description":object|undefined;"home.benefits.events.title":object|undefined;"home.benefits.events.description.1":object|undefined;"home.benefits.events.description.2":object|undefined;"home.benefits.read":object|undefined;"home.prefix.Admin":object|undefined;"home.prefix.Dev":object|undefined;"home.prefix.Mod":object|undefined;"home.prefix.Sup":object|undefined;"home.prefix.Arch":object|undefined;"footer.imprint":object|undefined;"footer.privacy":object|undefined;"footer.coc":object|undefined;"footer.stats":object|undefined;"footer.gamemodes":object|undefined;"footer.announcements":object|undefined;"footer.join":object|undefined;"wg.title":object|undefined;"mwg.title":object|undefined;"ws.title":object|undefined;"as.title":object|undefined;"qg.title":object|undefined;"ranking.heading":{"mode"?:unknown;}|undefined;"announcements.table.time":object|undefined;"announcements.table.blue":object|undefined;"announcements.table.red":object|undefined;"announcements.table.team":object|undefined;"announcements.table.points":object|undefined;"elo.place":object|undefined;"elo.name":object|undefined;"elo.elo":object|undefined;"elo.title":{"mode"?:unknown;}|undefined;"warning.title":object|undefined;"warning.text":object|undefined;}
|
||||
type Translation = keyof TranslationVariables
|
||||
type Environment = "none"|"node"|"browser"
|
||||
declare module "astro-i18n" {
|
||||
|
@ -3,14 +3,14 @@
|
||||
"title": "Login",
|
||||
"placeholder": {
|
||||
"username": "Nutzername...",
|
||||
"token": "***************"
|
||||
"password": "***************"
|
||||
},
|
||||
"label": {
|
||||
"username": "Nutzername",
|
||||
"token": "Token"
|
||||
"password": "Passwort"
|
||||
},
|
||||
"generateToken": "Wie generiere ich ein Token?",
|
||||
"setPassword": "Wie setzte ich mein Passwort?",
|
||||
"submit": "Login",
|
||||
"error": "Falscher Nutzername oder falscher Token"
|
||||
"error": "Falscher Nutzername oder falsches Passwort"
|
||||
}
|
||||
}
|
@ -4,14 +4,14 @@
|
||||
"title": "Login",
|
||||
"placeholder": {
|
||||
"username": "Username...",
|
||||
"token": "***************"
|
||||
"password": "***************"
|
||||
},
|
||||
"label": {
|
||||
"username": "Username",
|
||||
"token": "Token"
|
||||
"password": "Password"
|
||||
},
|
||||
"generateToken": "How to generate Token",
|
||||
"setPassword": "How to set a Password",
|
||||
"submit": "Login",
|
||||
"error": "Invalid username or token"
|
||||
"error": "Invalid username or password"
|
||||
}
|
||||
}
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
import '../styles/tailwind.css'
|
||||
import icon from '../images/logo.png';
|
||||
import {getImage} from "astro:assets";
|
||||
import {astroI18n} from "astro-i18n";
|
||||
|
@ -158,4 +158,4 @@ const { title } = Astro.props;
|
||||
.match {
|
||||
width: min(100vw, 70em);
|
||||
}
|
||||
</style>
|
||||
</style>
|
@ -5,4 +5,4 @@ import Basic from "../../layouts/Basic.astro";
|
||||
|
||||
<Basic>
|
||||
<App client:only="svelte" />
|
||||
</Basic>
|
||||
</Basic>
|
@ -136,4 +136,4 @@ const { Content } = await post.render();
|
||||
@apply w-fit p-4 rounded-md border-2 border-gray-600 my-4;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</style>
|
@ -60,4 +60,4 @@ const { posts, tag } = Astro.props;
|
||||
{index !== posts.length - 1 && <hr/>}
|
||||
</div>
|
||||
))}
|
||||
</PageLayout>
|
||||
</PageLayout>
|
@ -25,48 +25,16 @@ const { Content } = await page.render();
|
||||
|
||||
<style is:global>
|
||||
article {
|
||||
width: clamp(75%, 25rem, 100vw);
|
||||
@apply mx-auto bg-gray-100 px-4 py-8 rounded-b-md shadow-md pt-40 sm:pt-28 md:pt-14
|
||||
dark:text-white dark:bg-neutral-900;
|
||||
|
||||
p {
|
||||
@apply my-4 leading-7;
|
||||
>* {
|
||||
all: revert;
|
||||
}
|
||||
|
||||
h1 {
|
||||
@apply text-4xl font-bold mt-4 text-center;
|
||||
}
|
||||
|
||||
h2 {
|
||||
@apply text-3xl font-bold mt-4;
|
||||
}
|
||||
|
||||
h3 {
|
||||
@apply text-2xl font-bold mt-4;
|
||||
}
|
||||
|
||||
h4 {
|
||||
@apply text-xl font-bold mt-4;
|
||||
}
|
||||
|
||||
a {
|
||||
@apply text-blue-500 hover:text-blue-700;
|
||||
}
|
||||
|
||||
ol>li, ul>li {
|
||||
@apply ml-4;
|
||||
}
|
||||
|
||||
ol {
|
||||
@apply list-decimal;
|
||||
}
|
||||
|
||||
ul {
|
||||
@apply list-disc;
|
||||
code {
|
||||
@apply dark:text-neutral-400 text-neutral-800;
|
||||
}
|
||||
|
||||
pre.astro-code {
|
||||
@apply w-fit p-4 rounded-md border-2 border-gray-600 my-4;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</style>
|
@ -7,6 +7,7 @@ import {CaretRight, Archive, Rocket, Bell} from "@astropub/icons"
|
||||
import {t} from "astro-i18n";
|
||||
import {l} from "../util/util"
|
||||
import PlayerCount from "../components/PlayerCount.svelte";
|
||||
import "../../public/fonts/barlow-condensed/barlow-condensed.css"
|
||||
|
||||
const teamMember = await fetch("http://localhost:1337/data/team").then(value => value.json())
|
||||
|
||||
@ -37,7 +38,6 @@ function mapMap<T, K, J>(i: Map<T, K>, fn: (key: T, value: K) => J): J[] {
|
||||
---
|
||||
|
||||
<NavbarLayout title={t("home.page")} description="SteamWar.de Homepage">
|
||||
<link rel="stylesheet" href="/fonts/barlow-condensed/barlow-condensed.css" slot="head" />
|
||||
<div class="w-full h-screen relative mb-4">
|
||||
<Image src={localBau} alt="Bau" width="1920" height="1080" densities={[1.5, 2, 3, 4]} class="w-full object-cover rounded-b-2xl shadow-2xl dark:brightness-75" style="height: calc(100vh + 1rem)" draggable="false" />
|
||||
<drop-in class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 flex flex-col items-center">
|
||||
@ -146,10 +146,6 @@ function mapMap<T, K, J>(i: Map<T, K>, fn: (key: T, value: K) => J): J[] {
|
||||
</NavbarLayout>
|
||||
|
||||
<style>
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
text-carousel{
|
||||
>* {
|
||||
@apply absolute top-0 left-0 w-full text-xl sm:text-4xl italic text-white text-center opacity-0;
|
||||
@ -159,7 +155,7 @@ function mapMap<T, K, J>(i: Map<T, K>, fn: (key: T, value: K) => J): J[] {
|
||||
}
|
||||
|
||||
.barlow {
|
||||
font-family: Barlow Condensed;
|
||||
font-family: Barlow Condensed, serif;
|
||||
}
|
||||
|
||||
.card {
|
||||
|
@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { l as proxyL } from 'astro-i18n'
|
||||
import { l as proxyL, t as proxyT } from 'astro-i18n'
|
||||
|
||||
const locales = ["de"];
|
||||
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren