Files
prowler/components/users/EditUserModal.tsx
T
Sophia Dao c281f85742 Users Page - Add User Modal, Edit User Modal (#45)
* feat(users): Add in Add User modal, add in Label component

* feat(users): Make adjustments to Add User modal and Edit user modal

* feat(users): Populate data from mock API

* feat(users): Permissions - do not show team info to users, redirect users
2024-08-30 08:30:10 -05:00

83 lines
2.2 KiB
TypeScript

"use client";
import { Input } from "@nextui-org/react";
import { useRef } from "react";
import {
Dialog,
DialogContent,
DialogHeader,
DialogTitle,
} from "@/components/ui";
import { UserProps } from "@/types";
import { ButtonEditUser } from "./ButtonEditUser";
import { CustomSelectUser } from "./CustomSelectUser";
interface EditUserModalProps {
isOpen: boolean;
setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
userData: UserProps;
}
export const EditUserModal: React.FC<EditUserModalProps> = ({
isOpen,
setIsOpen,
userData,
}) => {
const ref = useRef<HTMLFormElement>(null);
return (
<Dialog open={isOpen} onOpenChange={setIsOpen}>
<DialogContent
aria-describedby={undefined}
className="flex flex-col sm:max-w-md md:max-w-lg"
>
<DialogHeader className="mb-6 space-y-3">
<DialogTitle className="text-2xl text-center">Edit User</DialogTitle>
</DialogHeader>
<form ref={ref} onSubmit={() => setIsOpen(false)}>
<div className="col-span-1 flex flex-col gap-y-2 my-auto">
<Input
type="name"
name="name"
label="Name"
labelPlacement="outside"
placeholder={userData?.name}
aria-label="Enter Name"
size="md"
radius="md"
isRequired
fullWidth
classNames={{
base: "h-12 mb-4",
inputWrapper: "h-full",
}}
/>
<Input
type="text"
name="email"
label="Email"
labelPlacement="outside"
placeholder={userData?.email}
aria-label="Enter Email"
size="md"
radius="md"
isRequired
fullWidth
classNames={{
base: "h-12 mb-4",
inputWrapper: "h-full",
}}
/>
<CustomSelectUser userData={userData} />
</div>
<div className="col-span-2 flex justify-center mt-4">
<ButtonEditUser />
</div>
</form>
</DialogContent>
</Dialog>
);
};