import { FC, useState } from "react"; import { Dialog, IconButton, Typography, useMediaQuery, useTheme, Box, Skeleton } from "@mui/material"; import { useQuestions } from "@/stores/questions/hooks"; import { redirect } from "react-router-dom"; import CloseIcon from "@mui/icons-material/Close"; import { useBitrixIntegration } from "./useBitrixIntegration"; import { MinifiedData } from "./types"; import { Quiz } from "@/model/quiz/quiz"; import { SwitchPages } from "./SwitchPages"; type IntegrationsModalProps = { isModalOpen: boolean; handleCloseModal: () => void; companyName: string | null; quiz: Quiz; }; export const BitrixModal: FC = ({ isModalOpen, handleCloseModal, companyName, quiz }) => { //Если нет контекста квиза, то и делать на этой страничке нечего if (quiz.backendId === undefined) { redirect("/list"); return null; } const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down(600)); const isTablet = useMediaQuery(theme.breakpoints.down(1000)); const { questions } = useQuestions(); const [isTryRemoveAccount, setIsTryRemoveAccount] = useState(false); const { isLoadingPage, firstRules, accountInfo, arrayOfPipelines, arrayOfPipelinesSteps, arrayOfUsers, arrayOfTags, arrayOfFields, selectedPipeline, setSelectedPipeline, selectedCurrentFields, selectedPipelineStep, setSelectedPipelineStep, selectedDealUser, setSelectedDealPerformer, questionsBackend, selectedTags, setSelectedTags, selectedQuestions, setSelectedQuestions, setPageOfPipelines, setPageOfPipelinesSteps, setPageOfUsers, setPageOfTags, setPageOfFields, setSelectedCurrentFields, leadFlag, leadFlagHC, fullArrayOfPipelinesSteps } = useBitrixIntegration({ quizID: quiz.backendId, isModalOpen, isTryRemoveAccount, questions }); return ( Интеграция с {companyName ? companyName : "партнером"} {isLoadingPage ? : } ); }; export const diffArr = (arr_A: MinifiedData[], arr_B: MinifiedData[]) => { return arr_A.filter(person_A => !arr_B.some(person_B => person_A.id === person_B.id)); }