import { Tab } from "@headlessui/react"; import CollectionInfo from "./CollectionInfo"; import { CollectionIncludingMembersAndLinkCount } from "@/types/global"; import TeamManagement from "./TeamManagement"; import { useEffect, useState } from "react"; import DeleteCollection from "./DeleteCollection"; import ViewTeam from "./ViewTeam"; type Props = | { toggleCollectionModal: Function; activeCollection: CollectionIncludingMembersAndLinkCount; method: "UPDATE"; isOwner: boolean; className?: string; defaultIndex?: number; } | { toggleCollectionModal: Function; activeCollection?: CollectionIncludingMembersAndLinkCount; method: "CREATE"; isOwner: boolean; className?: string; defaultIndex?: number; } | { toggleCollectionModal: Function; activeCollection: CollectionIncludingMembersAndLinkCount; method: "VIEW_TEAM"; isOwner: boolean; className?: string; defaultIndex?: number; }; export default function CollectionModal({ className, defaultIndex, toggleCollectionModal, isOwner, activeCollection, method, }: Props) { const [collection, setCollection] = useState( activeCollection || { name: "", description: "", color: "#0ea5e9", isPublic: false, members: [], } ); return (
{method === "CREATE" && (

New Collection

)} {method !== "VIEW_TEAM" && ( {method === "UPDATE" && ( <> {isOwner && ( selected ? "px-2 py-1 bg-sky-200 dark:bg-sky-800 dark:text-white duration-100 rounded-md outline-none" : "px-2 py-1 hover:bg-slate-200 hover:dark:bg-neutral-700 hover:dark:text-white rounded-md duration-100 outline-none" } > Collection Info )} selected ? "px-2 py-1 bg-sky-200 dark:bg-sky-800 dark:text-white duration-100 rounded-md outline-none" : "px-2 py-1 hover:bg-slate-200 hover:dark:bg-neutral-700 hover:dark:text-white rounded-md duration-100 outline-none" } > {isOwner ? "Share & Collaborate" : "View Team"} selected ? "px-2 py-1 bg-sky-200 dark:bg-sky-800 dark:text-white duration-100 rounded-md outline-none" : "px-2 py-1 hover:bg-slate-200 hover:dark:bg-neutral-700 hover:dark:text-white rounded-md duration-100 outline-none" } > {isOwner ? "Delete Collection" : "Leave Collection"} )} )} {(isOwner || method === "CREATE") && ( )} {method === "UPDATE" && ( <> )} {method === "VIEW_TEAM" && ( <> )}
); }