import { Box, Button, IconButton, Typography, useTheme, useMediaQuery, Skeleton, } from "@mui/material"; import HeaderFull from "@ui_kit/Header/HeaderFull"; import SectionWrapper from "@ui_kit/SectionWrapper"; import { FC, useEffect, useState } from "react"; import { FileExportIcon } from "./icons/FileExporIcon"; import { UpdateIcon } from "./icons/UpdateIcon"; import { Select } from "../../pages/Questions/Select"; import { CheckboxSelect } from "../../ui_kit/CheckboxSelect"; import { CardAnswer } from "./CardAnswer"; import { FilterIcon } from "./icons/FilterIcon"; import { FilterModal } from "@ui_kit/Modal/FilterModal/FilterModal"; import { ExportContactsModal } from "@ui_kit/Modal/ExportContactsModal"; import { useCurrentQuiz, useQuizes } from "@root/quizes/hooks"; import { useQuizStore } from "@root/quizes/store"; import {AnswerResultListEx, getResultsList} from "@api/result"; import {useObsolescenceIdResult, useResultStore} from "@root/results/store"; import { quizApi } from "@api/quiz"; import { setResults } from "@root/results/actions"; import { setQuizes } from "@root/quizes/actions"; import { questionApi } from "@api/question"; import { setQuestions } from "@root/questions/actions"; import { useQuestionsStore } from "@root/questions/store"; import {useUiTools} from "@root/uiTools/store"; const options = [ { label: "Муром (1)", value: "option1" }, { label: "Москва (1)", value: "option2" }, ]; export const QuizAnswersPage: FC = () => { const theme = useTheme(); const isTablet = useMediaQuery(theme.breakpoints.down(1000)); const isMobile = useMediaQuery(theme.breakpoints.down(600)); const [filterModalOpen, setFilterModalOpen] = useState(false); const [exportContactsModalOpen, setExportContactsModalOpen] = useState(false); const [filterNew, setFilterNew] = useState("За всё время") const { editQuizId } = useQuizStore(); const { questions } = useQuestionsStore(); const quizList = useQuizStore(); const quiz = useCurrentQuiz(); const { results } = useResultStore(); const { total_count } = useResultStore(); const {idResultArray, addIdResult, clearIdResultArray} = useObsolescenceIdResult() useEffect(() => { const getData = async () => { const quizes = await quizApi.getList(); setQuizes(quizes); const questions = await questionApi.getList({ quiz_id: editQuizId }); setQuestions(questions); const result = await getResultsList(quizList.editQuizId); console.log("Это данные с сервера", result); setResults(result); const resAnswer = await AnswerResultListEx(quizList.editQuizId) console.log("щтветы респондентов на экспорт в юз эффекте", resAnswer) }; getData(); }, []); const DateDefinition = (result: string) => { //определяем когда был получен результат - вчера, сегодня или число и месяц let restime = new Date(result); let timeCompleting = Date.parse(String(result)); const timeNow = Date.now(); let dayResult; if (timeNow - timeCompleting < 86400000) { dayResult = "Сегодня"; } if (172800000 > timeNow - timeCompleting > 86400000) { dayResult = "Вчера"; } else { dayResult = restime.toLocaleDateString(); } return dayResult; }; const TimeDefinition = (result: string) => { //достаём время let timeResult = new Date(result).toLocaleTimeString().slice(0, -3); return timeResult; }; if (quiz === undefined) return ( ); return ( clearIdResultArray()} sx={{ fontSize: "36px", fontWeight: "500", mb: "50px", mt: "60px" }} > {quiz.name} Ответы на квиз ({total_count}) { //setExportContactsModalOpen(true) const resAnswer = AnswerResultListEx(quizList.editQuizId) console.log("ответы респондентов на экспорт по клику", resAnswer) }} sx={{ width: "44px", height: "44px", borderRadius: "8px", border: "1px solid #7E2AEA", }} > { getResultsList(quizList.editQuizId); }} > {isTablet && ( setFilterModalOpen(true)} sx={{ background: "#fff", width: "44px", height: "44px", borderRadius: "8px", border: "1px solid #7E2AEA", }} > )} {!isTablet && ( )} {!isTablet && ( № заявки Дата Контакты )} {results.map((result) => { const dataResult = new Date(result.created_at); let dayResult = DateDefinition(result.created_at); let timeResult = TimeDefinition(result.created_at); return ( ); })} setFilterModalOpen(false)} /> setExportContactsModalOpen(false)} /> ); };