"use client"; import MissionModal from "@/components/modals/mission_modal"; import NewMissionModal from "@/components/modals/new_mission_modal"; import { Mission } from "@/types/mission"; import { GET_MISSIONS } from "@/utils/graphql_queries"; import { useQuery } from "@apollo/client"; import { Icon } from "@iconify/react/dist/iconify.js"; import { Alert, Button, IconButton } from "@material-tailwind/react"; import { useState } from "react"; const MissionsPage = () => { const [showMissionModal, setShowMissionModal] = useState(false); const [showNewMissionModal, setShowNewMissionModal] = useState(false); const [selectedMission, setSelectedMission] = useState(); const { loading, error, data, refetch } = useQuery(GET_MISSIONS); if (loading) { return ( ); } if (error) { return (
} className="w-fit" > {error?.message ?? "An error occurred."}
); } return (
{ setShowNewMissionModal(true); }} onPointerEnterCapture={undefined} onPointerLeaveCapture={undefined} > { refetch(); }} />
{data?.missions.length === 0 && (
} className="w-fit" > No missions, Try to add one.
)}
{data?.missions.map((mission: Mission, i: number) => (
{ setSelectedMission(mission); setShowMissionModal(true); }} >

{mission.name}

))} { refetch(); }} onRunMission={() => { refetch(); }} onDeleteMission={() => { refetch(); }} />
); }; export default MissionsPage;