import { ButtonProps } from "@/components/button/Button"; import Table from "@/components/table/Table"; import { GameClass } from "@/interface/GameClass"; import { useAuth } from "@/providers/AuthProvider"; import { isGameAdmin } from "@/util/PermissionUtil"; import { useState } from "react"; import GameClassAdminButtons from "./GameClassAdminButtons"; import DeleteGameClassModal from "./modals/DeleteGameClassModal"; import GameClassModal from "./modals/GameClassModal"; export default function GameClassList({ gameClasses }:{ gameClasses: GameClass[]; }){ const { gamePermissions, accountPermissions } = useAuth(); const [ selectedGameClass, setSelectedGameClass ] = useState(); const [ displayGameClassModal, setDisplayGameClassModal ] = useState(false); const [ displayDeleteGameClassModal, setDisplayDeleteGameClassModal ] = useState(false); const buttonProps: ButtonProps = { variant: "ghost", size: "md", shape: "square" }; const headElements: React.ReactNode[] = [
Icon
,
Name
,
Actions
]; const bodyElements: React.ReactNode[][] = gameClasses.map((gameClass) => [
{ gameClass.gameClassIcon &&
}  
,
{gameClass.gameClassName}
,
 
{ setSelectedGameClass(gameClass); setDisplayGameClassModal(true); }} showDeleteGameClassModal={() => { setSelectedGameClass(gameClass); setDisplayDeleteGameClassModal(true); }} />
]); return ( <> {setDisplayGameClassModal(false); setSelectedGameClass(undefined);}} gameId={selectedGameClass?.gameId ?? ""} gameClass={selectedGameClass} /> {setDisplayDeleteGameClassModal(false); setSelectedGameClass(undefined);}} gameClass={selectedGameClass} /> ); }