Add tailwind and types to frontend
All checks were successful
/ build-bot (push) Successful in 19s

This commit is contained in:
Marsn3 2025-02-27 15:10:49 +01:00
parent 125eade964
commit 6bf7c956fd
8 changed files with 437 additions and 29 deletions

View file

@ -15,7 +15,9 @@
"format": "prettier --write src/"
},
"dependencies": {
"@tailwindcss/vite": "^4.0.9",
"pocketbase": "^0.25.1",
"tailwindcss": "^4.0.9",
"vue": "^3.5.13"
},
"devDependencies": {

View file

@ -8,9 +8,15 @@ importers:
.:
dependencies:
'@tailwindcss/vite':
specifier: ^4.0.9
version: 4.0.9(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1))
pocketbase:
specifier: ^0.25.1
version: 0.25.1
tailwindcss:
specifier: ^4.0.9
version: 4.0.9
vue:
specifier: ^3.5.13
version: 3.5.13(typescript@5.7.3)
@ -23,7 +29,7 @@ importers:
version: 22.13.1
'@vitejs/plugin-vue':
specifier: ^5.2.1
version: 5.2.1(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2))(vue@3.5.13(typescript@5.7.3))
version: 5.2.1(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1))(vue@3.5.13(typescript@5.7.3))
'@vue/eslint-config-prettier':
specifier: ^10.1.0
version: 10.2.0(eslint@9.20.1(jiti@2.4.2))(prettier@3.5.0)
@ -59,10 +65,10 @@ importers:
version: 5.7.3
vite:
specifier: ^6.0.11
version: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)
version: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)
vite-plugin-vue-devtools:
specifier: ^7.7.0
version: 7.7.2(rollup@4.34.6)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2))(vue@3.5.13(typescript@5.7.3))
version: 7.7.2(rollup@4.34.6)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1))(vue@3.5.13(typescript@5.7.3))
vue-tsc:
specifier: ^2.2.0
version: 2.2.0(typescript@5.7.3)
@ -608,6 +614,84 @@ packages:
resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==}
engines: {node: '>=18'}
'@tailwindcss/node@4.0.9':
resolution: {integrity: sha512-tOJvdI7XfJbARYhxX+0RArAhmuDcczTC46DGCEziqxzzbIaPnfYaIyRT31n4u8lROrsO7Q6u/K9bmQHL2uL1bQ==}
'@tailwindcss/oxide-android-arm64@4.0.9':
resolution: {integrity: sha512-YBgy6+2flE/8dbtrdotVInhMVIxnHJPbAwa7U1gX4l2ThUIaPUp18LjB9wEH8wAGMBZUb//SzLtdXXNBHPUl6Q==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [android]
'@tailwindcss/oxide-darwin-arm64@4.0.9':
resolution: {integrity: sha512-pWdl4J2dIHXALgy2jVkwKBmtEb73kqIfMpYmcgESr7oPQ+lbcQ4+tlPeVXaSAmang+vglAfFpXQCOvs/aGSqlw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
'@tailwindcss/oxide-darwin-x64@4.0.9':
resolution: {integrity: sha512-4Dq3lKp0/C7vrRSkNPtBGVebEyWt9QPPlQctxJ0H3MDyiQYvzVYf8jKow7h5QkWNe8hbatEqljMj/Y0M+ERYJg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
'@tailwindcss/oxide-freebsd-x64@4.0.9':
resolution: {integrity: sha512-k7U1RwRODta8x0uealtVt3RoWAWqA+D5FAOsvVGpYoI6ObgmnzqWW6pnVwz70tL8UZ/QXjeMyiICXyjzB6OGtQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [freebsd]
'@tailwindcss/oxide-linux-arm-gnueabihf@4.0.9':
resolution: {integrity: sha512-NDDjVweHz2zo4j+oS8y3KwKL5wGCZoXGA9ruJM982uVJLdsF8/1AeKvUwKRlMBpxHt1EdWJSAh8a0Mfhl28GlQ==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
'@tailwindcss/oxide-linux-arm64-gnu@4.0.9':
resolution: {integrity: sha512-jk90UZ0jzJl3Dy1BhuFfRZ2KP9wVKMXPjmCtY4U6fF2LvrjP5gWFJj5VHzfzHonJexjrGe1lMzgtjriuZkxagg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
'@tailwindcss/oxide-linux-arm64-musl@4.0.9':
resolution: {integrity: sha512-3eMjyTC6HBxh9nRgOHzrc96PYh1/jWOwHZ3Kk0JN0Kl25BJ80Lj9HEvvwVDNTgPg154LdICwuFLuhfgH9DULmg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
'@tailwindcss/oxide-linux-x64-gnu@4.0.9':
resolution: {integrity: sha512-v0D8WqI/c3WpWH1kq/HP0J899ATLdGZmENa2/emmNjubT0sWtEke9W9+wXeEoACuGAhF9i3PO5MeyditpDCiWQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
'@tailwindcss/oxide-linux-x64-musl@4.0.9':
resolution: {integrity: sha512-Kvp0TCkfeXyeehqLJr7otsc4hd/BUPfcIGrQiwsTVCfaMfjQZCG7DjI+9/QqPZha8YapLA9UoIcUILRYO7NE1Q==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
'@tailwindcss/oxide-win32-arm64-msvc@4.0.9':
resolution: {integrity: sha512-m3+60T/7YvWekajNq/eexjhV8z10rswcz4BC9bioJ7YaN+7K8W2AmLmG0B79H14m6UHE571qB0XsPus4n0QVgQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
'@tailwindcss/oxide-win32-x64-msvc@4.0.9':
resolution: {integrity: sha512-dpc05mSlqkwVNOUjGu/ZXd5U1XNch1kHFJ4/cHkZFvaW1RzbHmRt24gvM8/HC6IirMxNarzVw4IXVtvrOoZtxA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
'@tailwindcss/oxide@4.0.9':
resolution: {integrity: sha512-eLizHmXFqHswJONwfqi/WZjtmWZpIalpvMlNhTM99/bkHtUs6IqgI1XQ0/W5eO2HiRQcIlXUogI2ycvKhVLNcA==}
engines: {node: '>= 10'}
'@tailwindcss/vite@4.0.9':
resolution: {integrity: sha512-BIKJO+hwdIsN7V6I7SziMZIVHWWMsV/uCQKYEbeiGRDRld+TkqyRRl9+dQ0MCXbhcVr+D9T/qX2E84kT7V281g==}
peerDependencies:
vite: ^5.2.0 || ^6
'@tsconfig/node22@22.0.0':
resolution: {integrity: sha512-twLQ77zevtxobBOD4ToAtVmuYrpeYUh3qh+TEp+08IWhpsrIflVHqQ1F1CiPxQGL7doCdBIOOCF+1Tm833faNg==}
@ -903,9 +987,18 @@ packages:
resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
engines: {node: '>=12'}
detect-libc@1.0.3:
resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
engines: {node: '>=0.10'}
hasBin: true
electron-to-chromium@1.5.97:
resolution: {integrity: sha512-HKLtaH02augM7ZOdYRuO19rWDeY+QSJ1VxnXFa/XDFLf07HvM90pALIJFgrO+UVaajI3+aJMMpojoUTLZyQ7JQ==}
enhanced-resolve@5.18.1:
resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
engines: {node: '>=10.13.0'}
entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
@ -1227,6 +1320,70 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
lightningcss-darwin-arm64@1.29.1:
resolution: {integrity: sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [darwin]
lightningcss-darwin-x64@1.29.1:
resolution: {integrity: sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [darwin]
lightningcss-freebsd-x64@1.29.1:
resolution: {integrity: sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [freebsd]
lightningcss-linux-arm-gnueabihf@1.29.1:
resolution: {integrity: sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==}
engines: {node: '>= 12.0.0'}
cpu: [arm]
os: [linux]
lightningcss-linux-arm64-gnu@1.29.1:
resolution: {integrity: sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
lightningcss-linux-arm64-musl@1.29.1:
resolution: {integrity: sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
lightningcss-linux-x64-gnu@1.29.1:
resolution: {integrity: sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
lightningcss-linux-x64-musl@1.29.1:
resolution: {integrity: sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
lightningcss-win32-arm64-msvc@1.29.1:
resolution: {integrity: sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [win32]
lightningcss-win32-x64-msvc@1.29.1:
resolution: {integrity: sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [win32]
lightningcss@1.29.1:
resolution: {integrity: sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==}
engines: {node: '>= 12.0.0'}
locate-path@6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
@ -1495,6 +1652,13 @@ packages:
resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==}
engines: {node: ^14.18.0 || >=16.0.0}
tailwindcss@4.0.9:
resolution: {integrity: sha512-12laZu+fv1ONDRoNR9ipTOpUD7RN9essRVkX36sjxuRUInpN7hIiHN4lBd/SIFjbISvnXzp8h/hXzmU8SQQYhw==}
tapable@2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
@ -2132,6 +2296,67 @@ snapshots:
'@sindresorhus/merge-streams@4.0.0': {}
'@tailwindcss/node@4.0.9':
dependencies:
enhanced-resolve: 5.18.1
jiti: 2.4.2
tailwindcss: 4.0.9
'@tailwindcss/oxide-android-arm64@4.0.9':
optional: true
'@tailwindcss/oxide-darwin-arm64@4.0.9':
optional: true
'@tailwindcss/oxide-darwin-x64@4.0.9':
optional: true
'@tailwindcss/oxide-freebsd-x64@4.0.9':
optional: true
'@tailwindcss/oxide-linux-arm-gnueabihf@4.0.9':
optional: true
'@tailwindcss/oxide-linux-arm64-gnu@4.0.9':
optional: true
'@tailwindcss/oxide-linux-arm64-musl@4.0.9':
optional: true
'@tailwindcss/oxide-linux-x64-gnu@4.0.9':
optional: true
'@tailwindcss/oxide-linux-x64-musl@4.0.9':
optional: true
'@tailwindcss/oxide-win32-arm64-msvc@4.0.9':
optional: true
'@tailwindcss/oxide-win32-x64-msvc@4.0.9':
optional: true
'@tailwindcss/oxide@4.0.9':
optionalDependencies:
'@tailwindcss/oxide-android-arm64': 4.0.9
'@tailwindcss/oxide-darwin-arm64': 4.0.9
'@tailwindcss/oxide-darwin-x64': 4.0.9
'@tailwindcss/oxide-freebsd-x64': 4.0.9
'@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.9
'@tailwindcss/oxide-linux-arm64-gnu': 4.0.9
'@tailwindcss/oxide-linux-arm64-musl': 4.0.9
'@tailwindcss/oxide-linux-x64-gnu': 4.0.9
'@tailwindcss/oxide-linux-x64-musl': 4.0.9
'@tailwindcss/oxide-win32-arm64-msvc': 4.0.9
'@tailwindcss/oxide-win32-x64-msvc': 4.0.9
'@tailwindcss/vite@4.0.9(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1))':
dependencies:
'@tailwindcss/node': 4.0.9
'@tailwindcss/oxide': 4.0.9
lightningcss: 1.29.1
tailwindcss: 4.0.9
vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)
'@tsconfig/node22@22.0.0': {}
'@types/estree@1.0.6': {}
@ -2221,9 +2446,9 @@ snapshots:
'@typescript-eslint/types': 8.24.0
eslint-visitor-keys: 4.2.0
'@vitejs/plugin-vue@5.2.1(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2))(vue@3.5.13(typescript@5.7.3))':
'@vitejs/plugin-vue@5.2.1(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1))(vue@3.5.13(typescript@5.7.3))':
dependencies:
vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)
vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)
vue: 3.5.13(typescript@5.7.3)
'@volar/language-core@2.4.11':
@ -2303,14 +2528,14 @@ snapshots:
de-indent: 1.0.2
he: 1.2.0
'@vue/devtools-core@7.7.2(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2))(vue@3.5.13(typescript@5.7.3))':
'@vue/devtools-core@7.7.2(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1))(vue@3.5.13(typescript@5.7.3))':
dependencies:
'@vue/devtools-kit': 7.7.2
'@vue/devtools-shared': 7.7.2
mitt: 3.0.1
nanoid: 5.0.9
pathe: 2.0.3
vite-hot-client: 0.2.4(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2))
vite-hot-client: 0.2.4(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1))
vue: 3.5.13(typescript@5.7.3)
transitivePeerDependencies:
- vite
@ -2496,8 +2721,15 @@ snapshots:
define-lazy-prop@3.0.0: {}
detect-libc@1.0.3: {}
electron-to-chromium@1.5.97: {}
enhanced-resolve@5.18.1:
dependencies:
graceful-fs: 4.2.11
tapable: 2.2.1
entities@4.5.0: {}
error-stack-parser-es@0.1.5: {}
@ -2829,6 +3061,51 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
lightningcss-darwin-arm64@1.29.1:
optional: true
lightningcss-darwin-x64@1.29.1:
optional: true
lightningcss-freebsd-x64@1.29.1:
optional: true
lightningcss-linux-arm-gnueabihf@1.29.1:
optional: true
lightningcss-linux-arm64-gnu@1.29.1:
optional: true
lightningcss-linux-arm64-musl@1.29.1:
optional: true
lightningcss-linux-x64-gnu@1.29.1:
optional: true
lightningcss-linux-x64-musl@1.29.1:
optional: true
lightningcss-win32-arm64-msvc@1.29.1:
optional: true
lightningcss-win32-x64-msvc@1.29.1:
optional: true
lightningcss@1.29.1:
dependencies:
detect-libc: 1.0.3
optionalDependencies:
lightningcss-darwin-arm64: 1.29.1
lightningcss-darwin-x64: 1.29.1
lightningcss-freebsd-x64: 1.29.1
lightningcss-linux-arm-gnueabihf: 1.29.1
lightningcss-linux-arm64-gnu: 1.29.1
lightningcss-linux-arm64-musl: 1.29.1
lightningcss-linux-x64-gnu: 1.29.1
lightningcss-linux-x64-musl: 1.29.1
lightningcss-win32-arm64-msvc: 1.29.1
lightningcss-win32-x64-msvc: 1.29.1
locate-path@6.0.0:
dependencies:
p-locate: 5.0.0
@ -3075,6 +3352,10 @@ snapshots:
'@pkgr/core': 0.1.1
tslib: 2.8.1
tailwindcss@4.0.9: {}
tapable@2.2.1: {}
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
@ -3123,11 +3404,11 @@ snapshots:
util-deprecate@1.0.2: {}
vite-hot-client@0.2.4(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)):
vite-hot-client@0.2.4(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)):
dependencies:
vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)
vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)
vite-plugin-inspect@0.8.9(rollup@4.34.6)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)):
vite-plugin-inspect@0.8.9(rollup@4.34.6)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4(rollup@4.34.6)
@ -3138,28 +3419,28 @@ snapshots:
perfect-debounce: 1.0.0
picocolors: 1.1.1
sirv: 3.0.0
vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)
vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)
transitivePeerDependencies:
- rollup
- supports-color
vite-plugin-vue-devtools@7.7.2(rollup@4.34.6)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2))(vue@3.5.13(typescript@5.7.3)):
vite-plugin-vue-devtools@7.7.2(rollup@4.34.6)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1))(vue@3.5.13(typescript@5.7.3)):
dependencies:
'@vue/devtools-core': 7.7.2(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2))(vue@3.5.13(typescript@5.7.3))
'@vue/devtools-core': 7.7.2(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1))(vue@3.5.13(typescript@5.7.3))
'@vue/devtools-kit': 7.7.2
'@vue/devtools-shared': 7.7.2
execa: 9.5.2
sirv: 3.0.0
vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)
vite-plugin-inspect: 0.8.9(rollup@4.34.6)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2))
vite-plugin-vue-inspector: 5.3.1(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2))
vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)
vite-plugin-inspect: 0.8.9(rollup@4.34.6)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1))
vite-plugin-vue-inspector: 5.3.1(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1))
transitivePeerDependencies:
- '@nuxt/kit'
- rollup
- supports-color
- vue
vite-plugin-vue-inspector@5.3.1(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)):
vite-plugin-vue-inspector@5.3.1(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)):
dependencies:
'@babel/core': 7.26.8
'@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.8)
@ -3170,11 +3451,11 @@ snapshots:
'@vue/compiler-dom': 3.5.13
kolorist: 1.8.0
magic-string: 0.30.17
vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)
vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)
transitivePeerDependencies:
- supports-color
vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2):
vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1):
dependencies:
esbuild: 0.24.2
postcss: 8.5.2
@ -3183,6 +3464,7 @@ snapshots:
'@types/node': 22.13.1
fsevents: 2.3.3
jiti: 2.4.2
lightningcss: 1.29.1
vscode-uri@3.1.0: {}

View file

@ -1,17 +1,28 @@
<script setup lang="ts">
import { ref, watchEffect } from 'vue';
import PocketBase from "pocketbase";
import { guilds, type TypedPocketBase } from './types/global.ts';
import "./assets/main.css"
import Stats from './components/stats.vue';
const pb = new PocketBase("https://api.m3.fyi");
const pb = new PocketBase("https://api.m3.fyi") as TypedPocketBase;
const events = ref([])
const guild = ref("756605475960914200")
watchEffect(async () => {
events.value = await pb.collection("vc_stats").getFullList();
events.value = await pb.collection("vc_stats").getFullList({
filter: pb.filter(`guild.id ~ ${guild.value}`)
}
)
})
</script>
<template>
<main>
<!-- <select v-model="guild"> -->
<!-- <option v-for="guild in guild_map" :option="guild.id"> -->
<!-- {{ guild.name }} -->
<!-- </option> -->
<!-- </select> -->
<div v-for="event in events">
<Stats :event="event" />
</div>

View file

@ -0,0 +1,5 @@
@import "tailwindcss";
:root {
@apply bg-gray-900 text-stone-50;
}

View file

@ -2,8 +2,16 @@
const props = defineProps({ event: Object })
</script>
<template>
<img :src=event.member.avatar>
<p>
{{ event.member.name }}
<div class="flex flex-row p-5">
<img class="w-10" :src=event!.member.avatar>
<p class="mr-3">
{{ event!.member.name }}
</p>
<p class="mr-3">
{{ event!.event }}
</p>
<p class="mr-3">
{{ event!.created }}
</p>
</div>
</template>

View file

@ -0,0 +1,90 @@
/**
* This file was @generated using pocketbase-typegen
*/
import type PocketBase from 'pocketbase'
import type { RecordService } from 'pocketbase'
export enum Collections {
VcStats = "vc_stats",
}
// Alias types for improved usability
export type IsoDateString = string
export type RecordIdString = string
export type HTMLString = string
// System fields
export type BaseSystemFields<T = never> = {
id: RecordIdString
collectionId: string
collectionName: Collections
expand?: T
}
export type AuthSystemFields<T = never> = {
email: string
emailVisibility: boolean
username: string
verified: boolean
} & BaseSystemFields<T>
// Record types for each collection
export enum VcStatsEventOptions {
"mute" = "mute",
"unmute" = "unmute",
"deafen" = "deafen",
"undeafen" = "undeafen",
"join" = "join",
"leave" = "leave",
"move" = "move",
}
export enum guilds {
"kaffeeklatsch" = "756605475960914200",
"acns" = "1045094089198145500"
}
export type channel = {
id: int
name: string
}
export type guild = {
icon: string
id: int
name: guilds
}
export type member = {
avatar: string
id: int
name: string
}
export type VcStatsRecord = {
channel?: channel
created?: IsoDateString
event: VcStatsEventOptions
guild?: guild
id: string
member?: member
updated?: IsoDateString
}
// Response types include system fields and match responses from the PocketBase API
export type VcStatsResponse = Required<VcStatsRecord> & BaseSystemFields<Texpand>
// Types containing all Records and Responses, useful for creating typing helper functions
export type CollectionRecords = {
vc_stats: VcStatsRecord
}
export type CollectionResponses = {
vc_stats: VcStatsResponse
}
// Type for usage with type asserted PocketBase instance
// https://github.com/pocketbase/js-sdk#specify-typescript-definitions
export type TypedPocketBase = PocketBase & {
collection(idOrName: 'vc_stats'): RecordService<VcStatsResponse>
}
export { };

View file

@ -1,12 +1,20 @@
{
"extends": "@vue/tsconfig/tsconfig.dom.json",
"include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
"exclude": ["src/**/__tests__/*"],
"include": [
"env.d.ts",
"src/**/*",
"src/**/*.d.ts",
"src/**/*.vue"
],
"exclude": [
"src/**/__tests__/*"
],
"compilerOptions": {
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
"paths": {
"@/*": ["./src/*"]
"@/*": [
"./src/*"
]
}
}
}

View file

@ -1,12 +1,14 @@
import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import tailwindcss from '@tailwindcss/vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'
// https://vite.dev/config/
export default defineConfig({
plugins: [
tailwindcss(),
vue(),
vueDevTools(),
],