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 @@
- Users
+
+ Error loading data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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,
+ },
})