diff --git a/frontend/src/views/settings/UsersTab.vue b/frontend/src/views/settings/UsersTab.vue
index 63e094b..f87f4ab 100644
--- a/frontend/src/views/settings/UsersTab.vue
+++ b/frontend/src/views/settings/UsersTab.vue
@@ -124,6 +124,7 @@
>
Tilbakestill passord
+ {{ saveError }}
@@ -142,6 +143,7 @@ const loading = ref(false)
const showModal = ref(false)
const isEditing = ref(false)
const editingId = ref(null)
+const saveError = ref(null)
type FormData = Omit
@@ -203,6 +205,7 @@ function getAvatarColors(role: UserRole): { bg: string; text: string } {
function openAddModal() {
isEditing.value = false
editingId.value = null
+ saveError.value = null
Object.assign(form, emptyForm())
showModal.value = true
}
@@ -210,6 +213,7 @@ function openAddModal() {
function openEditModal(user: SettingsUser) {
isEditing.value = true
editingId.value = user.id
+ saveError.value = null
Object.assign(form, {
firstName: user.firstName,
lastName: user.lastName,
@@ -222,18 +226,23 @@ function openEditModal(user: SettingsUser) {
}
async function save() {
+ saveError.value = null
const colors = getAvatarColors(form.role)
const userData = { ...form, colorBg: colors.bg, colorText: colors.text }
- if (isEditing.value && editingId.value !== null) {
- const updated = await organizationService.updateUser(editingId.value, userData)
- const idx = users.value.findIndex((u) => u.id === editingId.value)
- if (idx !== -1) users.value[idx] = { ...users.value[idx], ...updated }
- } else {
- const created = await organizationService.createUser(userData)
- users.value.push(created)
+ try {
+ if (isEditing.value && editingId.value !== null) {
+ const updated = await organizationService.updateUser(editingId.value, userData)
+ const idx = users.value.findIndex((u) => u.id === editingId.value)
+ if (idx !== -1) users.value[idx] = { ...users.value[idx], ...updated }
+ } else {
+ const created = await organizationService.createUser(userData)
+ users.value.push(created)
+ }
+ showModal.value = false
+ } catch (e: unknown) {
+ saveError.value = e instanceof Error ? e.message : 'Noe gikk galt. Prøv igjen.'
}
- showModal.value = false
}
function resetPassword() {