import { ButtonProps } from "@/components/button/Button"; import GameClassByClassGroupDisplay from "@/components/gameClass/GameClassByClassGroupDisplay"; import Table from "@/components/table/Table"; import { useGetGameClassesByClassGroup } from "@/hooks/GameClassHooks"; import { ClassGroup } from "@/interface/ClassGroup"; import { RaidGroup } from "@/interface/RaidGroup"; import { useState } from "react"; import ClassGroupButtons from "./ClassGroupButtons"; import ClassGroupModal from "./modal/ClassGroupModal"; import DeleteClassGroupModal from "./modal/DeleteClassGroupModal"; export default function ClassGroupList({ classGroups, raidGroup }:{ classGroups: ClassGroup[]; raidGroup: RaidGroup; }){ const [ selectedClassGroup, setSelectedClassGroup ] = useState(); const [ displayClassGroupModal, setDisplayClassGroupModal ] = useState(false); const [ displayDeleteClassGroupModal, setDisplayDeleteClassGroupModal ] = useState(false); const gameClassesQuery = useGetGameClassesByClassGroup(selectedClassGroup?.classGroupId ?? ""); const buttonProps: ButtonProps = { variant: "ghost", size: "md", shape: "square" }; const headElements: React.ReactNode[] = [
Name
,
Classes
,
Actions
]; const bodyElements: React.ReactNode[][] = classGroups.map((classGroup) => [
{classGroup.classGroupName}
,
,
 
{ setSelectedClassGroup(classGroup); setDisplayClassGroupModal(true); }} showDeleteClassGroupModal={() => { setSelectedClassGroup(classGroup); setDisplayDeleteClassGroupModal(true); }} />
]); return ( <> { setDisplayClassGroupModal(false); setSelectedClassGroup(undefined); }} classGroup={selectedClassGroup} raidGroup={raidGroup} selectedGameClasses={gameClassesQuery.data ?? []} /> { setDisplayDeleteClassGroupModal(false); setSelectedClassGroup(undefined); }} raidGroupId={selectedClassGroup?.raidGroupId ?? ""} classGroup={selectedClassGroup} /> ); }