Files
KanbanGit/resources/js/pages/admin/users/Edit.vue
T
Twyco 919a263177
CI/CD / preconditions (pull_request) Successful in 2s
CI/CD / Publish immutable image (pull_request) Canceled after 0s
CI/CD / test_and_check_app (pull_request) Canceled after 26m49s
feat(KAN-49): rebuild user administration
2026-09-16 08:11:47 +02:00

61 lines
2.1 KiB
Vue

<script setup lang="ts">
import { Head, router } from '@inertiajs/vue3';
import { computed } from 'vue';
import ManagedUserForm from '@/components/ManagedUserForm.vue';
import UserAvatar from '@/components/ui/avatar/UserAvatar.vue';
import { useLocalization } from '@/composables/useLocalization';
import AppLayout from '@/layouts/AppLayout.vue';
import { edit, index } from '@/routes/admin/users';
import type { AdminUserEditPageProps, BreadcrumbItem } from '@/types';
const props = defineProps<AdminUserEditPageProps>();
const { t } = useLocalization();
const breadcrumbs = computed<BreadcrumbItem[]>(() => [
{ title: t('adminUsers.title'), href: index() },
{
title: t('adminUsers.edit.breadcrumb', { name: props.user.name }),
href: edit(props.user.id),
},
]);
</script>
<template>
<AppLayout :breadcrumbs="breadcrumbs">
<Head :title="t('adminUsers.edit.pageTitle', { name: user.name })" />
<div
class="gap-page md:p-page mx-auto flex w-full min-w-0 max-w-4xl flex-1 flex-col p-4"
>
<header
class="flex min-w-0 flex-col gap-4 sm:flex-row sm:items-center"
>
<UserAvatar
:user="user"
size="xl"
rounded
class="ring-border shrink-0 ring-1"
/>
<div class="gap-stack grid min-w-0">
<p class="text-label text-muted-foreground uppercase">
{{ t('adminUsers.eyebrow') }}
</p>
<h1
class="text-headline-mobile md:text-headline break-words"
>
{{ t('adminUsers.edit.title', { name: user.name }) }}
</h1>
<p class="text-muted-foreground break-all">
{{ user.email }}
</p>
</div>
</header>
<ManagedUserForm
mode="edit"
:user="user"
@cancel="router.visit(index())"
/>
</div>
</AppLayout>
</template>