import { useState } from "react"; import { faCheck, faFolder, faPencil, faXmark } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { twMerge } from "tailwind-merge"; import { Checkbox, IconButton, Td, Tr } from "@app/components/v2"; type Props = { folderName: string; environments: { name: string; slug: string }[]; isFolderPresentInEnv: (name: string, env: string) => boolean; onClick: (path: string) => void; isSelected: boolean; onToggleFolderSelect: (folderName: string) => void; onToggleFolderEdit: (name: string) => void; }; export const SecretOverviewFolderRow = ({ folderName, environments = [], isFolderPresentInEnv, isSelected, onToggleFolderSelect, onToggleFolderEdit, onClick }: Props) => { const [isClicking, setIsClicking] = useState(false); const handleClick = () => { if (isClicking) return; setIsClicking(true); onClick(folderName); setTimeout(() => setIsClicking(false), 1000); }; return (
{ onToggleFolderSelect(folderName); }} onClick={(e) => { e.stopPropagation(); }} className={twMerge("hidden group-hover:flex", isSelected && "flex")} />
{folderName}
{ onToggleFolderEdit(folderName); e.stopPropagation(); }} >
{environments.map(({ slug }, i) => { const isPresent = isFolderPresentInEnv(folderName, slug); return (
); })} ); };