Files
sistema_base/apps/web/feactures/users/components/admin/user-modal.tsx

70 lines
1.6 KiB
TypeScript

'use client';
import {
Dialog,
DialogContent,
DialogDescription,
DialogHeader,
DialogTitle,
} from '@repo/shadcn/dialog';
import { AccountPlan } from '@/feactures/users/schemas/account-plan.schema';
import { CreateUserForm } from './create-user-form';
import { UpdateUserForm } from './update-user-form';
interface AccountPlanModalProps {
open: boolean;
onOpenChange: (open: boolean) => void;
defaultValues?: Partial<AccountPlan>;
}
export function AccountPlanModal({
open,
onOpenChange,
defaultValues,
}: AccountPlanModalProps) {
const handleSuccess = () => {
onOpenChange(false);
};
const handleCancel = () => {
onOpenChange(false);
};
return (
<Dialog
open={open}
onOpenChange={(open) => {
if (!open) {
onOpenChange(false);
}
}}
>
<DialogContent className="sm:max-w-[600px] z-50 backdrop-blur-lg bg-background/80">
<DialogHeader>
<DialogTitle>
{defaultValues?.id
? 'Actualizar usuario'
: 'Crear usuario'}
</DialogTitle>
<DialogDescription>
Complete los campos para {defaultValues?.id ? 'actualizar' : 'crear'} un usuario
</DialogDescription>
</DialogHeader>
{defaultValues?.id ? (
<UpdateUserForm
onSuccess={handleSuccess}
onCancel={handleCancel}
defaultValues={defaultValues}
/>
): (
<CreateUserForm
onSuccess={handleSuccess}
onCancel={handleCancel}
defaultValues={defaultValues}
/>
)}
</DialogContent>
</Dialog>
);
}