diff --git a/frontend/package.json b/frontend/package.json index 4ac9ca4..48a3f2b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -14,6 +14,7 @@ }, "dependencies": { "@mdi/font": "7.4.47", + "@tanstack/vue-query": "^5.83.0", "core-js": "^3.41.0", "iso-3166-1": "^2.1.1", "openapi-fetch": "^0.14.0", diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 3b73e59..03e2d32 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@mdi/font': specifier: 7.4.47 version: 7.4.47 + '@tanstack/vue-query': + specifier: ^5.83.0 + version: 5.83.0(vue@3.5.13(typescript@5.8.3)) core-js: specifier: ^3.41.0 version: 3.41.0 @@ -798,6 +801,22 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} + '@tanstack/match-sorter-utils@8.19.4': + resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} + engines: {node: '>=12'} + + '@tanstack/query-core@5.83.0': + resolution: {integrity: sha512-0M8dA+amXUkyz5cVUm/B+zSk3xkQAcuXuz5/Q/LveT4ots2rBpPTZOzd7yJa2Utsf8D2Upl5KyjhHRY+9lB/XA==} + + '@tanstack/vue-query@5.83.0': + resolution: {integrity: sha512-sC3nnFEyAPOV4aGgt36ILrFIoR42UzRb+kqva96tiT3c80PCX99wDnVC5P01uxw6b3PaH7AD60HFFLBMFCKYow==} + peerDependencies: + '@vue/composition-api': ^1.1.2 + vue: ^2.6.0 || ^3.3.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + '@tsconfig/node22@22.0.1': resolution: {integrity: sha512-VkgOa3n6jvs1p+r3DiwBqeEwGAwEvnVCg/hIjiANl5IEcqP3G0u5m8cBJspe1t9qjZRlZ7WFgqq5bJrGdgAKMg==} @@ -1934,6 +1953,9 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + remove-accents@0.5.0: + resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==} + request-light@0.7.0: resolution: {integrity: sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==} @@ -2502,6 +2524,17 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + vue-demi@0.14.10: + resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue-eslint-parser@10.1.3: resolution: {integrity: sha512-dbCBnd2e02dYWsXoqX5yKUZlOt+ExIpq7hmHKPb5ZqKcjf++Eo0hMseFTZMLKThrUk61m+Uv6A2YSBve6ZvuDQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3235,6 +3268,20 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} + '@tanstack/match-sorter-utils@8.19.4': + dependencies: + remove-accents: 0.5.0 + + '@tanstack/query-core@5.83.0': {} + + '@tanstack/vue-query@5.83.0(vue@3.5.13(typescript@5.8.3))': + dependencies: + '@tanstack/match-sorter-utils': 8.19.4 + '@tanstack/query-core': 5.83.0 + '@vue/devtools-api': 6.6.4 + vue: 3.5.13(typescript@5.8.3) + vue-demi: 0.14.10(vue@3.5.13(typescript@5.8.3)) + '@tsconfig/node22@22.0.1': {} '@types/cookie@0.6.0': {} @@ -4486,6 +4533,8 @@ snapshots: readdirp@4.1.2: {} + remove-accents@0.5.0: {} + request-light@0.7.0: {} require-directory@2.1.1: {} @@ -5027,6 +5076,10 @@ snapshots: vscode-uri@3.0.8: {} + vue-demi@0.14.10(vue@3.5.13(typescript@5.8.3)): + dependencies: + vue: 3.5.13(typescript@5.8.3) + vue-eslint-parser@10.1.3(eslint@9.24.0): dependencies: debug: 4.4.0(supports-color@10.0.0) diff --git a/frontend/src/components/CertificateEditor.vue b/frontend/src/components/CertificateEditor.vue index b2ccf28..55e3b45 100644 --- a/frontend/src/components/CertificateEditor.vue +++ b/frontend/src/components/CertificateEditor.vue @@ -1,7 +1,12 @@ diff --git a/frontend/src/pages/certificates/new.vue b/frontend/src/pages/certificates/new.vue index 22969d5..5b8af02 100644 --- a/frontend/src/pages/certificates/new.vue +++ b/frontend/src/pages/certificates/new.vue @@ -1,10 +1,26 @@ diff --git a/frontend/src/plugins/index.ts b/frontend/src/plugins/index.ts index 17430da..ccf1659 100644 --- a/frontend/src/plugins/index.ts +++ b/frontend/src/plugins/index.ts @@ -3,10 +3,12 @@ import router from "../router"; import client from "./client"; import type { App } from "vue"; +import { VueQueryPlugin } from "@tanstack/vue-query"; export function registerPlugins(app: App) { app .use(vuetify) .use(router) - .use(client); + .use(client) + .use(VueQueryPlugin); }