skl/resources/js/Pages/Profile/Edit.tsx

80 lines
2.8 KiB
TypeScript

import AuthenticatedLayout from "@/Layouts/AuthenticatedLayout";
import DeleteUserForm from "./Partials/DeleteUserForm";
import UpdatePasswordForm from "./Partials/UpdatePasswordForm";
import UpdateProfileInformationForm from "./Partials/UpdateProfileInformationForm";
import { Head } from "@inertiajs/react";
import { PageProps } from "@/types";
import {
Card,
CardContent,
CardDescription,
CardHeader,
CardTitle,
} from "@/Components/ui/card";
export default function Edit({
auth,
mustVerifyEmail,
status,
}: PageProps<{ mustVerifyEmail: boolean; status?: string }>) {
return (
<AuthenticatedLayout
user={auth.user}
header={
<h2 className="font-semibold text-xl leading-tight">Profile</h2>
}
>
<Head title="Profile" />
<div className="space-y-6">
<Card>
<CardHeader>
<CardTitle>Profile Information</CardTitle>
<CardDescription>
Update your account's profile information and email
address.
</CardDescription>
</CardHeader>
<CardContent>
<UpdateProfileInformationForm
mustVerifyEmail={mustVerifyEmail}
status={status}
className="max-w-xl"
/>
</CardContent>
</Card>
<Card>
<CardHeader>
<CardTitle>Update Password</CardTitle>
<CardDescription>
Ensure your account is using a long, random password
to stay secure.
</CardDescription>
</CardHeader>
<CardContent>
<UpdatePasswordForm className="max-w-xl" />
</CardContent>
</Card>
<Card>
<CardHeader>
<CardTitle>Delete Account</CardTitle>
<CardDescription>
Once your account is deleted, all of its resources
and data will be permanently deleted. Before
deleting your account, please download any data or
information that you wish to retain.
</CardDescription>
</CardHeader>
<CardContent>
<DeleteUserForm className="max-w-xl" />
</CardContent>
</Card>
</div>
</AuthenticatedLayout>
);
}