diff --git a/src/app/components/base/icon/Icon.types.ts b/src/app/components/base/icon/Icon.types.ts
index 08b3aeb..f2ed95b 100644
--- a/src/app/components/base/icon/Icon.types.ts
+++ b/src/app/components/base/icon/Icon.types.ts
@@ -34,6 +34,7 @@ export type AppIcon =
| 'save'
| 'settings-4-line'
| 'shield-flash-line'
+ | 'shield-user-line'
| 'shopping-basket-2'
| 'skip-down-line'
| 'skip-up-line'
diff --git a/src/app/pages/navigation/admin/AdminButton.vue b/src/app/pages/navigation/admin/AdminButton.vue
index 042fef0..1239b91 100644
--- a/src/app/pages/navigation/admin/AdminButton.vue
+++ b/src/app/pages/navigation/admin/AdminButton.vue
@@ -5,10 +5,11 @@
tooltip-position="right"
:class="classes"
>
-
+
+
@@ -19,14 +20,17 @@ import { useI18n } from 'vue-i18n';
import Button from '@components/base/button/Button.vue';
import ContextMenu from '@components/base/context-menu/ContextMenu.vue';
import { useMediaQuery } from '@composables';
+import { useStorage } from '@storage/index';
import { ClassNames } from '@utils';
import CreateUserButton from './create-user/CreateUserButton.vue';
+import ManageUsersButton from './manage-users/ManageUsersButton.vue';
const props = defineProps<{
class: ClassNames;
}>();
const { t } = useI18n();
+const { user } = useStorage();
const media = useMediaQuery();
const classes = computed(() => props.class);
diff --git a/src/app/pages/navigation/admin/manage-users/ManageUsersButton.vue b/src/app/pages/navigation/admin/manage-users/ManageUsersButton.vue
new file mode 100644
index 0000000..39f22af
--- /dev/null
+++ b/src/app/pages/navigation/admin/manage-users/ManageUsersButton.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
diff --git a/src/app/pages/navigation/admin/manage-users/ManageUsersModal.vue b/src/app/pages/navigation/admin/manage-users/ManageUsersModal.vue
new file mode 100644
index 0000000..cf103cd
--- /dev/null
+++ b/src/app/pages/navigation/admin/manage-users/ManageUsersModal.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json
index 2c1c089..19807d9 100644
--- a/src/i18n/locales/de.json
+++ b/src/i18n/locales/de.json
@@ -59,6 +59,7 @@
"conflict": "Ein Nutzer mit diesem Namen existiert bereits.",
"generic": "Irgendwas ist schiefgelaufen, versuche es später erneut."
},
+ "manageUsers": "Nutzer verwalten",
"password": "Passwort",
"settings": "Admin-Einstellungen",
"username": "Benutzername"
diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json
index f4b6a4b..621f064 100644
--- a/src/i18n/locales/en.json
+++ b/src/i18n/locales/en.json
@@ -59,6 +59,7 @@
"conflict": "A user with this name already exists.",
"generic": "Something went wrong, please try again later."
},
+ "manageUsers": "Manage users",
"password": "Password",
"settings": "Admin settings",
"username": "Username"
diff --git a/src/icons/shield-user-line.svg b/src/icons/shield-user-line.svg
new file mode 100644
index 0000000..a2fc12a
--- /dev/null
+++ b/src/icons/shield-user-line.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/storage/createStorage.ts b/src/storage/createStorage.ts
index dbc3f05..63aba73 100644
--- a/src/storage/createStorage.ts
+++ b/src/storage/createStorage.ts
@@ -102,6 +102,7 @@ export const createStorage = () => {
getAllUsers: store.getAllUsers,
deleteUser: store.deleteUser,
createUser: store.createUser,
+ updateUser: store.updateUser,
updatePassword: store.updatePassword,
login,
logout,