diff --git a/next-ui/openapi-generator.ts b/next-ui/openapi-generator.ts index bcb510624..0156512e0 100644 --- a/next-ui/openapi-generator.ts +++ b/next-ui/openapi-generator.ts @@ -11,7 +11,7 @@ const DATE = ts.factory.createTypeReferenceNode(ts.factory.createIdentifier("Dat const NULL = ts.factory.createLiteralTypeNode(ts.factory.createNull()); // `null` const ast = await openapiTS(mySchema, { - transform(schemaObject, metadata) { + transform(schemaObject) { if (schemaObject.format === "date-time") { return schemaObject.nullable ? ts.factory.createUnionTypeNode([DATE, NULL]) diff --git a/next-ui/src/colada/queries/users.ts b/next-ui/src/colada/queries/users.ts new file mode 100644 index 000000000..713081ac2 --- /dev/null +++ b/next-ui/src/colada/queries/users.ts @@ -0,0 +1,11 @@ +import {defineQuery, useQuery} from '@pinia/colada' +import {komgaClient} from '@/api/komga-client' + +export const useUsers = defineQuery(() => { + return useQuery({ + key: () => ['users'], + query: () => komgaClient.GET('/api/v2/users') + // unwrap the openapi-fetch structure on success + .then((res) => res.data), + }) +}) diff --git a/next-ui/src/pages/server/updates.vue b/next-ui/src/pages/server/updates.vue index 46e354a5c..756050b71 100644 --- a/next-ui/src/pages/server/updates.vue +++ b/next-ui/src/pages/server/updates.vue @@ -50,7 +50,7 @@ v-if="release.version == currentVersion" class="mx-2 mt-n3" size="small" - label + rounded color="info" > Currently installed @@ -59,7 +59,7 @@ v-if="release.version == latest?.version" class="mx-2 mt-n3" size="small" - label + rounded > Latest diff --git a/next-ui/src/pages/server/users.vue b/next-ui/src/pages/server/users.vue index be38d39ea..0e5c4e2c6 100644 --- a/next-ui/src/pages/server/users.vue +++ b/next-ui/src/pages/server/users.vue @@ -1,9 +1,122 @@ diff --git a/next-ui/src/plugins/vuetify.ts b/next-ui/src/plugins/vuetify.ts index 98b922e12..6cd2a516e 100644 --- a/next-ui/src/plugins/vuetify.ts +++ b/next-ui/src/plugins/vuetify.ts @@ -11,6 +11,7 @@ import 'vuetify/styles' // Composables import {createVuetify} from 'vuetify' import {md3} from 'vuetify/blueprints' +import {VIconBtn} from 'vuetify/labs/components' // https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides @@ -37,4 +38,7 @@ export default createVuetify({ }, }, blueprint: md3, + components: { + VIconBtn, + }, })