import { useMutation, useQueryClient } from "@tanstack/react-query"; import useModalStore from "../../stores/useModalStore"; import { Session } from "../../types/Session"; import Button from "../Button"; import CurrentSessionModal from "./CurrentSessionModal"; import api from "../../utils/api"; import SpinIcon from "../icons/SpinIcon"; import SessionModal from "./SessionModal"; function EndSessionModal({ session }: { session: Session }) { const queryClient = useQueryClient(); const { setModal, setPosition } = useModalStore(); const { mutate: endSession, isPending, isSuccess, } = useMutation({ mutationKey: ["sessions", session.id], mutationFn: () => api .put(`sessions/${session.id}`, { json: { status: "ending" } }) .json(), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ["servers"] }); queryClient.invalidateQueries({ queryKey: ["last-sessions"] }); }, }); return (
{isPending ? (

Завершаем сеанс

Сохраняем данные, чтобы ничего не потерять

) : ( <>

Текущий сеанс

{isSuccess ? "Доступен отчет по встрече" : "Точно хотите завершить сеанс?"}

{isSuccess ? "Вы можете просмотреть отчет или создать новый сеанс, перейдя на главную страницу" : "Текущий сеанс будет завершен немедленно"}

)}
); } export default EndSessionModal;