import { useMutation, useQueryClient } from "@tanstack/react-query"; import api from "../utils/api"; import { IServer } from "../types/IServer"; import useModalStore from "../stores/useModalStore"; import CreateSessionModal from "./modals/CreateSessionModal"; import NewButton from "./NewButton"; import FlashIcon from "./icons/FlashIcon"; import CogIcon from "./icons/CogIcon"; import ChevronLeftIcon from "./icons/ChevronLeftIcon"; import PlusIcon from "./icons/PlusIcon"; interface IDesktopCardProps { server: IServer; } export default function DesktopCard({ server }: IDesktopCardProps) { const { setModal, setPosition } = useModalStore(); const queryClient = useQueryClient(); const servers = queryClient.getQueryData(["servers"]); // const { mutate: createSession } = useMutation({ // mutationFn: () => // api.post(`sessions`, { // json: { // serverId: server.id, // clientId: "abcfd570-2fa8-4f55-957b-5007f84f8f96", // appId: "b8a9995c-a799-4593-8f96-03942050cb21", // }, // }), // onMutate: () => queryClient.invalidateQueries({ queryKey: ["sessions"] }), // }); const { mutate: endSession } = useMutation({ mutationKey: ["sessions", server.sessions?.[0]?.id], mutationFn: () => api.put(`sessions/${server.sessions?.[0]?.id}`, { json: { status: "ending" }, }), onMutate: () => queryClient.invalidateQueries({ queryKey: ["sessions"] }), }); async function handleClickCreateSession() { setPosition("right"); setModal(); } return (

{server.name}

{server.location}

{server.sessions?.[0]?.status === "started" ? (
endSession()} className='flex gap-[0.556vw] items-center' >

Идёт сеанс

) : (

Создать сеанс

)}
); }