From e4069819c607195f18a0fb846cd8a1a8a8791e0e Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 9 Jan 2025 01:15:56 +0100 Subject: [PATCH 1/8] feat: [#658] placeholder admin tab for listing users --- pages/admin/settings.vue | 3 +- pages/admin/settings/users.vue | 77 ++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 pages/admin/settings/users.vue diff --git a/pages/admin/settings.vue b/pages/admin/settings.vue index 4a2c4373..c84c24d2 100644 --- a/pages/admin/settings.vue +++ b/pages/admin/settings.vue @@ -41,7 +41,8 @@ import { onMounted, ref, useRestApi } from "#imports"; const tabs = [ "backend", "categories", - "tags" + "tags", + "users" ]; const rest = useRestApi(); diff --git a/pages/admin/settings/users.vue b/pages/admin/settings/users.vue new file mode 100644 index 00000000..38dcb918 --- /dev/null +++ b/pages/admin/settings/users.vue @@ -0,0 +1,77 @@ + + + From 12dd5c8012e43a18126257d7807f93236afb6507 Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 16 Jan 2025 03:07:40 +0100 Subject: [PATCH 2/8] feat: [#658] new function wrapper for getting all user profiles from the API --- composables/states.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/composables/states.ts b/composables/states.ts index 7c8ff183..c86e18ce 100644 --- a/composables/states.ts +++ b/composables/states.ts @@ -1,4 +1,4 @@ -import type { PublicSettings, Category, TokenResponse, TorrentTag } from "torrust-index-types-lib"; +import type { PublicSettings, Category, TokenResponse, TorrentTag, UserProfile } from "torrust-index-types-lib"; import { Rest } from "torrust-index-api-lib"; import { notify } from "notiwind-ts"; import { useRuntimeConfig, useState } from "#imports"; @@ -8,6 +8,7 @@ export const useCategories = () => useState>("categories", () => export const useTags = () => useState>("tags", () => new Array()); export const useSettings = () => useState("public-settings", () => null); export const useUser = () => useState("user", () => null); +export const useUserProfiles = () => useState>("user-profiles", () => new Array()); export function getSettings () { useRestApi().value.settings.getPublicSettings() @@ -94,3 +95,17 @@ export async function getUser () { }, 10000); }); } + +export function getUserProfiles () { + useRestApi().value.user.getUserProfiles() + .then((res) => { + useUserProfiles().value = res; + }) + .catch((err) => { + notify({ + group: "error", + title: "Error", + text: `Trying to get user profiles. ${err.message}.` + }, 10000); + }); +} From 73a9bd1154b703c33c5032dd1cc74950f8a2da46 Mon Sep 17 00:00:00 2001 From: Mario Date: Sat, 18 Jan 2025 00:26:54 +0100 Subject: [PATCH 3/8] feat: [#658] new user table component --- components/user/UserTable.vue | 67 +++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 components/user/UserTable.vue diff --git a/components/user/UserTable.vue b/components/user/UserTable.vue new file mode 100644 index 00000000..34749ca3 --- /dev/null +++ b/components/user/UserTable.vue @@ -0,0 +1,67 @@ + + + + + From 07e3e0c6fb9481212448e261274dd8c81c2f629f Mon Sep 17 00:00:00 2001 From: Mario Date: Sat, 18 Jan 2025 00:27:39 +0100 Subject: [PATCH 4/8] refactor: [#658] styled palceholder user tab for the admin panel --- pages/admin/settings/users.vue | 69 ++++------------------------------ 1 file changed, 7 insertions(+), 62 deletions(-) diff --git a/pages/admin/settings/users.vue b/pages/admin/settings/users.vue index 38dcb918..bce67847 100644 --- a/pages/admin/settings/users.vue +++ b/pages/admin/settings/users.vue @@ -1,77 +1,22 @@ - -