2024-05-21 21:29:33 +00:00
|
|
|
|
import { Box, Typography, useMediaQuery, useTheme } from "@mui/material";
|
|
|
|
|
|
import React, { FC, lazy, Suspense } from "react";
|
2024-04-30 12:23:58 +00:00
|
|
|
|
import { ServiceButton } from "./ServiceButton/ServiceButton";
|
|
|
|
|
|
import { YandexMetricaLogo } from "../mocks/YandexMetricaLogo";
|
2024-05-21 21:29:33 +00:00
|
|
|
|
// import AnalyticsModal from "./AnalyticsModal/AnalyticsModal";
|
2024-04-30 12:23:58 +00:00
|
|
|
|
import { VKPixelLogo } from "../mocks/VKPixelLogo";
|
2024-05-01 09:34:37 +00:00
|
|
|
|
import { QuizMetricType } from "@model/quizSettings";
|
2024-05-17 12:04:59 +00:00
|
|
|
|
import { AmoCRMLogo } from "../mocks/AmoCRMLogo";
|
2024-05-21 21:29:33 +00:00
|
|
|
|
|
|
|
|
|
|
const AnalyticsModal = lazy(() =>
|
|
|
|
|
|
import("./AnalyticsModal/AnalyticsModal").then((module) => ({
|
|
|
|
|
|
default: module.AnalyticsModal,
|
|
|
|
|
|
})),
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
const AmoCRMModal = lazy(() =>
|
|
|
|
|
|
import("../IntegrationsModal/AmoCRMModal").then((module) => ({
|
|
|
|
|
|
default: module.AmoCRMModal,
|
|
|
|
|
|
})),
|
|
|
|
|
|
);
|
2024-04-04 13:48:45 +00:00
|
|
|
|
|
|
|
|
|
|
type PartnersBoardProps = {
|
|
|
|
|
|
setIsModalOpen: (value: boolean) => void;
|
2024-05-01 09:34:37 +00:00
|
|
|
|
companyName: keyof typeof QuizMetricType | null;
|
|
|
|
|
|
setCompanyName: (value: keyof typeof QuizMetricType) => void;
|
2024-04-18 01:32:39 +00:00
|
|
|
|
isModalOpen: boolean;
|
2024-04-18 12:32:46 +00:00
|
|
|
|
handleCloseModal: () => void;
|
2024-05-17 12:04:59 +00:00
|
|
|
|
setIsAmoCrmModalOpen: (value: boolean) => void;
|
|
|
|
|
|
isAmoCrmModalOpen: boolean;
|
|
|
|
|
|
handleCloseAmoSRMModal: () => void;
|
2024-04-04 13:48:45 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
export const PartnersBoard: FC<PartnersBoardProps> = ({
|
|
|
|
|
|
setIsModalOpen,
|
2024-04-18 01:32:39 +00:00
|
|
|
|
isModalOpen,
|
|
|
|
|
|
handleCloseModal,
|
2024-04-30 12:23:58 +00:00
|
|
|
|
companyName,
|
2024-04-05 10:48:10 +00:00
|
|
|
|
setCompanyName,
|
2024-05-17 12:04:59 +00:00
|
|
|
|
setIsAmoCrmModalOpen,
|
|
|
|
|
|
isAmoCrmModalOpen,
|
|
|
|
|
|
handleCloseAmoSRMModal,
|
2024-04-04 13:48:45 +00:00
|
|
|
|
}) => {
|
|
|
|
|
|
const theme = useTheme();
|
2024-05-21 21:29:33 +00:00
|
|
|
|
const isMobile = useMediaQuery(theme.breakpoints.down(600));
|
2024-04-04 13:48:45 +00:00
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
|
<Box
|
|
|
|
|
|
sx={{
|
|
|
|
|
|
width: "100%",
|
|
|
|
|
|
display: "flex",
|
|
|
|
|
|
flexDirection: "column",
|
|
|
|
|
|
justifyContent: { xs: "center", sm: "center", md: "start" },
|
|
|
|
|
|
}}
|
|
|
|
|
|
>
|
2024-04-30 12:23:58 +00:00
|
|
|
|
<Box>
|
2024-05-17 12:04:59 +00:00
|
|
|
|
<Typography
|
|
|
|
|
|
variant="h6"
|
|
|
|
|
|
sx={{
|
|
|
|
|
|
textAlign: { xs: "start", sm: "start", md: "start" },
|
|
|
|
|
|
lineHeight: "1",
|
|
|
|
|
|
marginBottom: "12px",
|
|
|
|
|
|
}}
|
|
|
|
|
|
>
|
|
|
|
|
|
CRM
|
|
|
|
|
|
</Typography>
|
|
|
|
|
|
<Box
|
|
|
|
|
|
sx={{
|
|
|
|
|
|
display: "flex",
|
|
|
|
|
|
flexWrap: "wrap",
|
|
|
|
|
|
justifyContent: { xs: "start", sm: "start", md: "start" },
|
|
|
|
|
|
}}
|
|
|
|
|
|
>
|
|
|
|
|
|
<ServiceButton
|
|
|
|
|
|
logo={<AmoCRMLogo />}
|
|
|
|
|
|
setIsModalOpen={setIsAmoCrmModalOpen}
|
|
|
|
|
|
setCompanyName={setCompanyName}
|
|
|
|
|
|
name={"amoCRM"}
|
|
|
|
|
|
/>
|
|
|
|
|
|
</Box>
|
|
|
|
|
|
|
2024-04-30 12:23:58 +00:00
|
|
|
|
<Typography
|
|
|
|
|
|
variant="h6"
|
|
|
|
|
|
sx={{
|
|
|
|
|
|
textAlign: { xs: "start", sm: "start", md: "start" },
|
|
|
|
|
|
lineHeight: "1",
|
|
|
|
|
|
marginBottom: "12px",
|
|
|
|
|
|
}}
|
|
|
|
|
|
>
|
|
|
|
|
|
Аналитика
|
|
|
|
|
|
</Typography>
|
|
|
|
|
|
<Box
|
|
|
|
|
|
sx={{
|
|
|
|
|
|
display: "flex",
|
|
|
|
|
|
flexWrap: "wrap",
|
|
|
|
|
|
justifyContent: { xs: "start", sm: "start", md: "start" },
|
|
|
|
|
|
}}
|
|
|
|
|
|
>
|
|
|
|
|
|
<ServiceButton
|
|
|
|
|
|
logo={<YandexMetricaLogo />}
|
|
|
|
|
|
setIsModalOpen={setIsModalOpen}
|
|
|
|
|
|
name={"yandex"}
|
|
|
|
|
|
setCompanyName={setCompanyName}
|
|
|
|
|
|
/>
|
|
|
|
|
|
<ServiceButton
|
|
|
|
|
|
logo={<VKPixelLogo />}
|
|
|
|
|
|
title={"VK Пиксель"}
|
|
|
|
|
|
name={"vk"}
|
|
|
|
|
|
setIsModalOpen={setIsModalOpen}
|
|
|
|
|
|
setCompanyName={setCompanyName}
|
|
|
|
|
|
></ServiceButton>
|
|
|
|
|
|
</Box>
|
|
|
|
|
|
</Box>
|
2024-05-01 09:34:37 +00:00
|
|
|
|
{companyName && (
|
2024-05-21 21:29:33 +00:00
|
|
|
|
<Suspense>
|
|
|
|
|
|
<AnalyticsModal
|
|
|
|
|
|
isModalOpen={isModalOpen}
|
|
|
|
|
|
handleCloseModal={handleCloseModal}
|
|
|
|
|
|
companyName={companyName}
|
|
|
|
|
|
/>
|
|
|
|
|
|
</Suspense>
|
2024-05-01 09:34:37 +00:00
|
|
|
|
)}
|
2024-05-17 12:04:59 +00:00
|
|
|
|
{companyName && (
|
2024-05-21 21:29:33 +00:00
|
|
|
|
<Suspense>
|
|
|
|
|
|
<AmoCRMModal
|
|
|
|
|
|
isModalOpen={isAmoCrmModalOpen}
|
|
|
|
|
|
handleCloseModal={handleCloseAmoSRMModal}
|
|
|
|
|
|
companyName={companyName}
|
|
|
|
|
|
/>
|
|
|
|
|
|
</Suspense>
|
2024-05-17 12:04:59 +00:00
|
|
|
|
)}
|
2024-04-04 13:48:45 +00:00
|
|
|
|
</Box>
|
|
|
|
|
|
);
|
|
|
|
|
|
};
|