From 2930460102ed42ad7ebf27972f93677bb2992829 Mon Sep 17 00:00:00 2001 From: "andreas.dinauer" Date: Sun, 9 Nov 2025 00:00:33 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=84=20Improved=20UI=20regarding=20Logi?= =?UTF-8?q?n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/User.ts | 36 ++++++++++ components/ConfigMapComponent.vue | 2 + components/NamespaceComponent.vue | 2 + components/SettingsSidebar.vue | 11 ++-- components/SidebarTemplate.vue | 1 + components/account/AccountTab.vue | 2 +- components/chart/Chart.vue | 3 +- .../deployments/DeploymentComponent.vue | 8 ++- components/ingress/IngressComponent.vue | 4 +- .../inspect/resources/ConfigMapList.vue | 3 +- .../inspect/resources/DeploymentList.vue | 3 +- components/inspect/resources/IngressList.vue | 3 +- .../inspect/resources/NamespaceList.vue | 3 +- .../resources/PersistentVolumeClaimList.vue | 2 +- .../resources/PersistentVolumeList.vue | 2 +- components/inspect/resources/PodList.vue | 2 +- components/inspect/resources/SecretList.vue | 2 +- components/inspect/resources/ServiceList.vue | 3 +- components/secrets/SecretComponent.vue | 3 +- components/service/ServiceComponent.vue | 9 +-- components/ui/Prompt.ts | 13 ++++ components/ui/UiButton.vue | 1 + components/ui/UiError.vue | 27 ++++++++ components/ui/UiPompt.vue | 34 ++++++++++ pages/account.vue | 2 +- pages/account/monitorings.vue | 5 +- pages/account/settings.vue | 2 +- pages/account/settings/index.vue | 13 ---- pages/account/settings/password.vue | 39 ++++++++++- pages/account/settings/users.vue | 13 ---- pages/account/settings/users/add.vue | 65 +++++++++++++++++++ pages/account/settings/users/index.vue | 65 +++++++++++++++++++ pages/index.vue | 50 ++++++++++---- requests/login.ts | 8 ++- 34 files changed, 367 insertions(+), 74 deletions(-) create mode 100644 components/ui/Prompt.ts create mode 100644 components/ui/UiError.vue create mode 100644 components/ui/UiPompt.vue delete mode 100644 pages/account/settings/index.vue delete mode 100644 pages/account/settings/users.vue create mode 100644 pages/account/settings/users/add.vue create mode 100644 pages/account/settings/users/index.vue diff --git a/classes/User.ts b/classes/User.ts index 2938bd6..22647e9 100644 --- a/classes/User.ts +++ b/classes/User.ts @@ -1,3 +1,5 @@ +import axios from "axios"; + export class User { username?: string; @@ -5,6 +7,40 @@ export class User password?: string; roles?: string[]; initial?: boolean; + + static get(onSuccess: (users: User[]) => void) + { + axios.get(ApiConfig.getHttpBase() + '/users', { + headers: { + Authorization: "Bearer " + requireToken() + } + }) + .then((response) => { + onSuccess(response.data); + }); + } + + static create(user: UserCreation, onSuccess: () => void) + { + axios.post(ApiConfig.getHttpBase() + '/users', user, { + headers: { + Authorization: "Bearer " + requireToken() + } + }) + .then(() => { + onSuccess(); + }); + } +} + +export class UserCreation +{ + firstname?: string; + lastname?: string; + email?: string; + password?: string; + username?: string; + role: string = "USER"; } export function hasAnyRole(user: User | undefined, requiredRoles: string[]) diff --git a/components/ConfigMapComponent.vue b/components/ConfigMapComponent.vue index 81307b6..db0ee63 100644 --- a/components/ConfigMapComponent.vue +++ b/components/ConfigMapComponent.vue @@ -2,6 +2,7 @@

{{ configMap.metadata.name }}

{{ configMap.metadata.namespace }}

+

{{ calcAge(configMap.metadata.creationTimestamp) }}

{{ Object.keys(configMap.data).length }}-

delete @@ -11,6 +12,7 @@ \ No newline at end of file diff --git a/components/inspect/resources/DeploymentList.vue b/components/inspect/resources/DeploymentList.vue index f7964d3..b0ef2ec 100644 --- a/components/inspect/resources/DeploymentList.vue +++ b/components/inspect/resources/DeploymentList.vue @@ -4,6 +4,7 @@

Name

Namespace

+

Age

Replicas

Aktionen

@@ -28,6 +29,6 @@ onUnmounted(() => { \ No newline at end of file diff --git a/components/inspect/resources/IngressList.vue b/components/inspect/resources/IngressList.vue index 7e8b5d2..1c2757b 100644 --- a/components/inspect/resources/IngressList.vue +++ b/components/inspect/resources/IngressList.vue @@ -4,6 +4,7 @@

Name

Namespace

+

Age

Ingress Class Name

Rules

Actions

@@ -28,6 +29,6 @@ onUnmounted(() => { \ No newline at end of file diff --git a/components/inspect/resources/NamespaceList.vue b/components/inspect/resources/NamespaceList.vue index 149d87c..15e5ce2 100644 --- a/components/inspect/resources/NamespaceList.vue +++ b/components/inspect/resources/NamespaceList.vue @@ -3,6 +3,7 @@

Name

+

Age

Actions

@@ -26,6 +27,6 @@ onUnmounted(() => { \ No newline at end of file diff --git a/components/inspect/resources/PersistentVolumeClaimList.vue b/components/inspect/resources/PersistentVolumeClaimList.vue index 0dbcae3..40d87f4 100644 --- a/components/inspect/resources/PersistentVolumeClaimList.vue +++ b/components/inspect/resources/PersistentVolumeClaimList.vue @@ -4,7 +4,7 @@

Name

Namespace

-

Alter

+

Age

Storage Class

Access Modes

Aktionen

diff --git a/components/inspect/resources/PersistentVolumeList.vue b/components/inspect/resources/PersistentVolumeList.vue index 33c5d62..32938cb 100644 --- a/components/inspect/resources/PersistentVolumeList.vue +++ b/components/inspect/resources/PersistentVolumeList.vue @@ -3,7 +3,7 @@

Name

-

Alter

+

Age

Aktionen

diff --git a/components/inspect/resources/PodList.vue b/components/inspect/resources/PodList.vue index 20d1854..ee38ee2 100644 --- a/components/inspect/resources/PodList.vue +++ b/components/inspect/resources/PodList.vue @@ -4,7 +4,7 @@

Pod

Namespace

-

Alter

+

Age

Node

Containers

Status

diff --git a/components/inspect/resources/SecretList.vue b/components/inspect/resources/SecretList.vue index 64890af..590ed7f 100644 --- a/components/inspect/resources/SecretList.vue +++ b/components/inspect/resources/SecretList.vue @@ -7,7 +7,7 @@ Add

Namespace

-

Alter

+

Age

Aktionen

diff --git a/components/inspect/resources/ServiceList.vue b/components/inspect/resources/ServiceList.vue index a715f77..5f92f9c 100644 --- a/components/inspect/resources/ServiceList.vue +++ b/components/inspect/resources/ServiceList.vue @@ -4,6 +4,7 @@

Service

Namespace

+

Age

Type

Aktionen

@@ -27,6 +28,6 @@ onUnmounted(() => { \ No newline at end of file diff --git a/components/secrets/SecretComponent.vue b/components/secrets/SecretComponent.vue index 609e28d..bdbdd89 100644 --- a/components/secrets/SecretComponent.vue +++ b/components/secrets/SecretComponent.vue @@ -2,7 +2,7 @@

{{ secret.metadata.name }}

{{ secret.metadata.namespace }}

-

-

+

{{ calcAge(secret.metadata.creationTimestamp) }}

edit delete @@ -11,6 +11,7 @@ + + \ No newline at end of file diff --git a/components/ui/UiPompt.vue b/components/ui/UiPompt.vue new file mode 100644 index 0000000..29fe1ab --- /dev/null +++ b/components/ui/UiPompt.vue @@ -0,0 +1,34 @@ + + + + + \ No newline at end of file diff --git a/pages/account.vue b/pages/account.vue index 884893f..be287c7 100644 --- a/pages/account.vue +++ b/pages/account.vue @@ -7,7 +7,7 @@
Inspect Monitorings - Settings + Settings

Logout

diff --git a/pages/account/monitorings.vue b/pages/account/monitorings.vue index e75052e..4347a3e 100644 --- a/pages/account/monitorings.vue +++ b/pages/account/monitorings.vue @@ -1,10 +1,7 @@