mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-07-22 20:11:53 +00:00
c281f85742
* 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
83 lines
2.2 KiB
TypeScript
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>
|
|
);
|
|
};
|