refactor: comments removed

This commit is contained in:
IlyaDoronin 2024-04-26 17:41:36 +03:00
parent ffba0c8d04
commit 0362770311
110 changed files with 44 additions and 2474 deletions

@ -1,17 +1,14 @@
const CracoAlias = require("craco-alias"); const CracoAlias = require("craco-alias");
module.exports = { module.exports = {
plugins: [ plugins: [
{ {
plugin: CracoAlias, plugin: CracoAlias,
options: { options: {
source: "tsconfig", source: "tsconfig",
// baseUrl SHOULD be specified baseUrl: "./src",
// plugin does not take it from tsconfig tsConfigPath: "./tsconfig.extend.json",
baseUrl: "./src", },
// tsConfigPath should point to the file where "baseUrl" and "paths" are specified },
tsConfigPath: "./tsconfig.extend.json" ],
} };
}
]
};

@ -61,8 +61,6 @@ describe("Тестирование полей главной страницы",
cy.wait(500); cy.wait(500);
// cy.get('[data-cy="create-question"]').click();
cy.get(`[data-cy="select-questiontype-images"]`).click(); cy.get(`[data-cy="select-questiontype-images"]`).click();
cy.get( cy.get(
'[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input', '[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input',

@ -22,7 +22,6 @@ describe("Тестирование полей вопросов", () => {
cy.get('[data-cy="setup-questions"]').click(); cy.get('[data-cy="setup-questions"]').click();
cy.wait(500); cy.wait(500);
// cy.get('[data-cy="create-question"]').click();
cy.get(`[data-cy="select-questiontype-images"]`).click(); cy.get(`[data-cy="select-questiontype-images"]`).click();

@ -137,17 +137,5 @@ describe("Тест на появление страницы Результато
cy.get("#buttonFurther").click(); cy.get("#buttonFurther").click();
cy.wait(2000); cy.wait(2000);
cy.get("#find-out-more-button").should("not.exist"); cy.get("#find-out-more-button").should("not.exist");
// let linkText;
// cy.get('[data-cy="link-test"]')
// .invoke("text")
// .then((text) => {
// linkText = text;
// });
// cy.wait(2000).then(() => {
// cy.visit(linkText);
// });
}); });
}); });

@ -67,7 +67,7 @@ export async function logout(): Promise<[unknown, string?]> {
} catch (nativeError) { } catch (nativeError) {
const [error] = parseAxiosError(nativeError); const [error] = parseAxiosError(nativeError);
//return [null, `Не удалось выйти. ${error}`]; return [null];
} }
} }

@ -26,7 +26,6 @@ async function makeRequest<TRequest = unknown, TResponse = unknown>(
return response as TResponse; return response as TResponse;
} catch (e) { } catch (e) {
const error = e as AxiosError; const error = e as AxiosError;
//@ts-ignore
if ( if (
error.response?.status === 400 && error.response?.status === 400 &&
error.response?.data?.message === "refreshToken is empty" error.response?.data?.message === "refreshToken is empty"

@ -44,6 +44,7 @@ async function getQuestionList(body?: Partial<GetQuestionListRequest>) {
(question) => { (question) => {
let data = question; let data = question;
for (let key in question) { for (let key in question) {
const k = key as keyof RawQuestion;
//@ts-ignore //@ts-ignore
if (question[key] === " ") data[key] = ""; if (question[key] === " ") data[key] = "";
} }

@ -141,7 +141,6 @@ export default function Notebook({ color }: Props) {
</g> </g>
<mask <mask
id="mask0_3_590" id="mask0_3_590"
// style="mask-type:alpha"
maskUnits="userSpaceOnUse" maskUnits="userSpaceOnUse"
x="26" x="26"
y="10" y="10"

@ -8,8 +8,6 @@ export default function AddressIcon({ color }: Props) {
return ( return (
<Box <Box
sx={{ sx={{
// height: "38px",
// width: "45px",
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
justifyContent: "center", justifyContent: "center",

@ -8,8 +8,6 @@ export default function EmailIcon({ color }: Props) {
return ( return (
<Box <Box
sx={{ sx={{
// height: "38px",
// width: "45px",
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
justifyContent: "center", justifyContent: "center",

@ -8,8 +8,6 @@ export default function NameIcon({ color }: Props) {
return ( return (
<Box <Box
sx={{ sx={{
// height: "38px",
// width: "45px",
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
justifyContent: "center", justifyContent: "center",

@ -8,8 +8,6 @@ export default function PhoneIcon({ color }: Props) {
return ( return (
<Box <Box
sx={{ sx={{
// height: "38px",
// width: "45px",
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
justifyContent: "center", justifyContent: "center",

@ -8,8 +8,6 @@ export default function TextIcon({ color }: Props) {
return ( return (
<Box <Box
sx={{ sx={{
// height: "38px",
// width: "45px",
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
justifyContent: "center", justifyContent: "center",

@ -8,8 +8,6 @@ export default function SupplementIcon({ color }: Props) {
return ( return (
<Box <Box
sx={{ sx={{
// height: "38px",
// width: "45px",
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
justifyContent: "center", justifyContent: "center",

@ -1,9 +1,5 @@
import { Box } from "@mui/material"; import { Box } from "@mui/material";
// interface Props {
// color: string;
// }
export default function AddEmoji() { export default function AddEmoji() {
return ( return (
<Box <Box

@ -1,9 +1,5 @@
import { Box } from "@mui/material"; import { Box } from "@mui/material";
// interface Props {
// color: string;
// }
export default function AddPlus() { export default function AddPlus() {
return ( return (
<Box <Box

@ -1,9 +1,5 @@
import { Box } from "@mui/material"; import { Box } from "@mui/material";
// interface Props {
// color: string;
// }
export default function AddVideofile() { export default function AddVideofile() {
return ( return (
<Box <Box

@ -8,8 +8,6 @@ export default function Branching({ color }: Props) {
return ( return (
<Box <Box
sx={{ sx={{
// height: "38px",
// width: "45px",
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
justifyContent: "center", justifyContent: "center",

@ -8,8 +8,6 @@ export default function Clue({ color }: Props) {
return ( return (
<Box <Box
sx={{ sx={{
// height: "38px",
// width: "45px",
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
justifyContent: "center", justifyContent: "center",

@ -8,8 +8,6 @@ export default function ImgIcon({ color }: Props) {
return ( return (
<Box <Box
sx={{ sx={{
// height: "38px",
// width: "45px",
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
justifyContent: "center", justifyContent: "center",

@ -8,8 +8,6 @@ export default function SettingIcon({ color }: Props) {
return ( return (
<Box <Box
sx={{ sx={{
// height: "38px",
// width: "45px",
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
justifyContent: "center", justifyContent: "center",

@ -20,7 +20,6 @@ export const quizSetupSteps = [
sidebarText: "Результаты", sidebarText: "Результаты",
sidebarIcon: ChartPieIcon, sidebarIcon: ChartPieIcon,
}, },
// { stepperText: "Оценка графа карты вопросов", sidebarText: "Карта вопросов", sidebarIcon: QuestionsMapIcon },
{ {
stepperText: "Настройте форму контактов", stepperText: "Настройте форму контактов",
sidebarText: "Форма контактов", sidebarText: "Форма контактов",
@ -31,7 +30,6 @@ export const quizSetupSteps = [
sidebarText: "Установка quiz", sidebarText: "Установка quiz",
sidebarIcon: FlowArrowIcon, sidebarIcon: FlowArrowIcon,
}, },
// { stepperText: "Запустите рекламу", sidebarText: "Запуск рекламы", sidebarIcon: MegaphoneIcon },
] as const; ] as const;
export const maxQuizSetupSteps = quizSetupSteps.length; export const maxQuizSetupSteps = quizSetupSteps.length;

@ -153,7 +153,6 @@ export default function Analytics() {
open={isOpen} open={isOpen}
onClose={handleClose} onClose={handleClose}
onOpen={handleOpen} onOpen={handleOpen}
// defaultValue={now}
minDate={moment(quiz?.created_at)} minDate={moment(quiz?.created_at)}
sx={{ sx={{
width: isMobile ? "285px" : "170px", width: isMobile ? "285px" : "170px",
@ -199,7 +198,6 @@ export default function Analytics() {
open={isOpenEnd} open={isOpenEnd}
onClose={handleCloseEnd} onClose={handleCloseEnd}
onOpen={handleOpenEnd} onOpen={handleOpenEnd}
// defaultValue={now}
minDate={moment(quiz?.created_at)} minDate={moment(quiz?.created_at)}
sx={{ sx={{
width: isMobile ? "285px" : "170px", width: isMobile ? "285px" : "170px",

@ -27,28 +27,6 @@ export const AnswersStatistics: FC<AnswersStatisticsProps> = ({ data }) => {
> >
Статистика по ответам Статистика по ответам
</Typography> </Typography>
{/* <ButtonBase
sx={{
marginTop: "35px",
display: "flex",
justifyContent: "center",
alignItems: "center",
gap: "5px",
padding: "10px",
width: "100%",
maxWidth: "160px",
background: "#FFFFFF",
border: "1px solid #9A9AAF",
borderRadius: "8px",
color: theme.palette.brightPurple.main,
boxShadow: "0 0 20px rgba(0, 0, 0, 0.15)",
}}
>
<Typography>Фильтры</Typography>
<Box>
<OpenIcon />
</Box>
</ButtonBase> */}
<Box <Box
sx={{ sx={{
display: isSmallMonitor && !isMobile ? "flex" : "block", display: isSmallMonitor && !isMobile ? "flex" : "block",

@ -1,4 +1,3 @@
import { FC, useEffect } from "react";
import { import {
Box, Box,
LinearProgress, LinearProgress,
@ -8,6 +7,8 @@ import {
useTheme, useTheme,
} from "@mui/material"; } from "@mui/material";
import type { FC } from "react";
type FunnelItemProps = { type FunnelItemProps = {
title: string; title: string;
percent: number; percent: number;
@ -113,22 +114,6 @@ export const Funnel: FC<FunnelProps> = ({ data, funnelData }) => {
const isSmallMonitor = useMediaQuery(theme.breakpoints.down(1150)); const isSmallMonitor = useMediaQuery(theme.breakpoints.down(1150));
const isMobile = useMediaQuery(theme.breakpoints.down(850)); const isMobile = useMediaQuery(theme.breakpoints.down(850));
useEffect(() => {
// const requestFunnel = async () => {
// const [funnelResponse, funnelError] = await getGeneral("14761");
// if (funnelError) {
// enqueueSnackbar(funnelError);
// return;
// }
// if (!funnelResponse) {
// enqueueSnackbar("Воронка пуста.");
// return;
// }
// setFunnel(funnelResponse);
// };
// requestFunnel();
}, []);
if (!data) if (!data)
return ( return (
<Typography textAlign="center" m="10px 0"> <Typography textAlign="center" m="10px 0">

@ -100,28 +100,6 @@ export const Devices: FC<DevicesProps> = ({ data }) => {
const isTablet = useMediaQuery(theme.breakpoints.down(1000)); const isTablet = useMediaQuery(theme.breakpoints.down(1000));
const isMobile = useMediaQuery(theme.breakpoints.down(700)); const isMobile = useMediaQuery(theme.breakpoints.down(700));
// useEffect(() => {
// const requestDevices = async () => {
// const [devicesResponse, devicesError] = await getDevices("14761");
// if (devicesError) {
// enqueueSnackbar(devicesError);
// return;
// }
// if (!devicesResponse) {
// enqueueSnackbar("Список девайсов пуст.");
// return;
// }
// setDevices(devicesResponse);
// };
// // requestDevices();
// }, []);
return ( return (
<Box sx={{ marginTop: "120px" }}> <Box sx={{ marginTop: "120px" }}>
<Typography <Typography

@ -93,7 +93,6 @@ const GeneralItem = ({
: String(value.toFixed(2)), : String(value.toFixed(2)),
}, },
]} ]}
// dataset={Object.entries(general).map(([, v]) => moment.unix(v).format("ss:mm:HH")).reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {})}
height={220} height={220}
colors={[color]} colors={[color]}
sx={{ sx={{
@ -185,7 +184,6 @@ const GeneralItemTimeConv = ({
}, },
}, },
]} ]}
// dataset={Object.entries(general).map(([, v]) => moment.unix(v).format("ss:mm:HH")).reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {})}
height={220} height={220}
colors={[color]} colors={[color]}
sx={{ sx={{

@ -120,8 +120,6 @@ export default function BranchingForm() {
component="button" component="button"
variant="body2" variant="body2"
sx={{ color: theme.palette.brightPurple.main }} sx={{ color: theme.palette.brightPurple.main }}
// onClick={() => {
// }}
> >
Добавить условие Добавить условие
</Link> </Link>

@ -63,28 +63,6 @@ export default function ContactFormPage() {
mt: "67px", mt: "67px",
}} }}
> >
{/*<Box*/}
{/* sx={{*/}
{/* display: "flex",*/}
{/* alignItems: "center",*/}
{/* gap: "10px",*/}
{/* m: "67px 0 41px 0",*/}
{/* }}*/}
{/*>*/}
{/* <Link*/}
{/* sx={{*/}
{/* fontSize: "16px",*/}
{/* lineHeight: "19px",*/}
{/* color: theme.palette.brightPurple.main,*/}
{/* textDecorationColor: theme.palette.brightPurple.main,*/}
{/* }}*/}
{/* >*/}
{/* Как собрать данные посетителя*/}
{/* </Link>{" "}*/}
{/* /!* <Popover>*/}
{/* <Info />*/}
{/* </Popover> *!/*/}
{/*</Box>*/}
{!quiz?.config.formContact.fields.name.used && {!quiz?.config.formContact.fields.name.used &&
!quiz?.config.formContact.fields.email.used && !quiz?.config.formContact.fields.email.used &&
!quiz?.config.formContact.fields.phone.used && !quiz?.config.formContact.fields.phone.used &&
@ -162,7 +140,6 @@ function ContactFormParent({ outerContainerSx: sx, children }: Props) {
> >
<Box <Box
sx={{ sx={{
// borderRight: isTablet ? "none" : `1px solid ${theme.palette.grey2.main}`,
maxWidth: "386px", maxWidth: "386px",
width: "100%", width: "100%",
padding: "100px 20px 20px 20px", padding: "100px 20px 20px 20px",
@ -335,20 +312,6 @@ const ButtonsCard = ({
Добавить поле + Добавить поле +
</Button> </Button>
)} )}
{/* <Link
component="button"
// onClick={() => drawerMessengerHC(true)}
sx={{
fontSize: "16px",
lineHeight: "19px",
color: theme.palette.brightPurple.main,
textDecorationColor: theme.palette.brightPurple.main,
textAlign: "left",
}}
>
Добавить мессенджеры
</Link> */}
<PseudoButton /> <PseudoButton />
</Box> </Box>
); );
@ -408,17 +371,6 @@ const EmptyCard = ({
</Typography> </Typography>
</Popover> </Popover>
</Box> </Box>
{/* <Link
sx={{
mt: "20px",
fontSize: "16px",
lineHeight: "19px",
color: theme.palette.brightPurple.main,
textDecorationColor: theme.palette.brightPurple.main,
}}
>
Добавить мессенджеры
</Link> */}
<PseudoButton /> <PseudoButton />
</Box> </Box>
); );

@ -80,44 +80,6 @@ export default function NewFieldParent({
</Box> </Box>
</> </>
)} )}
{/*<Box sx={{ display: "flex", flexDirection: "column", gap: "15px" }}>*/}
{/* <Typography>Ключ</Typography>*/}
{/* <TextField*/}
{/* value={quiz.config.formContact.fields[defaultValue].key}*/}
{/* onChange={({ target }) => {*/}
{/* updateQuiz(quiz.id, (quiz) => {*/}
{/* quiz.config.formContact.fields[defaultValue].key = target.value;*/}
{/* });*/}
{/* }}*/}
{/* placeholder="text"*/}
{/* sx={{*/}
{/* "& .css-1d3z3hw-MuiOutlinedInput-notchedOutline": {*/}
{/* border: "none",*/}
{/* },*/}
{/* "& .MuiInputBase-root": {*/}
{/* height: "48px",*/}
{/* borderRadius: "10px",*/}
{/* backgroundColor: "#EEE4FC",*/}
{/* },*/}
{/* }}*/}
{/* />*/}
{/* <CustomCheckbox*/}
{/* checked={quiz.config.formContact.fields[defaultValue].required}*/}
{/* handleChange={({ target }) => {*/}
{/* updateQuiz(quiz.id, (quiz) => {*/}
{/* quiz.config.formContact.fields[defaultValue].required =*/}
{/* target.checked;*/}
{/* });*/}
{/* }}*/}
{/* label={"Обязательно к заполнению"}*/}
{/* />*/}
{/*</Box>*/}
{/* <Box>
<Typography>Запрашивать на</Typography>
<CustomCheckbox label={'Шаг 1'}/>
<CustomCheckbox label={'Шаг 2'}/>
</Box> */}
{children} {children}
<Button <Button
onClick={() => { onClick={() => {

@ -48,21 +48,6 @@ export default function SwitchNewField({
noinputs={true} noinputs={true}
defaultValue={"phone"} defaultValue={"phone"}
> >
{/* <FormControlLabel
value="start"
control={<CustomizedSwitch/>}
label="Маска для телефона"
labelPlacement="start"
sx={{
display: 'flex',
justifyContent: 'space-between'
}}
onClick={() => {
SwitchMaskHC(!SwitchMask)
}}
/> */}
{SwitchMask ? <SelectMask /> : <></>} {SwitchMask ? <SelectMask /> : <></>}
</NewFieldParent> </NewFieldParent>
); );

@ -28,9 +28,7 @@ export default function AutoOpenInstall() {
return ( return (
<InstallQzOnSiteParent> <InstallQzOnSiteParent>
{/*левая часть*/}
<Box sx={{ maxWidth: "560px" }}> <Box sx={{ maxWidth: "560px" }}>
{/*бокс с кнопкой*/}
<Box <Box
sx={{ sx={{
border: "1.5px solid #9A9AAF", border: "1.5px solid #9A9AAF",
@ -87,7 +85,6 @@ export default function AutoOpenInstall() {
сохраняются. сохраняются.
</Typography> </Typography>
</Box> </Box>
{/*правая часть*/}
<Box sx={{ display: "flex", flexDirection: "column", gap: "15px" }}> <Box sx={{ display: "flex", flexDirection: "column", gap: "15px" }}>
<Box sx={{ display: "flex", alignItems: "center" }}> <Box sx={{ display: "flex", alignItems: "center" }}>
<CustomCheckbox <CustomCheckbox

@ -38,7 +38,6 @@ export default function BannerInstall() {
return ( return (
<InstallQzOnSiteParent> <InstallQzOnSiteParent>
{/*левая часть*/}
<Box sx={{ maxWidth: "560px" }}> <Box sx={{ maxWidth: "560px" }}>
<img src={BannerImg} /> <img src={BannerImg} />
<Typography sx={{ fontSize: "14px", color: theme.palette.grey2.main }}> <Typography sx={{ fontSize: "14px", color: theme.palette.grey2.main }}>
@ -47,7 +46,6 @@ export default function BannerInstall() {
сохраняются. сохраняются.
</Typography> </Typography>
</Box> </Box>
{/*правая часть*/}
<Box sx={{ display: "flex", flexDirection: "column" }}> <Box sx={{ display: "flex", flexDirection: "column" }}>
<Box sx={{ display: "flex", flexDirection: "column", gap: "15px" }}> <Box sx={{ display: "flex", flexDirection: "column", gap: "15px" }}>
<Typography sx={{ color: theme.palette.grey2.main }}> <Typography sx={{ color: theme.palette.grey2.main }}>
@ -253,7 +251,6 @@ export default function BannerInstall() {
</AccordMy> </AccordMy>
<Link <Link
component="button" component="button"
// onClick={}
sx={{ sx={{
fontSize: "16px", fontSize: "16px",
lineHeight: "19px", lineHeight: "19px",

@ -54,7 +54,6 @@ export default function ButtonSocial() {
</IconButton> </IconButton>
</Box> </Box>
{/*модалка Graph*/}
<Modal <Modal
open={openGraph} open={openGraph}
onClose={handleCloseGraph} onClose={handleCloseGraph}
@ -158,7 +157,6 @@ export default function ButtonSocial() {
</Box> </Box>
</Modal> </Modal>
{/*модалка тиктока*/}
<Modal <Modal
open={openTiktok} open={openTiktok}
onClose={handleCloseTiktok} onClose={handleCloseTiktok}
@ -222,11 +220,7 @@ export default function ButtonSocial() {
}} }}
endAdornment={ endAdornment={
<InputAdornment position="end"> <InputAdornment position="end">
<IconButton <IconButton edge="end">
// onClick={}
// onMouseDown={}
edge="end"
>
<CopyIcon <CopyIcon
color={"#ffffff"} color={"#ffffff"}
bgcolor={theme.palette.brightPurple.main} bgcolor={theme.palette.brightPurple.main}
@ -276,7 +270,6 @@ export default function ButtonSocial() {
</Box> </Box>
</Modal> </Modal>
{/*модалка QR*/}
<Modal <Modal
open={openQr} open={openQr}
onClose={handleCloseQr} onClose={handleCloseQr}

@ -9,16 +9,13 @@ export default function InBodyInstall() {
const theme = useTheme(); const theme = useTheme();
return ( return (
<InstallQzOnSiteParent> <InstallQzOnSiteParent>
{/*левая часть*/}
<Box sx={{ maxWidth: "560px" }}> <Box sx={{ maxWidth: "560px" }}>
{/*бокс с кнопкой*/}
<Box <Box
sx={{ sx={{
border: "1.5px solid #9A9AAF", border: "1.5px solid #9A9AAF",
borderRadius: "6px", borderRadius: "6px",
maxWidth: "560px", maxWidth: "560px",
height: "364px", height: "364px",
// height: '100%'
}} }}
> >
<Box <Box
@ -83,7 +80,6 @@ export default function InBodyInstall() {
</Typography> </Typography>
</Box> </Box>
{/*правая часть*/}
<Box sx={{ display: "flex", flexDirection: "column", gap: "15px" }}> <Box sx={{ display: "flex", flexDirection: "column", gap: "15px" }}>
<Typography>1. Задайте размеры (опционально)</Typography> <Typography>1. Задайте размеры (опционально)</Typography>
<Box sx={{ display: "flex", gap: "40px" }}> <Box sx={{ display: "flex", gap: "40px" }}>
@ -156,7 +152,6 @@ export default function InBodyInstall() {
<CustomTextField placeholder={"Пройти тест"} /> <CustomTextField placeholder={"Пройти тест"} />
<Link <Link
component="button" component="button"
// onClick={}
sx={{ sx={{
fontSize: "16px", fontSize: "16px",
lineHeight: "19px", lineHeight: "19px",

@ -80,9 +80,7 @@ export default function InstallQuiz() {
?.value; ?.value;
let text = (document.getElementById("inputLink") as HTMLInputElement) let text = (document.getElementById("inputLink") as HTMLInputElement)
?.value; ?.value;
// text.select();
navigator.clipboard.writeText(one + text); navigator.clipboard.writeText(one + text);
// document.execCommand("copy");
}; };
return ( return (
@ -123,15 +121,6 @@ export default function InstallQuiz() {
/> />
<Typography>Ссылка на quiz</Typography> <Typography>Ссылка на quiz</Typography>
</Box> </Box>
{/*<Tooltip*/}
{/* title="Скопируйте или укажите свою ссылку на quiz. Ссылка должна быть от 4 до 20 символов включительно, может содержать латинские буквы, цифры, тире '-' и нижнее подчеркивание '_'."*/}
{/* placement="top"*/}
{/*>*/}
{/* <Box>*/}
{/* <InfoIcon />*/}
{/* </Box>*/}
{/*</Tooltip>*/}
<FormControl <FormControl
fullWidth fullWidth
size="small" size="small"
@ -139,7 +128,6 @@ export default function InstallQuiz() {
width: "100%", width: "100%",
maxWidth: "180px", maxWidth: "180px",
height: "48px", height: "48px",
// margin: '0 10px'
}} }}
> >
<Select <Select
@ -200,19 +188,6 @@ export default function InstallQuiz() {
> >
Стандартная Стандартная
</MenuItem> </MenuItem>
{/*<MenuItem*/}
{/* value={2}*/}
{/* sx={{*/}
{/* display: "flex",*/}
{/* alignItems: "center",*/}
{/* gap: "20px",*/}
{/* p: "4px",*/}
{/* borderRadius: "5px",*/}
{/* color: theme.palette.grey2.main,*/}
{/* }}*/}
{/*>*/}
{/* На поддомене*/}
{/*</MenuItem>*/}
</Select> </Select>
</FormControl> </FormControl>
</Box> </Box>
@ -277,8 +252,6 @@ export default function InstallQuiz() {
justifyContent: "flex-end", justifyContent: "flex-end",
}} }}
> >
{/*<ButtonSocial />*/}
<Typography sx={{ color: "#FC712F" }}> <Typography sx={{ color: "#FC712F" }}>
{quiz?.status === "start" ? "Опубликован" : "Не опубликован"} {quiz?.status === "start" ? "Опубликован" : "Не опубликован"}
</Typography> </Typography>
@ -490,576 +463,12 @@ export default function InstallQuiz() {
> >
<ArrowLeft /> <ArrowLeft />
</Button> </Button>
{/*<Button variant="contained" onClick={incrementCurrentStep}>*/}
{/* Запустить рекламу*/}
{/*</Button>*/}
</Box> </Box>
</Box> </Box>
</> </>
); );
} }
// export default function InstallQuiz() {
// const [display, setDisplay] = React.useState("1");
// const handleChange = (event: SelectChangeEvent) => {
// setDisplay(event.target.value);
// };
// const [openVk, setOpenVk] = React.useState(false);
// const handleOpenVk = () => setOpenVk(true);
// const handleCloseVk = () => setOpenVk(false);
// const [openDom, setOpenDom] = React.useState(false);
// const handleOpenDom = () => setOpenDom(true);
// const handleCloseDom = () => setOpenDom(false);
// const [backgroundType, setBackgroundType] = useState<BackgroundType>("text");
// const theme = useTheme();
// return (
// <>
// <Box sx={{ marginTop: "60px", display: "flex", gap: "40px" }}>
// <Paper
// sx={{
// maxWidth: "522px",
// width: "100%",
// padding: "20px",
// borderRadius: "12px",
// display: "flex",
// flexDirection: "column",
// gap: "30px",
// boxShadow:
// "0px 100px 309px rgba(210, 208, 225, 0.24), 0px 41.7776px 129.093px rgba(210, 208, 225, 0.172525), 0px 22.3363px 69.0192px rgba(210, 208, 225, 0.143066), 0px 12.5216px 38.6916px rgba(210, 208, 225, 0.12), 0px 6.6501px 20.5488px rgba(210, 208, 225, 0.0969343), 0px 2.76726px 8.55082px rgba(210, 208, 225, 0.0674749)",
// }}
// >
// <Box sx={{ display: "flex", alignItems: "center", gap: "10px" }}>
// <LinkIcon color={theme.palette.brightPurple.main} bgcolor={"#EEE4FC"} />
// <Typography>Ссылка на квиз</Typography>
// <Tooltip
// title="Скопируйте или укажите свою ссылку на квиз. Ссылка должна быть от 4 до 20 символов включительно, может содержать латинские буквы, цифры, тире '-' и нижнее подчеркивание '_'."
// placement="top"
// >
// <Box>
// <InfoIcon />
// </Box>
// </Tooltip>
// <FormControl
// fullWidth
// size="small"
// sx={{
// width: "100%",
// maxWidth: "180px",
// height: "48px",
// // margin: '0 10px'
// }}
// >
// <Select
// id="display-select"
// variant="outlined"
// value={display}
// displayEmpty
// onChange={handleChange}
// sx={{
// height: "48px",
// borderRadius: "8px",
// "& .MuiOutlinedInput-notchedOutline": {
// border: "none !important",
// },
// }}
// MenuProps={{
// PaperProps: {
// sx: {
// mt: "8px",
// p: "4px",
// borderRadius: "8px",
// },
// },
// MenuListProps: {
// sx: {
// py: 0,
// display: "flex",
// flexDirection: "column",
// gap: "8px",
// "& .Mui-selected": {
// backgroundColor: theme.palette.background.default,
// color: theme.palette.brightPurple.main,
// },
// },
// },
// }}
// inputProps={{
// sx: {
// color: theme.palette.brightPurple.main,
// display: "flex",
// alignItems: "center",
// px: "9px",
// gap: "20px",
// },
// }}
// IconComponent={(props) => <ArrowDown {...props} />}
// >
// <MenuItem
// value={1}
// sx={{
// display: "flex",
// alignItems: "center",
// gap: "20px",
// p: "4px",
// borderRadius: "5px",
// color: theme.palette.grey2.main,
// }}
// >
// Стандартная
// </MenuItem>
// <MenuItem
// value={2}
// sx={{
// display: "flex",
// alignItems: "center",
// gap: "20px",
// p: "4px",
// borderRadius: "5px",
// color: theme.palette.grey2.main,
// }}
// >
// На поддомене
// </MenuItem>
// </Select>
// </FormControl>
// </Box>
// <Box sx={{ display: "flex", alignItems: "center" }}>
// <FormControl fullWidth variant="standard" sx={{ p: 0 }}>
// <TextField
// disabled
// id="outlined-disabled"
// value="https://pena.com/"
// sx={{
// "& .css-1d3z3hw-MuiOutlinedInput-notchedOutline": {
// border: "none",
// },
// "& .MuiInputBase-root": {
// height: "48px",
// borderRadius: "10px 0 0 10px",
// backgroundColor: "#EEE4FC",
// },
// }}
// />
// </FormControl>
// <FormControl fullWidth variant="standard" sx={{ p: 0 }}>
// <TextField
// value=""
// fullWidth
// placeholder="6235840cc71"
// sx={{
// "& .MuiInputBase-root": {
// backgroundColor: theme.palette.background.default,
// height: "48px",
// borderRadius: "0 10px 10px 0",
// },
// }}
// inputProps={{
// sx: {
// borderRadius: "0 10px 10px 0",
// fontSize: "18px",
// lineHeight: "21px",
// py: 0,
// },
// }}
// />
// </FormControl>
// <CopyIcon color={theme.palette.brightPurple.main} bgcolor={"#EEE4FC"} marL={"10px"} />
// </Box>
// <Box
// sx={{
// display: "flex",
// alignItems: "center",
// justifyContent: "space-between",
// }}
// >
// <ButtonSocial />
// <Typography sx={{ color: "#FC712F" }}>Не опубликован</Typography>
// </Box>
// </Paper>
// <Paper
// sx={{
// maxWidth: "220px",
// width: "100%",
// padding: "20px",
// borderRadius: "12px",
// display: "flex",
// flexDirection: "column",
// gap: "18px",
// boxShadow:
// "0px 100px 309px rgba(210, 208, 225, 0.24), 0px 41.7776px 129.093px rgba(210, 208, 225, 0.172525), 0px 22.3363px 69.0192px rgba(210, 208, 225, 0.143066), 0px 12.5216px 38.6916px rgba(210, 208, 225, 0.12), 0px 6.6501px 20.5488px rgba(210, 208, 225, 0.0969343), 0px 2.76726px 8.55082px rgba(210, 208, 225, 0.0674749)",
// }}
// >
// <Box sx={{ display: "flex", alignItems: "center", gap: "10px" }}>
// <VkIcon color={theme.palette.brightPurple.main} bgcolor={"#EEE4FC"} />
// <Typography> Вконтакте</Typography>
// </Box>
// <Typography>Для публикации сниппета на стене группы, призывающего пройти тест.</Typography>
// <Link
// component="button"
// onClick={handleOpenVk}
// sx={{
// fontSize: "16px",
// lineHeight: "19px",
// color: theme.palette.brightPurple.main,
// textDecorationColor: theme.palette.brightPurple.main,
// textAlign: "left",
// }}
// >
// Подключить
// </Link>
// </Paper>
// <Paper
// sx={{
// maxWidth: "220px",
// width: "100%",
// padding: "20px",
// borderRadius: "12px",
// display: "flex",
// flexDirection: "column",
// gap: "18px",
// boxShadow:
// "0px 100px 309px rgba(210, 208, 225, 0.24), 0px 41.7776px 129.093px rgba(210, 208, 225, 0.172525), 0px 22.3363px 69.0192px rgba(210, 208, 225, 0.143066), 0px 12.5216px 38.6916px rgba(210, 208, 225, 0.12), 0px 6.6501px 20.5488px rgba(210, 208, 225, 0.0969343), 0px 2.76726px 8.55082px rgba(210, 208, 225, 0.0674749)",
// }}
// >
// <Box sx={{ display: "flex", alignItems: "center", gap: "10px" }}>
// <DomenIcon color={theme.palette.brightPurple.main} bgcolor={"#EEE4FC"} />
// <Typography>Свой домен</Typography>
// </Box>
// <Typography>Подключите свой домен, если хотите, чтобы квиз открывался по вашей ссылке.</Typography>
// <Link
// component="button"
// onClick={handleOpenDom}
// sx={{
// fontSize: "16px",
// lineHeight: "19px",
// color: theme.palette.brightPurple.main,
// textDecorationColor: theme.palette.brightPurple.main,
// textAlign: "left",
// }}
// >
// Подключить
// </Link>
// </Paper>
// </Box>
// <Box
// sx={{
// backgroundColor: "#ffffff",
// padding: "20px",
// mt: "40px",
// borderRadius: "12px",
// maxWidth: "1160px",
// boxShadow:
// "0px 100px 309px rgba(210, 208, 225, 0.24), 0px 41.7776px 129.093px rgba(210, 208, 225, 0.172525), 0px 22.3363px 69.0192px rgba(210, 208, 225, 0.143066), 0px 12.5216px 38.6916px rgba(210, 208, 225, 0.12), 0px 6.6501px 20.5488px rgba(210, 208, 225, 0.0969343), 0px 2.76726px 8.55082px rgba(210, 208, 225, 0.0674749)",
// }}
// >
// <Box sx={{ display: "flex", alignItems: "center" }}>
// <Typography variant="h5" sx={{ paddingRight: "30px" }}>
// Установка квизов на сайте
// </Typography>
// <OneIconBorder color={"#FC712F"} />
// <Typography sx={{ color: "#FC712F" }}>Способ установки</Typography>
// </Box>
//
// <Box
// sx={{
// padding: "20px",
// display: "flex",
// gap: "30px",
// }}
// >
// {buttonInstall.map((e, i) => (
// <ButtonBase
// key={i}
// // onClick={()=>{}}
// sx={{
// display: "flex",
// flexDirection: "column",
// justifyContent: "start",
// alignItems: "start",
// maxWidth: "205px",
// gap: "15px",
// }}
// >
// <img src={e.icon} />
// <Typography>{e.title}</Typography>
// <Typography
// sx={{
// fontSize: "16px",
// color: theme.palette.grey2.main,
// textAlign: "start",
// }}
// >
// {e.text}
// </Typography>
// </ButtonBase>
// ))}
// </Box>
// </Box>
// <OnButtonInstall />
// <BannerInstall />
// <InBodyInstall />
// <AutoOpenInstall />
// <VidjetInstall />
// <InstallQzCode />
// <Box sx={{ display: "flex", gap: "8px", justifyContent: "end", mt: "30px" }}>
// <Button variant="outlined" sx={{ padding: "10px 20px", borderRadius: "8px" }}>
// <ArrowLeft />
// </Button>
// <Button variant="contained" onClick={incrementCurrentStep}>
// Запустить рекламу
// </Button>
// </Box>
// <Modal
// open={openVk}
// onClose={handleCloseVk}
// aria-labelledby="modal-modal-title"
// aria-describedby="modal-modal-description"
// >
// <Box
// sx={{
// position: "absolute" as "absolute",
// top: "50%",
// left: "50%",
// transform: "translate(-50%, -50%)",
// maxWidth: "620px",
// width: "100%",
// bgcolor: "background.paper",
// borderRadius: "12px",
// boxShadow: 24,
// p: 0,
// }}
// >
// <Box
// sx={{
// display: "flex",
// padding: "20px",
// borderRadius: "12px 12px 0 0",
// background: theme.palette.background.default,
// }}
// >
// <Typography sx={{ color: theme.palette.grey2.main }}>Добавить квиз в группу ВК</Typography>
// </Box>
// <Box
// sx={{
// padding: "20px",
// display: "flex",
// flexDirection: "column",
// gap: "30px",
// }}
// >
// <Box
// sx={{
// display: "flex",
// gap: "20px",
// // alignItems: 'center',
// flexDirection: "column",
// }}
// >
// <Typography>1. Добавьте приложение в сообщество</Typography>
// <Button
// variant="contained"
// sx={{
// maxWidth: "275px",
// display: "flex",
// gap: "10px",
// padding: "13px 15px",
// }}
// >
// {" "}
// <VkIconButton />
// Добавить приложение
// </Button>
// <Typography sx={{ color: theme.palette.grey2.main }}>
// Для публикации сниппета на стене, призывающего пройти тест, вставьте в новую запись ссылку на приложение
// </Typography>
// <CustomTextField placeholder={""} text={"https://vk.com/app6656524_-XXXXXXXXXXX"} />
// <Typography sx={{ fontSize: "14px", color: theme.palette.grey2.main }}>
// где XXXXXXXXXXX - id вашего сообщества (полный адрес ссылки можно узнать в браузерной строке, открыв
// приложение в вашей группе
// </Typography>
// </Box>
// <Box
// sx={{
// display: "flex",
// gap: "20px",
// flexDirection: "column",
// }}
// >
// <Typography>2. Откройте квиз в группе (вы должны быть администратором группы)</Typography>
// <Typography sx={{ fontSize: "14px", color: theme.palette.grey2.main }}>
// Справа снизу нажмите на значок "редактировать" В появившемся окне введите id квиза и нажмите
// "Привязать". Готово! Квиз привязан к группе
// </Typography>
// <Typography sx={{ color: theme.palette.grey2.main }}>ID этого квиза</Typography>
// <CustomTextField placeholder={""} text={"639727c5177be5004f11a0f2"} />
// </Box>
// <Box sx={{ display: "flex", justifyContent: "end", gap: "10px" }}>
// <Button variant="outlined" onClick={handleCloseVk}>
// Отмена
// </Button>
// <Button variant="contained">Готово</Button>
// </Box>
// </Box>
// </Box>
// </Modal>
// <Modal
// open={openDom}
// onClose={handleCloseDom}
// aria-labelledby="modal-modal-title"
// aria-describedby="modal-modal-description"
// >
// <Box
// sx={{
// position: "absolute" as "absolute",
// top: "50%",
// left: "50%",
// transform: "translate(-50%, -50%)",
// maxWidth: "620px",
// width: "100%",
// bgcolor: "background.paper",
// borderRadius: "12px",
// boxShadow: 24,
// p: 0,
// }}
// >
// <Box
// sx={{
// display: "flex",
// padding: "20px",
// borderRadius: "12px 12px 0 0",
// background: theme.palette.background.default,
// }}
// >
// <Typography sx={{ color: theme.palette.grey2.main }}>Подключить свой домен</Typography>
// </Box>
// <Box
// sx={{
// padding: "20px",
// display: "flex",
// flexDirection: "column",
// gap: "30px",
// }}
// >
// <Box
// sx={{
// display: "flex",
// gap: "20px",
// flexDirection: "column",
// }}
// >
// <Typography sx={{ color: theme.palette.grey2.main }}>
// Подключите домен к проекту, чтобы создать несколько квизов на одном домене
// </Typography>
// <Typography>1. Настройте записи в регистраторе домена</Typography>
// <Box sx={{ display: "flex" }}>
// <SelectableButton isSelected={backgroundType === "text"} onClick={() => setBackgroundType("text")}>
// Для поддоменов
// </SelectableButton>
// <SelectableButton isSelected={backgroundType === "video"} onClick={() => setBackgroundType("video")}>
// Для доменов
// </SelectableButton>
// </Box>
// <Typography sx={{ color: theme.palette.grey2.main }}>
// Создайте для нужного поддомена две cname-записи
// </Typography>
// <CustomTextField placeholder={""} text={"XXXXXXXXXXX"} />
// <TextField
// id="outlined-multiline-static"
// multiline
// rows={2}
// defaultValue="XXXXXXXXXXX
// XXXXXXXXXXX"
// sx={{
// "& .MuiInputBase-root": {
// backgroundColor: theme.palette.background.default,
// borderRadius: "10px",
// },
// }}
// />
// <Link
// component="button"
// sx={{
// fontSize: "16px",
// lineHeight: "19px",
// color: theme.palette.brightPurple.main,
// textDecorationColor: theme.palette.brightPurple.main,
// textAlign: "left",
// maxWidth: "372px",
// }}
// >
// Как подключить свой домен/поддомен к квизу? Ошибки при подключении домена
// </Link>
// </Box>
// <Box
// sx={{
// display: "flex",
// gap: "20px",
// flexDirection: "column",
// }}
// >
// <Typography>2. Укажите домен и сохраните квиз</Typography>
// <FormControl sx={{ m: 1, width: "100%" }} variant="outlined">
// <OutlinedInput
// id="outlined-adornment-password"
// type="text"
// placeholder="XXXXXXXXXXX"
// sx={{
// "& .MuiInputBase-root": {
// backgroundColor: theme.palette.background.default,
// borderRadius: "10px",
// },
// }}
// endAdornment={
// <InputAdornment position="end">
// <IconButton
// // onClick={}
// // onMouseDown={}
// edge="end"
// >
// <CopyIcon color={"#ffffff"} bgcolor={theme.palette.brightPurple.main} />
// </IconButton>
// </InputAdornment>
// }
// label="Password"
// />
// </FormControl>
// </Box>
// <Box sx={{ display: "flex", justifyContent: "end", gap: "10px" }}>
// <Typography sx={{ fontSize: "14px", color: theme.palette.grey2.main }}>
// Привязка домена и обновление DNS записей может занять до 48 часов
// </Typography>
// <Button variant="outlined" onClick={handleCloseDom}>
// Отмена
// </Button>
// <Button variant="contained">Готово</Button>
// </Box>
// </Box>
// </Box>
// </Modal>
// </>
// );
// }
const buttonInstall: { icon: string; title: string; text: string }[] = [ const buttonInstall: { icon: string; title: string; text: string }[] = [
{ {
icon: OnButton, icon: OnButton,

@ -67,77 +67,8 @@ export default function InstallQzCode() {
}} }}
/> />
</Box> </Box>
{/*<Box*/}
{/* sx={{*/}
{/* maxWidth: "520px",*/}
{/* width: "100%",*/}
{/* display: "flex",*/}
{/* flexDirection: "column",*/}
{/* gap: "20px",*/}
{/* }}*/}
{/*>*/}
{/* <Typography>2. Код кнопки</Typography>*/}
{/* <Typography sx={{ color: theme.palette.grey2.main }}>*/}
{/* Установите код в то место, где должна быть кнопка открытия quiz*/}
{/* </Typography>*/}
{/* <TextField*/}
{/* id="outlined-multiline-static"*/}
{/* multiline*/}
{/* rows={9}*/}
{/* value="<script>*/}
{/* (function(w, d, s, o){*/}
{/* var j = d.createElement(s); j.async = true; j.src = //script.marquiz.ru/v2.js';j.onload = function() {*/}
{/* if (document.readyState !== 'loading') Marquiz.init(o);*/}
{/* else document.addEventListener('DOMContentLoaded', function() {*/}
{/* Marquiz.init(o);*/}
{/* });"*/}
{/* sx={{*/}
{/* "& .MuiInputBase-root": {*/}
{/* backgroundColor: theme.palette.background.default,*/}
{/* fontSize: "18px",*/}
{/* alignItems: "flex-start",*/}
{/* },*/}
{/* }}*/}
{/* InputProps={{*/}
{/* endAdornment: (*/}
{/* <InputAdornment position="start">*/}
{/* <IconButton edge="end" sx={{ marginTop: "22px" }}>*/}
{/* <CopyIcon*/}
{/* color={"#ffffff"}*/}
{/* bgcolor={theme.palette.brightPurple.main}*/}
{/* />*/}
{/* </IconButton>*/}
{/* </InputAdornment>*/}
{/* ),*/}
{/* }}*/}
{/* />*/}
{/* <Box>*/}
{/* <Button variant="contained">Отправить код программисту</Button>*/}
{/* <Box sx={{ display: "flex" }}>*/}
{/* <Link*/}
{/* component="button"*/}
{/* variant="body2"*/}
{/* sx={{ color: theme.palette.brightPurple.main }}*/}
{/* // onClick={() => {*/}
{/* // }}*/}
{/* >*/}
{/* Инструкция к платформам*/}
{/* </Link>*/}
{/* <IconButton>*/}
{/* <InfoIcon />*/}
{/* </IconButton>*/}
{/* </Box>*/}
{/* </Box>*/}
{/*</Box>*/}
</Box> </Box>
{/*<Box sx={{ maxWidth: "520px", width: "100%" }}>*/}
{/* <Typography>3. Проверьте правильность установки</Typography>*/}
{/* <Typography sx={{ color: theme.palette.grey2.main }}>*/}
{/* Введите полный адрес страницы, где вы установили quiz и нажмите*/}
{/* "проверить"*/}
{/* </Typography>*/}
{/*</Box>*/}
<Box <Box
sx={{ sx={{
background: "#EEE4FC", background: "#EEE4FC",
@ -154,11 +85,6 @@ export default function InstallQzCode() {
Код нужно вставить один раз. Изменения в самом quiz будут отображаться Код нужно вставить один раз. Изменения в самом quiz будут отображаться
автоматически после сохранения. автоматически после сохранения.
</Typography> </Typography>
{/*<Typography>*/}
{/* Для добавления нескольких quiz на одну страницу, код инициализации*/}
{/* достаточно добавить один раз с любого quiz, а затем вставить кнопки*/}
{/* открытия с нужных quiz*/}
{/*</Typography>*/}
</Box> </Box>
</InstallQzOnSiteParent> </InstallQzOnSiteParent>
); );

@ -15,16 +15,13 @@ export default function OnButtonInstall() {
return ( return (
<> <>
<InstallQzOnSiteParent> <InstallQzOnSiteParent>
{/*левая часть*/}
<Box sx={{ maxWidth: "560px" }}> <Box sx={{ maxWidth: "560px" }}>
{/*бокс с кнопкой*/}
<Box <Box
sx={{ sx={{
border: "1.5px solid #9A9AAF", border: "1.5px solid #9A9AAF",
borderRadius: "6px", borderRadius: "6px",
maxWidth: "560px", maxWidth: "560px",
height: "364px", height: "364px",
// height: '100%'
}} }}
> >
<Box <Box
@ -61,7 +58,6 @@ export default function OnButtonInstall() {
сохраняются. сохраняются.
</Typography> </Typography>
</Box> </Box>
{/*правая часть*/}
<Box <Box
sx={{ sx={{
display: "flex", display: "flex",
@ -148,7 +144,6 @@ export default function OnButtonInstall() {
<Link <Link
component="button" component="button"
// onClick={}
sx={{ sx={{
fontSize: "16px", fontSize: "16px",
padding: "15px 0", padding: "15px 0",

@ -30,7 +30,6 @@ export default function VidjetInstall() {
const theme = useTheme(); const theme = useTheme();
return ( return (
<InstallQzOnSiteParent> <InstallQzOnSiteParent>
{/*левая часть*/}
<Box sx={{ maxWidth: "560px" }}> <Box sx={{ maxWidth: "560px" }}>
<img src={VidjetImg} /> <img src={VidjetImg} />
<Typography sx={{ fontSize: "14px", color: theme.palette.grey2.main }}> <Typography sx={{ fontSize: "14px", color: theme.palette.grey2.main }}>
@ -39,7 +38,6 @@ export default function VidjetInstall() {
сохраняются. сохраняются.
</Typography> </Typography>
</Box> </Box>
{/*правая часть*/}
<Box sx={{ display: "flex", flexDirection: "column", gap: "15px" }}> <Box sx={{ display: "flex", flexDirection: "column", gap: "15px" }}>
<Typography sx={{ color: theme.palette.grey2.main }}> <Typography sx={{ color: theme.palette.grey2.main }}>
Расположение Расположение

@ -1,112 +0,0 @@
import React from "react";
import Box from "@mui/material/Box";
import { Typography } from "@mui/material";
import SectionStyled from "./SectionStyled";
import { styled } from "@mui/material/styles";
const BoxCardBlog = styled("div")(({ theme }) => ({
[theme.breakpoints.down("md")]: {
width: "100%",
maxWidth: "none",
},
}));
function CardBlog() {
return (
<BoxCardBlog
sx={{
width: "360px",
height: "292px",
display: "flex",
flexDirection: "column",
backgroundColor: "#ffffff",
borderRadius: "12px",
marginBottom: "10px",
}}
>
<Box
sx={{
width: "100%",
height: "62%",
backgroundColor: "#C8DADE",
borderTopLeftRadius: "12px",
borderTopRightRadius: "12px",
}}
></Box>
<Box
sx={{
padding: "16px 20px",
maxWidth: "100%",
}}
>
<Typography color={"#4D4D4D"} fontSize={"16px"}>
01.09.2022
</Typography>
<Typography
variant="h6"
fontSize="18px"
color={"#4D4D4D"}
maxWidth={"300px"}
>
Как продвигать квиз за 10 000 в месяц
</Typography>
</Box>
</BoxCardBlog>
);
}
export default function Component() {
return (
<SectionStyled
tag={"section"}
bg={"#f2f3f7"}
mwidth={"1160px"}
sxsect={{
minHeight: "596px",
}}
sxcont={{
display: "flex",
flexDirection: "column",
justifyContent: "center",
alignItems: "center",
padding: "10px",
}}
>
<Box
sx={{
display: "flex",
alignItems: "flex-start",
width: "100%",
flexDirection: "column",
}}
>
<Typography variant="h4" fontWeight={"500"}>
Блог
</Typography>
<Box
sx={{
maxWidth: "361px",
}}
>
<Typography sx={{ fontSize: "18px" }}>
Кейсы, дайджесты и отборные рекомендации
</Typography>
</Box>
</Box>
<Box
sx={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
flexWrap: "wrap",
width: "100%",
marginTop: "40px",
}}
>
<CardBlog />
<CardBlog />
<CardBlog />
</Box>
</SectionStyled>
);
}

@ -10,15 +10,11 @@ import Icon3 from "./images/icons/DoneIcon";
const BoxPluses = styled("div")(({ theme }) => ({ const BoxPluses = styled("div")(({ theme }) => ({
[theme.breakpoints.down("md")]: { [theme.breakpoints.down("md")]: {
flexDirection: "column", flexDirection: "column",
// alignItems: 'center',
// textAlign: 'center',
width: "100%", width: "100%",
}, },
})); }));
const BoxCard = styled("div")(({ theme }) => ({ const BoxCard = styled("div")(({ theme }) => ({
[theme.breakpoints.down("md")]: { [theme.breakpoints.down("md")]: {},
// alignItems: 'center',
},
})); }));
const BoxText = styled("div")(({ theme }) => ({ const BoxText = styled("div")(({ theme }) => ({

@ -15,7 +15,6 @@ export default function Counter() {
display: "flex", display: "flex",
justifyContent: "center", justifyContent: "center",
alignItems: "flex-start", alignItems: "flex-start",
// height: isMobile ? "606px" : isTablet ? "430px" : "208px",
boxSizing: "border-box", boxSizing: "border-box",
padding: isTablet ? "0 40px" : "0 20px", padding: isTablet ? "0 40px" : "0 20px",
backgroundColor: "#333647", backgroundColor: "#333647",

@ -48,30 +48,6 @@ export default function Component() {
<Link to="/"> <Link to="/">
<QuizLogo width={isMobile ? 100 : 150} /> <QuizLogo width={isMobile ? 100 : 150} />
</Link> </Link>
{/*<Box*/}
{/* sx={{*/}
{/* maxWidth: '595px',*/}
{/* width: '100%',*/}
{/* display: 'flex',*/}
{/* justifyContent: 'space-between',*/}
{/* flexWrap: 'wrap',*/}
{/* marginRight: "138px",*/}
{/* }}*/}
{/*>*/}
{/* {buttonMenu.map( (element, index) => (*/}
{/* <NavMenuItem*/}
{/* text={element}*/}
{/* // component={Link}*/}
{/* // to={url}*/}
{/* key={index}*/}
{/* onClick={() => {*/}
{/* setSelect(index);*/}
{/* }}*/}
{/* isActive={select === index}*/}
{/* />*/}
{/* ))}*/}
{/*</Box>*/}
<Button <Button
component={Link} component={Link}
to={"/signin"} to={"/signin"}

@ -65,11 +65,6 @@ export default function Component() {
<br style={{ display: isTablet ? "flex" : "none" }} /> Готовые <br style={{ display: isTablet ? "flex" : "none" }} /> Готовые
шаблоны квизов с легкой установкой на любой сайт шаблоны квизов с легкой установкой на любой сайт
</Typography> </Typography>
{/* <Typography variant="body1">
Помогаем посетителю оставить заявку.{" "}
<br style={{ display: isTablet ? "flex" : "none" }} /> Готовые
шаблоны квизов с легкой установкой на любой сайт и социальные сети
</Typography> */}
</Box> </Box>
<Button <Button

@ -176,7 +176,6 @@ export default function HowItWorks() {
<Box <Box
sx={{ sx={{
display: "flex", display: "flex",
// width: '126px',
justifyContent: isMobile ? "start" : "space-between", justifyContent: isMobile ? "start" : "space-between",
alignItems: "center", alignItems: "center",
padding: "0", padding: "0",
@ -193,7 +192,6 @@ export default function HowItWorks() {
<Box <Box
sx={{ sx={{
display: "flex", display: "flex",
// width: '126px',
justifyContent: isMobile ? "start" : "space-between", justifyContent: isMobile ? "start" : "space-between",
alignItems: "center", alignItems: "center",
padding: "0", padding: "0",
@ -221,7 +219,6 @@ export default function HowItWorks() {
<Box <Box
sx={{ sx={{
display: "flex", display: "flex",
// width: '126px',
justifyContent: "space-between", justifyContent: "space-between",
alignItems: "center", alignItems: "center",
padding: "0", padding: "0",

@ -6,33 +6,8 @@ import Link from "@mui/material/Link";
import { styled } from "@mui/material/styles"; import { styled } from "@mui/material/styles";
import Notebook from "../../assets/LandingPict/notebook"; import Notebook from "../../assets/LandingPict/notebook";
import BigBlock from "./images/bigblock.png"; import BigBlock from "./images/bigblock.png";
// import Note from './image/note.png'
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
import ArrowForwardIcon from "@mui/icons-material/ArrowForward";
// import CalendarW from './image/calendar-W.svg'
// import CalendarP from './image/calendar-P.svg'
import CalendarIcon from "../../assets/LandingPict/calendarIcon";
import { PieСhartIcon } from "@icons/PieСhartIcon";
import { SegmentationIcon } from "@icons/SegmentationIcon";
import { TestingIcon } from "@icons/TestingIcon";
import { EcommerceIcon } from "@icons/EcommerceIcon";
import { QuizCard } from "./QuizCard"; import { QuizCard } from "./QuizCard";
// const BoxUse = styled('div')(({ theme }) => ({
// [theme.breakpoints.down('md')]: {
// justifyContent: 'center',
// },
// }));
//
// const BoxButtons = styled('div')(({ theme }) => ({
// [theme.breakpoints.down('md')]: {
// flexDirection: 'column',
// alignItems: 'center',
// height: '100px',
// width: '260px'
// },
// }));
const BoxQuiz = styled("div")(({ theme }) => ({ const BoxQuiz = styled("div")(({ theme }) => ({
[theme.breakpoints.down("md")]: { [theme.breakpoints.down("md")]: {
maxWidth: "530px", maxWidth: "530px",
@ -57,7 +32,6 @@ function Quiz() {
borderRadius: "12px", borderRadius: "12px",
display: "flex", display: "flex",
flexDirection: "column", flexDirection: "column",
// justifyContent: 'space-around',
alignItems: "center", alignItems: "center",
padding: "20px 20px 10px 20px", padding: "20px 20px 10px 20px",
marginTop: "36px", marginTop: "36px",

@ -5,12 +5,10 @@ import Footer from "./FooterLanding";
import Hero from "./Hero"; import Hero from "./Hero";
import Questions from "./Questions"; import Questions from "./Questions";
import Counter from "./Counter"; import Counter from "./Counter";
import Blog from "./Blog";
import HowItWorks from "./HowItWorks"; import HowItWorks from "./HowItWorks";
import BusinessPluses from "./BusinessPluses"; import BusinessPluses from "./BusinessPluses";
import HowToUse from "./HowToUse"; import HowToUse from "./HowToUse";
import StartWithTemplates from "./StartWithTemplates";
import WhatTheFeatures from "./WhatTheFeatures"; import WhatTheFeatures from "./WhatTheFeatures";
import FullScreenDialog from "./headerMobileLanding"; import FullScreenDialog from "./headerMobileLanding";
import Collaboration from "./Collaboration"; import Collaboration from "./Collaboration";
@ -51,10 +49,7 @@ export default function Landing() {
<HowItWorks /> <HowItWorks />
<BusinessPluses /> <BusinessPluses />
<HowToUse /> <HowToUse />
{/*<WhatTheySay/>*/}
{/*<StartWithTemplates/>*/}
<WhatTheFeatures /> <WhatTheFeatures />
{/*<Blog/>*/}
<Questions /> <Questions />
<Footer /> <Footer />
</> </>

@ -6,16 +6,6 @@ import SectionStyled from "./SectionStyled";
import { styled } from "@mui/material/styles"; import { styled } from "@mui/material/styles";
import { useMediaQuery, useTheme } from "@mui/material"; import { useMediaQuery, useTheme } from "@mui/material";
// const BoxSpan = styled('div')(({ theme }) => ({
// [theme.breakpoints.down('lg')]: {
// alignItems: 'center',
// justifyContent: 'center',
// textAlign: 'center',
// paddingTop: '20px',
// width: '100%',
// },
// }));
const BoxButtons = styled("div")(({ theme }) => ({ const BoxButtons = styled("div")(({ theme }) => ({
[theme.breakpoints.down("xs")]: { [theme.breakpoints.down("xs")]: {
justifyContent: "center", justifyContent: "center",

@ -1,134 +0,0 @@
import React from "react";
import Box from "@mui/material/Box";
import { Typography } from "@mui/material";
import Button from "@mui/material/Button";
import SectionStyled from "./SectionStyled";
import { styled } from "@mui/material/styles";
const BoxServies = styled("div")(({ theme }) => ({
[theme.breakpoints.down("md")]: {
textAlign: "center",
width: "100%",
},
}));
const buttonTemplates = [
"Услуги",
"Развлечения",
"Строительство и ремонт",
"E-commerce",
];
function Servises() {
return (
<BoxServies
sx={{
width: "360px",
height: "262px",
backgroundColor: "#ffffff",
borderRadius: "12px",
marginBottom: "10px",
}}
>
<Box
sx={{
width: "360",
height: "180px",
backgroundColor: "#c8dade",
borderRadius: "12px 12px 0 0",
}}
>
{" "}
</Box>
<Box padding={"20px 54px 20px 20px"}>
<Typography fontSize={"18px"} lineHeight={"21.33px"} fontWeight={"500"}>
Вдохновляющие фото и видео для свадьбы
</Typography>
</Box>
</BoxServies>
);
}
export default function Component() {
const [select, setSelect] = React.useState(0);
return (
<SectionStyled
tag={"section"}
bg={"#f2f3f7"}
mwidth={"1160px"}
sxsect={{ height: "630px" }}
sxcont={{
display: "flex",
flexDirection: "column",
padding: "50px 10px 60px 10px",
gap: "30px",
}}
>
<Box
sx={{
minHeight: "109px",
display: "flex",
flexDirection: "column",
justifyContent: "space-between",
}}
>
<Typography
variant="h6"
fontSize={"36px"}
lineHeight={"42.66px"}
fontWeight={"500"}
>
Начните с готового шаблона
</Typography>
<Typography
maxWidth={"354px"}
fontSize={"18px"}
lineHeight={"21.33px"}
fontWeight={"500"}
>
73 готовых шаблонов разных ниш, постоянно пополняем
</Typography>
</Box>
<Box
sx={{
width: "53%",
display: "flex",
justifyContent: "space-between",
flexWrap: "wrap",
}}
>
{buttonTemplates.map((element, index) => (
<Button
key={index}
// to={element[0]}
onClick={() => {
setSelect(index);
}}
variant="text"
sx={{
fontSize: "16px",
fontWeight: 500,
textDecoration: select === index ? "underline" : "none",
textUnderlineOffset: select === index ? "7px" : "",
color: select === index ? "#7E2AEA" : "black",
textTransform: "none",
}}
>
{element}{" "}
</Button>
))}
</Box>
<Box
sx={{
display: "flex",
justifyContent: "space-between",
flexWrap: "wrap",
}}
>
<Servises />
<Servises />
<Servises />
</Box>
</SectionStyled>
);
}

@ -3,7 +3,6 @@ import Box from "@mui/material/Box";
import { SxProps, Typography, useMediaQuery, useTheme } from "@mui/material"; import { SxProps, Typography, useMediaQuery, useTheme } from "@mui/material";
import SectionStyled from "./SectionStyled"; import SectionStyled from "./SectionStyled";
import Button from "@mui/material/Button"; import Button from "@mui/material/Button";
// import Desktop from '../../assets/LandingPict/Desktop.png';
import Desktop1 from "./images/Frame 1171274552.png"; import Desktop1 from "./images/Frame 1171274552.png";
import Desktop2 from "./images/Frame 1171274552-1.png"; import Desktop2 from "./images/Frame 1171274552-1.png";
import Desktop3 from "./images/Frame 1171274552-2.png"; import Desktop3 from "./images/Frame 1171274552-2.png";
@ -438,21 +437,6 @@ export default function Component() {
</BoxFich> </BoxFich>
<Box sx={{ maxWidth: "500px", minHeight: "350px" }}> <Box sx={{ maxWidth: "500px", minHeight: "350px" }}>
{/*{isMobile && (*/}
{/* <Button*/}
{/* sx={{*/}
{/* width: "100%",*/}
{/* height: "44px",*/}
{/* borderRadius: "8px",*/}
{/* border: "1px solid #FFF",*/}
{/* color: "white",*/}
{/* mb: "40px",*/}
{/* background: "transparent",*/}
{/* }}*/}
{/* >*/}
{/* Все возможности сервиса*/}
{/* </Button>*/}
{/*)}*/}
<Typography <Typography
variant={"h6"} variant={"h6"}
sx={{ sx={{

@ -5,7 +5,6 @@ import Button from "@mui/material/Button";
import SectionStyled from "./SectionStyled"; import SectionStyled from "./SectionStyled";
import ArrowBackIcon from "@mui/icons-material/ArrowBack"; import ArrowBackIcon from "@mui/icons-material/ArrowBack";
import ArrowForwardIcon from "@mui/icons-material/ArrowForward"; import ArrowForwardIcon from "@mui/icons-material/ArrowForward";
// import Quotes from './image/quotes.svg';
import { styled } from "@mui/material/styles"; import { styled } from "@mui/material/styles";
import TitleIcon from "../../assets/LandingPict/titleIcon"; import TitleIcon from "../../assets/LandingPict/titleIcon";

@ -23,19 +23,6 @@ import CloseIcon from "./images/icons/CloseIcon";
import MenuIcon from "./images/icons/MenuIcon"; import MenuIcon from "./images/icons/MenuIcon";
import Logotip from "./images/icons/QuizLogo"; import Logotip from "./images/icons/QuizLogo";
// import logotipBlack from "../Icons/Logo/black_logo_PenaHab.svg";
// import logotipBlackMobile from "../Icons/Logo/black_logo_PenaHab_mobile.svg";
// const buttonMenu: { path: string; title: string }[] = [
// { path: "/", title: "Меню 1" },
// { path: "/", title: "Меню 2" },
// { path: "/", title: "Меню 3" },
// { path: "/", title: "Меню 4" },
// { path: "/", title: "Меню 5" },
// { path: "/", title: "Меню 6" },
// { path: "/", title: "Меню 7" },
// { path: "/", title: "Меню 8" },
// ];
interface Props { interface Props {
theme?: "dark" | "light"; theme?: "dark" | "light";
@ -96,7 +83,6 @@ export default function FullScreenDialog({
</Box> </Box>
{!isMobile && ( {!isMobile && (
<Button <Button
// onClick={() => setIsContactFormOpen(true)}
disableRipple disableRipple
sx={{ sx={{
color: "black", color: "black",
@ -168,50 +154,8 @@ export default function FullScreenDialog({
p: "0", p: "0",
}} }}
> >
{/*<ListItem*/}
{/* sx={{*/}
{/* pl: "40px",*/}
{/* flexDirection: "column",*/}
{/* alignItems: isMobile ? "stretch" : "end",*/}
{/* }}*/}
{/*>*/}
{/* {buttonMenu.map(({ path, title }) => (*/}
{/* <Link*/}
{/* key={path}*/}
{/* to={path}*/}
{/* style={{*/}
{/* textDecoration: "none",*/}
{/* height: "20px",*/}
{/* marginBottom: "25px",*/}
{/* }}*/}
{/* >*/}
{/* <Button*/}
{/* disableRipple*/}
{/* variant="text"*/}
{/* sx={{*/}
{/* color:*/}
{/* location.pathname === path*/}
{/* ? "#7E2AEA"*/}
{/* : theme === "dark"*/}
{/* ? "white"*/}
{/* : "black",*/}
{/* height: "20px",*/}
{/* textTransform: "none",*/}
{/* fontSize: "16px",*/}
{/* "&:hover": {*/}
{/* background: "none",*/}
{/* color: "#7E2AEA",*/}
{/* },*/}
{/* }}*/}
{/* >*/}
{/* {title}*/}
{/* </Button>*/}
{/* </Link>*/}
{/* ))}*/}
{/*</ListItem>*/}
{isMobile ? ( {isMobile ? (
<Button <Button
// onClick={() => setIsContactFormOpen(true)}
variant="outlined" variant="outlined"
sx={{ sx={{
position: "absolute", position: "absolute",

@ -105,38 +105,6 @@ const AnswerItem = memo<AnswerItemProps>(
), ),
endAdornment: ( endAdornment: (
<InputAdornment position="end"> <InputAdornment position="end">
{/*<IconButton*/}
{/* sx={{ padding: "0" }}*/}
{/* aria-describedby="my-popover-id"*/}
{/* onClick={handleClick}*/}
{/*>*/}
{/* <MessageIcon*/}
{/* style={{*/}
{/* color: "#9A9AAF",*/}
{/* fontSize: "30px",*/}
{/* marginRight: "6.5px",*/}
{/* }}*/}
{/* />*/}
{/*</IconButton>*/}
{/*<Popover*/}
{/* id="my-popover-id"*/}
{/* open={isOpen}*/}
{/* anchorEl={anchorEl}*/}
{/* onClose={handleClose}*/}
{/* anchorOrigin={{ vertical: "bottom", horizontal: "left" }}*/}
{/*>*/}
{/* <TextareaAutosize*/}
{/* style={{ margin: "10px" }}*/}
{/* placeholder="Подсказка для этого ответа"*/}
{/* value={variant.hints}*/}
{/* onChange={(e) =>*/}
{/* setQuestionVariantAnswer(e.target.value || " ")*/}
{/* }*/}
{/* onKeyDown={(*/}
{/* event: KeyboardEvent<HTMLTextAreaElement>,*/}
{/* ) => event.stopPropagation()}*/}
{/* />*/}
{/*</Popover>*/}
<IconButton <IconButton
sx={{ padding: "0" }} sx={{ padding: "0" }}
onClick={() => onClick={() =>

@ -82,13 +82,6 @@ export const storeToNodes = (questions: AnyTypedQuizQuestion[]) => {
}, },
classes: "multiline-auto", classes: "multiline-auto",
}); });
// nodes.push({
// data: {
// id: "delete" + question.content.id,
// label: "X",
// parent: question.content.id,
// }
// },)
if (question.content.rule.parentId !== "root") if (question.content.rule.parentId !== "root")
edges.push({ edges.push({
data: { data: {

@ -38,7 +38,6 @@ type NodeSingularWithPopper = NodeSingular & {
popper: (config: PopperConfig) => PopperInstance; popper: (config: PopperConfig) => PopperInstance;
}; };
/** @deprecated */
export const usePopper = ({ export const usePopper = ({
cyRef, cyRef,
}: { }: {

@ -42,7 +42,7 @@ interface Props {
setParentQuestion: (q: AnyTypedQuizQuestion) => void; setParentQuestion: (q: AnyTypedQuizQuestion) => void;
} }
//Этот компонент вызывается 1 раз на каждое условие родителя для перехода к этому вопросу. Поэтому для изменения стора мы знаем индекс // Этот компонент вызывается 1 раз на каждое условие родителя для перехода к этому вопросу. Поэтому для изменения стора мы знаем индекс
export const TypeSwitch = ({ export const TypeSwitch = ({
parentQuestion, parentQuestion,
targetQuestion, targetQuestion,
@ -50,10 +50,6 @@ export const TypeSwitch = ({
setParentQuestion, setParentQuestion,
}: Props) => { }: Props) => {
switch (parentQuestion.type) { switch (parentQuestion.type) {
// case 'nonselected':
// return <BlockRule text={"Не выбран тип родительского вопроса"} />
// break;
case "variant": case "variant":
case "images": case "images":
case "varimg": case "varimg":
@ -69,7 +65,6 @@ export const TypeSwitch = ({
setParentQuestion={setParentQuestion} setParentQuestion={setParentQuestion}
/> />
); );
//Реализован
break; break;
case "date": case "date":
@ -93,7 +88,6 @@ export const TypeSwitch = ({
setParentQuestion={setParentQuestion} setParentQuestion={setParentQuestion}
/> />
); );
//Реализован
break; break;
case "page": case "page":
@ -111,7 +105,6 @@ export const TypeSwitch = ({
setParentQuestion={setParentQuestion} setParentQuestion={setParentQuestion}
/> />
); );
//Реализован
break; break;
case "file": case "file":
@ -123,7 +116,6 @@ export const TypeSwitch = ({
setParentQuestion={setParentQuestion} setParentQuestion={setParentQuestion}
/> />
); );
//Реализован
break; break;
case "rating": case "rating":
@ -135,7 +127,6 @@ export const TypeSwitch = ({
setParentQuestion={setParentQuestion} setParentQuestion={setParentQuestion}
/> />
); );
//Реализован
break; break;
default: default:
@ -292,8 +283,6 @@ const DateInputsType = ({
setParentQuestion(newParentQuestion); setParentQuestion(newParentQuestion);
}, [firstDate, secondDate, firstTime, secondTime]); }, [firstDate, secondDate, firstTime, secondTime]);
// {/* //dateRange выбор диапазона дат */}
// {/* time выбор времени */}
return ( return (
<Box <Box
sx={{ sx={{
@ -499,44 +488,6 @@ const DateInputsType = ({
)} )}
</Box> </Box>
)} )}
{/* <TextField
sx={{
marginTop: "20px",
width: "100%"
}}
placeholder="от"
value={parentQuestion.content.rule.main[ruleIndex].rules[0].answers[0]}
onChange={(event: React.FormEvent<HTMLInputElement>) => {
let newParentQuestion = JSON.parse(JSON.stringify(parentQuestion))
newParentQuestion.content.rule.main[ruleIndex].rules[0].answers[0] = Number((event.target as HTMLInputElement).value.replace(/[^0-9,\s]/g, ""))
if (newParentQuestion.content.rule.main[ruleIndex].rules[0].answers[1] === undefined) newParentQuestion.content.rule.main[ruleIndex].rules[0].answers[1] = 0
setParentQuestion(newParentQuestion)
}}
/>
{parentQuestion.content.chooseRange &&
<TextField
placeholder="до"
sx={{
marginTop: "20px",
width: "100%"
}}
value={parentQuestion.content.rule.main[ruleIndex].rules[0].answers[1]}
onChange={(event: React.FormEvent<HTMLInputElement>) => {
let newParentQuestion = JSON.parse(JSON.stringify(parentQuestion))
newParentQuestion.content.rule.main[ruleIndex].rules[0].answers[1] = Number((event.target as HTMLInputElement).value.replace(/[^0-9,\s]/g, ""))
if (newParentQuestion.content.rule.main[ruleIndex].rules[0].answers[0] === undefined) newParentQuestion.content.rule.main[ruleIndex].rules[0].answers[0] = 0
setParentQuestion(newParentQuestion)
}}
/>
} */}
</Box> </Box>
); );
}; };

@ -25,6 +25,8 @@ import Branching from "../../assets/icons/questionsPage/branching";
import SettingIcon from "../../assets/icons/questionsPage/settingIcon"; import SettingIcon from "../../assets/icons/questionsPage/settingIcon";
import { QuestionType } from "@model/question/question"; import { QuestionType } from "@model/question/question";
import type { AnyTypedQuizQuestion } from "@model/questionTypes/shared";
interface Props { interface Props {
switchState: string; switchState: string;
SSHC: (data: string) => void; SSHC: (data: string) => void;
@ -88,8 +90,7 @@ const ButtonsOptions = memo<Props>(function ({
), ),
title: "Ветвление", title: "Ветвление",
value: "branching", value: "branching",
// @ts-ignore myFunc: (question: AnyTypedQuizQuestion) => {
myFunc: (question) => {
setOpenBranchingPage(true); setOpenBranchingPage(true);
updateDesireToOpenABranchingModal(question.content.id); updateDesireToOpenABranchingModal(question.content.id);
}, },

@ -153,7 +153,6 @@ const ButtonsOptionsAndPict = memo<Props>(function ({
{isIconMobile ? null : "Ветвление"} {isIconMobile ? null : "Ветвление"}
</MiniButtonSetting> </MiniButtonSetting>
)} )}
{/* </Tooltip> */}
<MiniButtonSetting <MiniButtonSetting
onMouseEnter={() => setButtonHover("image")} onMouseEnter={() => setButtonHover("image")}
onMouseLeave={() => setButtonHover("")} onMouseLeave={() => setButtonHover("")}

@ -21,45 +21,6 @@ export default function SettingsData({ question }: SettingsDataProps) {
flexDirection: isWrappColumn ? "column" : null, flexDirection: isWrappColumn ? "column" : null,
}} }}
> >
{/* <Box
sx={{
pt: "20px",
pb: isMobile ? "25px" : "20px",
pl: "20px",
display: "flex",
flexDirection: "column",
gap: "14px",
width: "100%",
}}
>
<Typography sx={{ height: isMobile ? "18px" : "auto", fontWeight: "500", fontSize: "18px", color: " #4D4D4D" }}>
Настройки календаря
</Typography>
<CustomCheckbox
sx={{ display: "block", mr: isMobile ? "0px" : "16px" }}
label={"Выбор диапазона дат"}
checked={question.content.dateRange}
handleChange={({ target }) => {
updateQuestion(question.id, question => {
if (question.type !== "date") return;
question.content.dateRange = target.checked;
});
}}
/>
<CustomCheckbox
sx={{ display: "block", mr: isMobile ? "0px" : "16px" }}
label={"Выбор времени"}
checked={question.content.time}
handleChange={({ target }) => {
updateQuestion(question.id, question => {
if (question.type !== "date") return;
question.content.time = target.checked;
});
}}
/>
</Box> */}
<Box <Box
sx={{ sx={{
pt: "20px", pt: "20px",
@ -93,41 +54,6 @@ export default function SettingsData({ question }: SettingsDataProps) {
}); });
}} }}
/> />
{/*<Box*/}
{/* sx={{*/}
{/* width: isMobile ? "93%" : "auto",*/}
{/* display: "flex",*/}
{/* alignItems: "center",*/}
{/* }}*/}
{/*>*/}
{/* <CustomCheckbox*/}
{/* sx={{*/}
{/* mr: isMobile ? "0px" : "16px",*/}
{/* height: isMobile ? "100%" : "26px",*/}
{/* alignItems: isMobile ? "flex-start" : "center",*/}
{/* }}*/}
{/* label={"Внутреннее название вопроса"}*/}
{/* checked={question.content.innerNameCheck}*/}
{/* handleChange={({ target }) => {*/}
{/* updateQuestion<QuizQuestionDate>(question.id, question => {*/}
{/* question.content.innerNameCheck = target.checked;*/}
{/* question.content.innerName = target.checked ? question.content.innerName : "";*/}
{/* });*/}
{/* }}*/}
{/* />*/}
{/* <Tooltip title="Будет отображаться как заголовок вопроса в приходящих заявках." placement="top">*/}
{/* <Box>*/}
{/* <InfoIcon />*/}
{/* </Box>*/}
{/* </Tooltip>*/}
{/*</Box>*/}
{/*{question.content.innerNameCheck && (*/}
{/* <CustomTextField*/}
{/* placeholder={"Развёрнутое описание вопроса"}*/}
{/* text={question.content.innerName}*/}
{/* onChange={({ target }) => setInnerName(target.value || " ")}*/}
{/* />*/}
{/*)}*/}
</Box> </Box>
</Box> </Box>
); );

@ -264,33 +264,6 @@ export default function QuestionsPageCard({
borderRight: "solid 1px #4D4D4D", borderRight: "solid 1px #4D4D4D",
}} }}
> >
{/* <FormControlLabel
control={
<Checkbox
icon={
<HideIcon
style={{
boxSizing: "border-box",
color: "#7E2AEA",
background: "#FFF",
borderRadius: "6px",
height: "30px",
width: "30px",
padding: "3px",
}}
/>
}
checkedIcon={<CrossedEyeIcon />}
/>
}
label={""}
sx={{
color: theme.palette.grey2.main,
ml: "-9px",
mr: 0,
userSelect: "none",
}}
/> */}
<IconButton <IconButton
sx={{ padding: "0" }} sx={{ padding: "0" }}
onClick={() => copyQuestion(question.id, question.quizId)} onClick={() => copyQuestion(question.id, question.quizId)}

@ -90,7 +90,6 @@ export default SettingOptionsPict;
interface Props { interface Props {
Icon: (props: { color: string }) => JSX.Element; Icon: (props: { color: string }) => JSX.Element;
// Icon: React.ElementType;
isActive?: boolean; isActive?: boolean;
onClick: () => void; onClick: () => void;
} }

@ -92,9 +92,6 @@ export default function PageOptions({ disableInput, question }: Props) {
gap: "6px", gap: "6px",
}} }}
> >
{/* <IconButton sx={{ borderRadius: "6px", padding: "2px" }}>
<HideIcon style={{ color: "#4D4D4D" }} />
</IconButton> */}
<IconButton <IconButton
sx={{ borderRadius: "6px", padding: "2px" }} sx={{ borderRadius: "6px", padding: "2px" }}
onClick={() => copyQuestion(question.id, question.quizId)} onClick={() => copyQuestion(question.id, question.quizId)}
@ -167,13 +164,6 @@ export default function PageOptions({ disableInput, question }: Props) {
</Modal> </Modal>
</Box> </Box>
</Box> </Box>
{/*<ButtonsOptions*/}
{/* switchState={switchState}*/}
{/* SSHC={SSHC}*/}
{/* question={question}*/}
{/*/>*/}
{/*<SwitchPageOptions switchState={switchState} question={question} />*/}
</> </>
); );
} }

@ -35,37 +35,6 @@ export default function SettingPageOptions({
> >
Настройки вопроса Настройки вопроса
</Typography> </Typography>
{/*<Box sx={{ display: "flex", alignItems: "flex-start" }}>*/}
{/* <CustomCheckbox*/}
{/* sx={{*/}
{/* mr: isMobile ? "0px" : "16px",*/}
{/* height: isMobile ? "100%" : "26px",*/}
{/* }}*/}
{/* label={"Внутреннее название вопроса"}*/}
{/* checked={question.content.innerNameCheck}*/}
{/* handleChange={({ target }) =>*/}
{/* updateQuestion(question.id, question => {*/}
{/* question.content.innerNameCheck = target.checked;*/}
{/* question.content.innerName = "";*/}
{/* })*/}
{/* }*/}
{/* />*/}
{/* <Tooltip*/}
{/* title="Будет отображаться как заголовок вопроса в приходящих заявках."*/}
{/* placement="top"*/}
{/* >*/}
{/* <Box>*/}
{/* <InfoIcon />*/}
{/* </Box>*/}
{/* </Tooltip>*/}
{/*</Box>*/}
{/*{question.content.innerNameCheck && (*/}
{/* <CustomTextField*/}
{/* placeholder={"Внутреннее описание вопроса"}*/}
{/* text={question.content.innerName}*/}
{/* onChange={({ target }) => setInnerName(target.value)}*/}
{/* />*/}
{/*)}*/}
</Box> </Box>
); );
} }

@ -175,39 +175,6 @@ export default function SettingSlider({ question }: SettingSliderProps) {
}); });
}} }}
/> />
{/*<Box*/}
{/* sx={{*/}
{/* width: isMobile ? "90%" : "auto",*/}
{/* display: "flex",*/}
{/* alignItems: "center",*/}
{/* }}*/}
{/*>*/}
{/* <CustomCheckbox*/}
{/* sx={{ mr: isMobile ? "0px" : "16px" }}*/}
{/* label={"Внутреннее название вопроса"}*/}
{/* checked={question.content.innerNameCheck}*/}
{/* handleChange={({ target }) => {*/}
{/* updateQuestion(question.id, question => {*/}
{/* if (question.type !== "rating") return;*/}
{/* question.content.innerNameCheck = target.checked;*/}
{/* question.content.innerName = target.checked ? question.content.innerName : "";*/}
{/* });*/}
{/* }}*/}
{/* />*/}
{/* <Tooltip title="Будет отображаться как заголовок вопроса в приходящих заявках." placement="top">*/}
{/* <Box>*/}
{/* <InfoIcon />*/}
{/* </Box>*/}
{/* </Tooltip>*/}
{/*</Box>*/}
{/*{question.content.innerNameCheck && (*/}
{/* <CustomTextField*/}
{/* placeholder={"Развёрнутое описание вопроса"}*/}
{/* text={question.content.innerName}*/}
{/* onChange={({ target }) => setInnerName(target.value)}*/}
{/* />*/}
{/*)}*/}
</Box> </Box>
</Box> </Box>
); );

@ -97,43 +97,6 @@ export default function SettingSlider({ question }: SettingSliderProps) {
}); });
}} }}
/> />
{/*<Box*/}
{/* sx={{*/}
{/* width: isMobile ? "90%" : "auto",*/}
{/* display: "flex",*/}
{/* alignItems: "flex-start",*/}
{/* }}*/}
{/*>*/}
{/* <CustomCheckbox*/}
{/* sx={{*/}
{/* mr: isMobile ? "0px" : "16px",*/}
{/* height: isMobile ? "100%" : "auto",*/}
{/* alignItems: isMobile ? "flex-start" : "center",*/}
{/* }}*/}
{/* label={"Внутреннее название вопроса"}*/}
{/* checked={question.content.innerNameCheck}*/}
{/* handleChange={({ target }) => {*/}
{/* updateQuestion(question.id, question => {*/}
{/* if (question.type !== "number") return;*/}
{/* question.content.innerNameCheck = target.checked;*/}
{/* question.content.innerName = target.checked ? question.content.innerName : "";*/}
{/* });*/}
{/* }}*/}
{/* />*/}
{/* <Tooltip title="Будет отображаться как заголовок вопроса в приходящих заявках." placement="top">*/}
{/* <Box>*/}
{/* <InfoIcon />*/}
{/* </Box>*/}
{/* </Tooltip>*/}
{/*</Box>*/}
{/*{question.content.innerNameCheck && (*/}
{/* <CustomTextField*/}
{/* placeholder={"Развёрнутое описание вопроса"}*/}
{/* text={question.content.innerName}*/}
{/* onChange={({ target }) => setInnerName(target.value)}*/}
{/* />*/}
{/*)}*/}
</Box> </Box>
</Box> </Box>
); );

@ -15,15 +15,12 @@ import {
import { useUiTools } from "@root/uiTools/store"; import { useUiTools } from "@root/uiTools/store";
const getItemStyle = (isDragging: any, draggableStyle: any) => ({ const getItemStyle = (isDragging: any, draggableStyle: any) => ({
// some basic styles to make the items look a bit nicer
userSelect: "none", userSelect: "none",
padding: 5 * 2, padding: 5 * 2,
margin: `0 0 5px 0`, margin: `0 0 5px 0`,
// change background colour if dragging
background: isDragging ? "lightgreen" : "grey", background: isDragging ? "lightgreen" : "grey",
// styles we need to apply on draggables
...draggableStyle, ...draggableStyle,
}); });
type AnyQuestion = UntypedQuizQuestion | AnyTypedQuizQuestion; type AnyQuestion = UntypedQuizQuestion | AnyTypedQuizQuestion;

@ -27,7 +27,6 @@ type DesignItem = {
}; };
const DESIGN_TYPES: DesignItem[] = [ const DESIGN_TYPES: DesignItem[] = [
// { name: "Все типы файлов", value: "all" },
{ name: "Изображения", value: "picture" }, { name: "Изображения", value: "picture" },
{ name: "Видео", value: "video" }, { name: "Видео", value: "video" },
{ name: "Аудио", value: "audio" }, { name: "Аудио", value: "audio" },

@ -35,19 +35,6 @@ export default function SettingsUpload({ question }: SettingsUploadProps) {
> >
Настройки вопросов Настройки вопросов
</Typography> </Typography>
{/* <CustomCheckbox
sx={{
display: isMobile ? "flex" : "block",
mr: isMobile ? "0px" : "16px",
}}
label={"Автозаполнение адреса"}
checked={question.content.autofill}
handleChange={({ target }) => {
updateQuestion(question.id, question => {
question.content.autofill = target.checked;
});
}}
/> */}
<CustomCheckbox <CustomCheckbox
dataCy="checkbox-optional-question" dataCy="checkbox-optional-question"
sx={{ sx={{
@ -62,45 +49,6 @@ export default function SettingsUpload({ question }: SettingsUploadProps) {
}); });
}} }}
/> />
{/*<Box*/}
{/* sx={{*/}
{/* width: isMobile ? "90%" : "auto",*/}
{/* display: "flex",*/}
{/* alignItems: "center",*/}
{/* }}*/}
{/*>*/}
{/* <CustomCheckbox*/}
{/* sx={{*/}
{/* mr: isMobile ? "0px" : "16px",*/}
{/* height: isMobile ? "100%" : "26px",*/}
{/* alignItems: "flex-start",*/}
{/* }}*/}
{/* label={"Внутреннее название вопроса"}*/}
{/* checked={question.content.innerNameCheck}*/}
{/* handleChange={({ target }) => {*/}
{/* updateQuestion<QuizQuestionFile>(question.id, question => {*/}
{/* question.content.innerNameCheck = target.checked;*/}
{/* question.content.innerName = target.checked ? question.content.innerName : "";*/}
{/* });*/}
{/* }}*/}
{/* />*/}
{/* <Tooltip*/}
{/* title="Будет отображаться как заголовок вопроса в приходящих заявках."*/}
{/* placement="top"*/}
{/* >*/}
{/* <Box>*/}
{/* <InfoIcon />*/}
{/* </Box>*/}
{/* </Tooltip>*/}
{/*</Box>*/}
{/*{question.content.innerNameCheck && (*/}
{/* <CustomTextField*/}
{/* placeholder={"Развёрнутое описание вопроса"}*/}
{/* text={question.content.innerName}*/}
{/* onChange={({ target }) => setInnerName(target.value)}*/}
{/* sx={{ paddingRight: "20px" }}*/}
{/* />*/}
{/*)}*/}
</Box> </Box>
); );
} }

@ -116,7 +116,7 @@ export const UploadImageModal: React.FC<ModalkaProps> = ({
gap: "55px", gap: "55px",
flexDirection: isMobile ? "column" : undefined, flexDirection: isMobile ? "column" : undefined,
}} }}
onDragEnter={handleDragEnter} // Применяем обработчик onDragEnter напрямую onDragEnter={handleDragEnter}
> >
<UploadIcon /> <UploadIcon />
<Box> <Box>
@ -130,55 +130,6 @@ export const UploadImageModal: React.FC<ModalkaProps> = ({
</Box> </Box>
</Box> </Box>
</ButtonBase> </ButtonBase>
{/* <Box*/}
{/* sx={{*/}
{/* display: "flex",*/}
{/* justifyContent: "space-between",*/}
{/* margin: "20px 0",*/}
{/* }}*/}
{/* >*/}
{/* <Typography*/}
{/* sx={{*/}
{/* fontWeight: "bold",*/}
{/* color: "#4D4D4D",*/}
{/* }}*/}
{/* >*/}
{/* Или выберите на фотостоке*/}
{/* </Typography>*/}
{/* <img src={UnsplashIcon} alt="" />*/}
{/* </Box>*/}
{/* <TextField*/}
{/* id="search-in-unsplash"*/}
{/* placeholder="Ищите изображения на английском языка"*/}
{/* sx={{*/}
{/* "& .MuiInputBase-input": {*/}
{/* height: "48px",*/}
{/* padding: "0 10px 0 0",*/}
{/* },*/}
{/* "& .MuiOutlinedInput-notchedOutline": {*/}
{/* borderRadius: "8px",*/}
{/* },*/}
{/* "& .Mui-focused .MuiOutlinedInput-notchedOutline": {*/}
{/* border: "1px solid rgba(0, 0, 0, 0.23)",*/}
{/* },*/}
{/* "& .MuiInputBase-root.MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline": {*/}
{/* borderColor: "rgba(0, 0, 0, 0.23)",*/}
{/* },*/}
{/* }}*/}
{/* InputProps={{*/}
{/* startAdornment: (*/}
{/* <InputAdornment*/}
{/* position="start"*/}
{/* sx={{*/}
{/* outline: "none",*/}
{/* "& svg > path": { stroke: "#9A9AAF" },*/}
{/* }}*/}
{/* >*/}
{/* <SearchIcon />*/}
{/* </InputAdornment>*/}
{/* ),*/}
{/* }}*/}
{/* />*/}
</Box> </Box>
</Box> </Box>
</Modal> </Modal>

@ -1,337 +0,0 @@
import InfoIcon from "@icons/Info";
import { DeleteIcon } from "@icons/questionsPage/deleteIcon";
import { AnyTypedQuizQuestion } from "@model/questionTypes/shared";
import {
Box,
Button,
Chip,
FormControl,
FormControlLabel,
IconButton,
Link,
Modal,
Radio,
RadioGroup,
Tooltip,
Typography,
useTheme,
} from "@mui/material";
import { updateQuestion } from "@root/questions/actions";
import RadioCheck from "@ui_kit/RadioCheck";
import RadioIcon from "@ui_kit/RadioIcon";
import { useEffect, useRef, useState } from "react";
import { Select } from "./Select";
type BranchingQuestionsProps = {
question: AnyTypedQuizQuestion;
};
const ACTIONS = ["Показать", "Скрыть"];
const STIPULATIONS = ["Условие 1", "Условие 2", "Условие 3"];
const ANSWERS = ["Ответ 1", "Ответ 2", "Ответ 3"];
const CONDITIONS = [
"Все условия обязательны",
"Обязательно хотя бы одно условие",
];
export default function BranchingQuestions({
question,
}: BranchingQuestionsProps) {
const theme = useTheme();
const [title, setTitle] = useState<string>("");
const [titleInputWidth, setTitleInputWidth] = useState<number>(0);
const titleRef = useRef<HTMLDivElement>(null);
useEffect(() => {
setTitleInputWidth(titleRef.current?.offsetWidth || 0);
}, [title]);
const handleClose = () => {
updateQuestion(question.id, (question) => {
question.openedModalSettings = false;
});
};
return (
<>
<Modal open={question.openedModalSettings} onClose={handleClose}>
<Box
sx={{
position: "absolute",
overflow: "hidden",
top: "50%",
left: "50%",
transform: "translate(-50%, -50%)",
maxWidth: "620px",
width: "100%",
bgcolor: "background.paper",
borderRadius: "12px",
boxShadow: 24,
p: 0,
}}
>
{/* <Box
sx={{
boxSizing: "border-box",
background: "#F2F3F7",
height: "70px",
padding: "0 25px",
display: "flex",
alignItems: "center",
}}
>
<Box sx={{ color: "#9A9AAF" }}>
<Typography component="span">(</Typography>
<Box sx={{ display: "inline" }}>
<Typography
ref={titleRef}
sx={{
position: "absolute",
opacity: 0,
zIndex: "-100",
whiteSpace: "pre",
}}
>
{title}
</Typography>
<input
type="text"
value={title}
placeholder="Заголовок вопроса"
onChange={({ target }) => setTitle(target.value)}
style={{
width: titleInputWidth ? titleInputWidth : 170,
outline: "none",
background: "transparent",
border: "none",
fontSize: "18px",
minWidth: "50px",
maxWidth: "500px",
fontFamily: "Rubik",
transition: ".2s",
}}
/>
</Box>
<Typography component="span">)</Typography>
</Box>
<Tooltip
title="Настройте условия, при которых данный вопрос будет отображаться в квизе."
placement="top"
>
<Box>
<InfoIcon />
</Box>
</Tooltip>
</Box>
<Box
sx={{
padding: "20px",
display: "flex",
flexDirection: "column",
gap: "30px",
}}
>
<Box
sx={{
display: "flex",
gap: "20px",
alignItems: "center",
}}
>
<Select
items={ACTIONS}
activeItemIndex={question.content.rule.show ? 0 : 1}
sx={{ maxWidth: "140px" }}
onChange={(action) => {
updateQuestion(question.id, question => {
question.content.rule.show = action === ACTIONS[0];
});
}}
/>
<Typography sx={{ color: theme.palette.grey2.main }}>
если в ответе на вопрос
</Typography>
</Box>
{question.content.rule.reqs.map((request, index) => (
<Box
key={index}
sx={{
padding: "20px",
borderRadius: "8px",
height: "100%",
bgcolor: "#F2F3F7",
}}
>
<Box
sx={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
pb: "5px",
}}
>
<Typography sx={{ color: "#4D4D4D", fontWeight: "500" }}>
Условие 1
</Typography>
<IconButton
sx={{ borderRadius: "6px", padding: "2px" }}
onClick={() => {
updateQuestion(question.id, question => {
question.content.rule.reqs.splice(index, 1);
});
}}
>
<DeleteIcon color={"#4D4D4D"} />
</IconButton>
</Box>
<Select
empty
activeItemIndex={request.id ? Number(request.id) : -1}
items={STIPULATIONS}
onChange={(stipulation) => {
updateQuestion(question.id, question => {
question.content.rule.reqs[index].id = String(
STIPULATIONS.findIndex((item) => item.includes(stipulation))
);
});
}}
sx={{ marginBottom: "15px" }}
/>
{request.id && (
<>
<Box
sx={{
display: "flex",
alignItems: "center",
pb: "10px",
}}
>
<Typography sx={{ color: "#4D4D4D", fontWeight: "500" }}>
Дан ответ
</Typography>
<Typography sx={{ color: "#7E2AEA", pl: "10px" }}>
(Укажите один или несколько вариантов)
</Typography>
</Box>
<Select
empty
activeItemIndex={-1}
items={ANSWERS}
onChange={(answer) => {
const answerItemIndex = ANSWERS.findIndex(
(answerItem) => answerItem === answer
);
updateQuestion(question.id, question => {
const vars = question.content.rule.reqs[index].vars;
if (vars.includes(answerItemIndex)) {
vars.push(answerItemIndex);
}
});
}}
sx={{
marginBottom: "10px",
".MuiSelect-select.MuiInputBase-input": {
color: "transparent",
},
}}
/>
<Box
sx={{
display: "flex",
gap: "10px",
}}
>
{question.content.rule.reqs[index].vars.map(
(item, varIndex) => (
<Chip
key={varIndex}
label={ANSWERS[item]}
variant="outlined"
onDelete={() => {
updateQuestion(question.id, question => {
const vars = question.content.rule.reqs[index].vars;
const removedItemIndex = vars.findIndex((varItem) => varItem === item);
if (removedItemIndex === -1) return;
vars.splice(removedItemIndex, 1);
});
}}
/>
)
)}
</Box>
</>
)}
</Box>
))}
<Box
sx={{
display: "flex",
flexDirection: "column",
alignItems: "baseline",
}}
>
<Link
variant="body2"
sx={{
color: theme.palette.brightPurple.main,
marginBottom: "10px",
}}
onClick={() => {
updateQuestion(question.id, question => {
question.content.rule.reqs.push({ id: "", vars: [] });
});
}}
>
Добавить условие
</Link>
<FormControl>
<RadioGroup
aria-labelledby="demo-controlled-radio-buttons-group"
value={question.content.rule.or ? 1 : 0}
onChange={(_, value) => {
updateQuestion(question.id, question => {
question.content.rule.or = Boolean(Number(value));
});
}}
>
{CONDITIONS.map((condition, index) => (
<FormControlLabel
key={index}
sx={{ color: theme.palette.grey2.main }}
value={index}
control={
<Radio
checkedIcon={<RadioCheck />}
icon={<RadioIcon />}
/>
}
label={condition}
/>
))}
</RadioGroup>
</FormControl>
</Box>
<Box sx={{ display: "flex", justifyContent: "end", gap: "10px" }}>
<Button
variant="outlined"
onClick={handleClose}
sx={{ width: "100%", maxWidth: "130px" }}
>
Отмена
</Button>
<Button
variant="contained"
sx={{ width: "100%", maxWidth: "130px" }}
onClick={handleClose}
>
Готово
</Button>
</Box>
</Box> */}
</Box>
</Modal>
</>
);
}

@ -96,9 +96,6 @@ export default function ButtonsOptionsForm({ SSHC, switchState }: Props) {
display: "flex", display: "flex",
}} }}
> >
{/* <IconButton sx={{ borderRadius: "6px", padding: "2px" }}>
<HideIcon style={{ color: "#4D4D4D" }} />
</IconButton> */}
<IconButton sx={{ borderRadius: "6px", padding: "2px" }}> <IconButton sx={{ borderRadius: "6px", padding: "2px" }}>
<CopyIcon style={{ color: "#4D4D4D" }} /> <CopyIcon style={{ color: "#4D4D4D" }} />
</IconButton> </IconButton>

@ -11,7 +11,6 @@ function ResponseSettings() {
return ( return (
<Box sx={{ display: "flex", p: "0 20px", pt: "30px", pb: "20px" }}> <Box sx={{ display: "flex", p: "0 20px", pt: "30px", pb: "20px" }}>
<TextField <TextField
// value={text}
placeholder="Узнать подробнее" placeholder="Узнать подробнее"
fullWidth fullWidth
sx={{ sx={{

@ -56,14 +56,6 @@ export const FirstEntry = () => {
зависимости от его ответов. Так же можно сделать 1 вариант, если зависимости от его ответов. Так же можно сделать 1 вариант, если
ваш quiz не подразумевает логики ветвления ответов ваш quiz не подразумевает логики ветвления ответов
</Typography> </Typography>
{/*<Typography*/}
{/* sx={{*/}
{/* color: "#9A9AAF",*/}
{/* width: "100%",*/}
{/* }}*/}
{/*>*/}
{/* Этот шаг - необязательный, quiz будет работать и без автоматических результатов.*/}
{/*</Typography>*/}
</Box> </Box>
</Box> </Box>
<img <img

@ -4,7 +4,6 @@ import { useCurrentQuiz } from "@root/quizes/hooks";
import image from "../../assets/Rectangle 110.png"; import image from "../../assets/Rectangle 110.png";
import Info from "../../assets/icons/Info"; import Info from "../../assets/icons/Info";
import TooltipClickInfo from "@ui_kit/Toolbars/TooltipClickInfo"; import TooltipClickInfo from "@ui_kit/Toolbars/TooltipClickInfo";
// import CreationFullCard from "./FirstEntry";
export const Result = () => { export const Result = () => {
const quiz = useCurrentQuiz(); const quiz = useCurrentQuiz();
@ -14,11 +13,6 @@ export const Result = () => {
return ( return (
<Box component="section"> <Box component="section">
{/* <CreationFullCard
text="Вы можете показывать разные результаты квиза (добавьте описание, изображение, стоимость и т.п.) разным пользователям, нужно только их создать и проставить условия. Таким образом ваш квиз получится максимально индивидуальным для каждого клиента. Показывайте картинку/видео вместо результата или переадресовывайте пользователя по нужной ссылке."
text2="Этот шаг - необязательный, квиз будет работать и без автоматических результатов."
image={image}
/> */}
<Box sx={{ display: "flex", mt: "30px", alignItems: "center" }}> <Box sx={{ display: "flex", mt: "30px", alignItems: "center" }}>
<Button <Button
variant="contained" variant="contained"

@ -1,5 +1,4 @@
import { useEffect, useRef, useState } from "react"; import { useEffect, useRef, useState } from "react";
// import { useBlocker } from "react-router-dom";
import { import {
Box, Box,
Button, Button,
@ -48,7 +47,6 @@ export const ResultSettings = () => {
const [openNotificationModal, setOpenNotificationModal] = const [openNotificationModal, setOpenNotificationModal] =
useState<boolean>(true); useState<boolean>(true);
const isReadyToLeaveRef = useRef(true); const isReadyToLeaveRef = useRef(true);
// const blocker = useBlocker(false);
useEffect( useEffect(
function calcIsReadyToLeave() { function calcIsReadyToLeave() {
@ -65,13 +63,7 @@ export const ResultSettings = () => {
const cnsl = results.filter((q) => q.content.usage); const cnsl = results.filter((q) => q.content.usage);
const shouldBlock = true; // Replace this const shouldBlock = true;
// useEffect(() => {
// if (shouldBlock) {
// blocker.proceed?.()
// }
// }, [shouldBlock]);
const leavePage = (leave: boolean) => { const leavePage = (leave: boolean) => {
if (leave) { if (leave) {
@ -152,7 +144,6 @@ export const ResultSettings = () => {
))} ))}
<Modal <Modal
open={false} open={false}
// onClose={handleClose}
aria-labelledby="modal-modal-title" aria-labelledby="modal-modal-title"
aria-describedby="modal-modal-description" aria-describedby="modal-modal-description"
> >

@ -55,7 +55,6 @@ export const EmailSettingsCard = ({ quizExpand }: Props) => {
? "10px 10px 0 10px" ? "10px 10px 0 10px"
: "20px 20px 0 20px" : "20px 20px 0 20px"
: "20px", : "20px",
// flexDirection: isMobile ? "column" : null,
justifyContent: "space-between", justifyContent: "space-between",
minHeight: "40px", minHeight: "40px",
}} }}
@ -154,100 +153,6 @@ export const EmailSettingsCard = ({ quizExpand }: Props) => {
}, },
}} }}
/> />
{/*<Typography*/}
{/* sx={{*/}
{/* color: "#4D4D4D",*/}
{/* m: "20px 0 14px 0",*/}
{/* fontSize: "18px",*/}
{/* fontWeight: 500,*/}
{/* }}*/}
{/*>*/}
{/* E-mail ответа*/}
{/*</Typography>*/}
{/*<TextField*/}
{/* value={quiz.config.resultInfo.reply}*/}
{/* placeholder={"noreplay@example.ru"}*/}
{/* onChange={({ target }: { target: HTMLInputElement }) => {*/}
{/* updateQuiz(quiz.id, (quiz) => {*/}
{/* quiz.config.resultInfo.reply = target.value;*/}
{/* });*/}
{/* }}*/}
{/* sx={{*/}
{/* margin: isMobile ? "10px 0" : 0,*/}
{/* width: "100%",*/}
{/* "& .MuiInputBase-root": {*/}
{/* color: "#000000",*/}
{/* backgroundColor: expand*/}
{/* ? theme.palette.background.default*/}
{/* : "transparent",*/}
{/* height: "48px",*/}
{/* borderRadius: "10px",*/}
{/* ".MuiOutlinedInput-notchedOutline": {*/}
{/* borderWidth: "1px !important",*/}
{/* border: expand ? "none" : null,*/}
{/* },*/}
{/* "& .MuiInputBase-input::placeholder": {*/}
{/* color: "#4D4D4D",*/}
{/* opacity: 0.8,*/}
{/* },*/}
{/* },*/}
{/* }}*/}
{/* inputProps={{*/}
{/* sx: {*/}
{/* fontSize: "18px",*/}
{/* lineHeight: "21px",*/}
{/* py: 0,*/}
{/* paddingLeft: "18px",*/}
{/* },*/}
{/* }}*/}
{/*/>*/}
{/*<Typography*/}
{/* sx={{*/}
{/* color: "#4D4D4D",*/}
{/* m: "20px 0 14px 0",*/}
{/* fontSize: "18px",*/}
{/* fontWeight: 500,*/}
{/* }}*/}
{/*>*/}
{/* Имя отправителя*/}
{/*</Typography>*/}
{/*<TextField*/}
{/* value={quiz.config.resultInfo.replname}*/}
{/* placeholder={"Название компании"}*/}
{/* onChange={({ target }: { target: HTMLInputElement }) => {*/}
{/* updateQuiz(quiz.id, (quiz) => {*/}
{/* quiz.config.resultInfo.replname = target.value;*/}
{/* });*/}
{/* }}*/}
{/* sx={{*/}
{/* margin: isMobile ? "10px 0" : 0,*/}
{/* width: "100%",*/}
{/* "& .MuiInputBase-root": {*/}
{/* color: "#000000",*/}
{/* backgroundColor: expand*/}
{/* ? theme.palette.background.default*/}
{/* : "transparent",*/}
{/* height: "48px",*/}
{/* borderRadius: "10px",*/}
{/* ".MuiOutlinedInput-notchedOutline": {*/}
{/* borderWidth: "1px !important",*/}
{/* border: expand ? "none" : null,*/}
{/* },*/}
{/* "& .MuiInputBase-input::placeholder": {*/}
{/* color: "#4D4D4D",*/}
{/* opacity: 0.8,*/}
{/* },*/}
{/* },*/}
{/* }}*/}
{/* inputProps={{*/}
{/* sx: {*/}
{/* fontSize: "18px",*/}
{/* lineHeight: "21px",*/}
{/* py: 0,*/}
{/* paddingLeft: "18px",*/}
{/* },*/}
{/* }}*/}
{/*/>*/}
</Box> </Box>
)} )}
</Paper> </Paper>

@ -174,7 +174,6 @@ export const ResultCard = ({ resultContract, resultData }: Props) => {
display: expand ? "none" : "flex", display: expand ? "none" : "flex",
alignItems: "center", alignItems: "center",
padding: isMobile ? "10px" : "0 20px 20px", padding: isMobile ? "10px" : "0 20px 20px",
// flexDirection: isMobile ? "column" : null,
justifyContent: "space-between", justifyContent: "space-between",
minHeight: "40px", minHeight: "40px",
}} }}
@ -481,71 +480,7 @@ export const ResultCard = ({ resultContract, resultData }: Props) => {
</Box> </Box>
)} )}
</Box> </Box>
<Box
sx={{
display: "flex",
justifyContent: "space-between",
width: "100%",
background: "#F2F3F7",
}}
>
{/*<Box*/}
{/* sx={{*/}
{/* padding: "20px",*/}
{/* display: "flex",*/}
{/* flexWrap: "wrap",*/}
{/* gap: "10px",*/}
{/* }}*/}
{/*>*/}
{/* <MiniButtonSetting*/}
{/* onClick={() => {*/}
{/* setResultCardSettings(!resultCardSettings);*/}
{/* }}*/}
{/* sx={{*/}
{/* backgroundColor: resultCardSettings*/}
{/* ? theme.palette.brightPurple.main*/}
{/* : "transparent",*/}
{/* color: resultCardSettings*/}
{/* ? "#ffffff"*/}
{/* : theme.palette.grey3.main,*/}
{/* "&:hover": {*/}
{/* backgroundColor: resultCardSettings*/}
{/* ? "#581CA7"*/}
{/* : "#7E2AEA",*/}
{/* color: "white",*/}
{/* },*/}
{/* }}*/}
{/* >*/}
{/* <SettingIcon*/}
{/* color={*/}
{/* resultCardSettings ? "#ffffff" : theme.palette.grey3.main*/}
{/* }*/}
{/* />*/}
{/* {!isTablet && "Настройки"}*/}
{/* </MiniButtonSetting>*/}
{/*</Box>*/}
</Box>
</Box> </Box>
{/*{resultCardSettings && (*/}
{/* <Box*/}
{/* sx={{*/}
{/* backgroundColor: "white",*/}
{/* p: "20px",*/}
{/* borderRadius: "0 0 12px 12px",*/}
{/* }}*/}
{/* >*/}
{/* <CustomTextField*/}
{/* placeholder={"Внутреннее описание вопроса"}*/}
{/* value={resultData.innerName}*/}
{/* onChange={({ target }: { target: HTMLInputElement }) =>*/}
{/* updateQuestion(*/}
{/* resultData.id,*/}
{/* (question) => (question.content.innerName = target.value)*/}
{/* )*/}
{/* }*/}
{/* />*/}
{/* </Box>*/}
{/*)}*/}
</> </>
)} )}
</Paper> </Paper>

@ -129,7 +129,6 @@ export const WhenCard = ({ quizExpand }: Props) => {
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
padding: "20px", padding: "20px",
//flexDirection: isMobile ? "column" : null,
justifyContent: "space-between", justifyContent: "space-between",
minHeight: "40px", minHeight: "40px",
}} }}
@ -288,23 +287,6 @@ export const WhenCard = ({ quizExpand }: Props) => {
<InfoView /> <InfoView />
</Box> </Box>
</Box> </Box>
{/* {
(quiz?.config.resultInfo.when !== "email") && <SwitchSetting
icon={ShareNetwork}
text="Поделиться результатами"
onClick={(event) => updateQuiz(quiz.id, (quiz) => quiz.config.resultInfo.share = event.target.checked)}
value={quiz?.config.resultInfo.share}
/>
}
{
quiz?.config.resultInfo.when === "before" && <SwitchSetting
icon={ArrowCounterClockWise}
text="Кнопка `Пройти тест заново`"
onClick={(event) => updateQuiz(quiz.id, (quiz) => quiz.config.resultInfo.replay = event.target.checked)}
value={quiz?.config.resultInfo.replay}
/>
} */}
</Box> </Box>
</> </>
)} )}

@ -7,21 +7,6 @@ export default function FreeTariffCard() {
const theme = useTheme(); const theme = useTheme();
return ( return (
// <TariffCard
// icon={<NumberIcon number={0} color="#7e2aea" backgroundColor="white" />}
// discount={""}
// headerText="бесплатно"
// text="Каждому пользователю все наши продукты в первые 14 дней доступны совершенно бесплатно (кроме доп.услуг)"
// price={
// <Typography variant="price" color="white">
// 0 руб.
// </Typography>
// }
// sx={{
// backgroundColor: "#7e2aea",
// color: "white",
// }}
// />
<Box <Box
sx={{ sx={{
width: "100%", width: "100%",

@ -12,7 +12,6 @@ import { useLocation, useNavigate } from "react-router-dom";
import PenaLogo from "../Landing/images/icons/QuizLogo"; import PenaLogo from "../Landing/images/icons/QuizLogo";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { useUserStore } from "../../stores/user"; import { useUserStore } from "../../stores/user";
// import { cardShadow } from "@root/utils/theme";
export default function OutdatedLink() { export default function OutdatedLink() {
const [isDialogOpen, setIsDialogOpen] = useState<boolean>(true); const [isDialogOpen, setIsDialogOpen] = useState<boolean>(true);
@ -64,7 +63,6 @@ export default function OutdatedLink() {
pb: upMd ? "40px" : "30px", pb: upMd ? "40px" : "30px",
gap: "15px", gap: "15px",
borderRadius: "12px", borderRadius: "12px",
// boxShadow: cardShadow,
"& .MuiFormHelperText-root.Mui-error, & .MuiFormHelperText-root.Mui-error.MuiFormHelperText-filled": "& .MuiFormHelperText-root.Mui-error, & .MuiFormHelperText-root.Mui-error.MuiFormHelperText-filled":
{ {
position: "absolute", position: "absolute",

@ -128,7 +128,6 @@ export default function RecoverPassword() {
pb: upMd ? "40px" : "30px", pb: upMd ? "40px" : "30px",
gap: "15px", gap: "15px",
borderRadius: "12px", borderRadius: "12px",
// boxShadow: cardShadow,
"& .MuiFormHelperText-root.Mui-error, & .MuiFormHelperText-root.Mui-error.MuiFormHelperText-filled": "& .MuiFormHelperText-root.Mui-error, & .MuiFormHelperText-root.Mui-error.MuiFormHelperText-filled":
{ {
position: "absolute", position: "absolute",

@ -196,18 +196,6 @@ export default function SigninDialog() {
> >
Войти Войти
</Button> </Button>
{/* <Link
component={RouterLink}
to="/"
href="#"
sx={{
color: "#4D4D4D",
mb: "15px",
}}
>
Забыли пароль?
</Link> */}
<Box <Box
sx={{ sx={{
display: "flex", display: "flex",

@ -233,16 +233,6 @@ export default function QuizCard({
anchorOrigin={{ vertical: "top", horizontal: "right" }} anchorOrigin={{ vertical: "top", horizontal: "right" }}
> >
<Box onClick={() => setSubMenuOpen(false)}> <Box onClick={() => setSubMenuOpen(false)}>
{/* <Button
sx={{
display: "block",
width: "100%",
padding: "15px 30px",
}}
onClick={()=>{}}
>
Копировать
</Button> */}
<Button <Button
id="deleteButton" id="deleteButton"
sx={{ sx={{

@ -135,12 +135,7 @@ export default function Main({ sidebar, header, footer, Page }: Props) {
<Box <Box
sx={{ sx={{
width: "100%", width: "100%",
height: isMobile height: isMobile ? "100vh" : "calc(100vh - 80px)",
? // ? mobileSidebar
// ? `calc(100vh - ${heightHeader}px)`
// "calc(100vh - 51px)"
"100vh"
: "calc(100vh - 80px)",
display: "flex", display: "flex",
flexDirection: "column", flexDirection: "column",
justifyContent: "space-between", justifyContent: "space-between",
@ -152,7 +147,6 @@ export default function Main({ sidebar, header, footer, Page }: Props) {
sx={{ sx={{
background: theme.palette.background.default, background: theme.palette.background.default,
width: "100%", width: "100%",
// overflow: "auto",
boxSizing: "border-box", boxSizing: "border-box",
}} }}
> >
@ -203,11 +197,8 @@ export default function Main({ sidebar, header, footer, Page }: Props) {
) : ( ) : (
<></> <></>
))} ))}
{/* Кнопка тестового просмотра */}
<ButtonTestPublication /> <ButtonTestPublication />
{/* Кнопка отозвать */}
<ButtonRecallQuiz /> <ButtonRecallQuiz />
{/* Ссылка */}
{quiz?.status === "start" && {quiz?.status === "start" &&
(!isLinkButton ? ( (!isLinkButton ? (
<Box <Box
@ -258,7 +249,6 @@ export default function Main({ sidebar, header, footer, Page }: Props) {
<LinkSimple /> <LinkSimple />
</Box> </Box>
))} ))}
{/* Маленькая кнопка ссылки */}
{isMobile && quiz?.status === "start" && ( {isMobile && quiz?.status === "start" && (
<Box <Box
data-cy="link-test" data-cy="link-test"

@ -70,7 +70,6 @@ export default function EditPage({
const isBranchingLogic = useMediaQuery(theme.breakpoints.down(1100)); const isBranchingLogic = useMediaQuery(theme.breakpoints.down(1100));
const isMobile = useMediaQuery(theme.breakpoints.down(650)); const isMobile = useMediaQuery(theme.breakpoints.down(650));
const quizConfig = quiz?.config; const quizConfig = quiz?.config;
// const [openBranchingPage, setOpenBranchingPage] = useState<boolean>(false);
const mainBlock = useRef(0); const mainBlock = useRef(0);
const heightBar = heightSidebar + 51 + 88; const heightBar = heightSidebar + 51 + 88;
@ -80,7 +79,6 @@ export default function EditPage({
useEffect( useEffect(
() => () => { () => () => {
// resetEditConfig();
cleanQuestions(); cleanQuestions();
updateModalInfoWhyCantCreate(false); updateModalInfoWhyCantCreate(false);
updateSomeWorkBackend(false); updateSomeWorkBackend(false);
@ -166,7 +164,6 @@ export default function EditPage({
paddingBottom: scrollDown && isMobile ? "120px" : undefined, paddingBottom: scrollDown && isMobile ? "120px" : undefined,
}} }}
> >
{/* Выбор текущей страницы редактирования чего-либо - находится здесь */}
{quizConfig && ( {quizConfig && (
<> <>
<Stepper activeStep={currentStep} /> <Stepper activeStep={currentStep} />

@ -64,7 +64,6 @@ const designTypes = [
"Centered", "Centered",
], ],
] as const; ] as const;
// type DesignType = typeof designTypes[number][0];
export default function StartPageSettings() { export default function StartPageSettings() {
const theme = useTheme(); const theme = useTheme();
@ -629,7 +628,6 @@ export default function StartPageSettings() {
)} )}
</Box> </Box>
)} )}
{/*Правая сторона*/}
<Box <Box
sx={{ sx={{
display: isTablet && formState === "design" ? "none" : "flex", display: isTablet && formState === "design" ? "none" : "flex",

@ -1,5 +1 @@
// jest-dom adds custom jest matchers for asserting on DOM nodes.
// allows you to do things like:
// expect(element).toHaveTextContent(/react/i)
// learn more: https://github.com/testing-library/jest-dom
import "@testing-library/jest-dom"; import "@testing-library/jest-dom";

@ -74,12 +74,18 @@ export const createUntypedQuestion = (
} }
state.questions.push(newUntypedQuestion); state.questions.push(newUntypedQuestion);
state.questions.sort((_, item) => (item.type === "result" ? -1 : 1));
}, },
{ {
type: "createUntypedQuestion", type: "createUntypedQuestion",
quizId, quizId,
}, },
); );
console.log(
33,
useQuestionsStore.getState().questions.map((q) => q.type),
);
}; };
const removeQuestion = (questionId: string) => const removeQuestion = (questionId: string) =>
@ -150,18 +156,20 @@ const updateQuestionOrders = () => {
const questions = useQuestionsStore const questions = useQuestionsStore
.getState() .getState()
.questions.filter( .questions.filter(
(question): question is AnyTypedQuizQuestion => (question): question is AnyTypedQuizQuestion | UntypedQuizQuestion =>
question.type !== null && question.type !== "result", question.type !== "result",
); );
questions.forEach((question, index) => { questions.forEach((question, index) => {
updateQuestion( if (question.type) {
question.id, updateQuestion(
(question) => { question.id,
question.page = index; (question) => {
}, question.page = index;
true, },
); true,
);
}
}); });
}; };

@ -135,11 +135,11 @@ export const quizStore = create<QuizStore>()(
button: "", // текст на кнопке начала опроса button: "", // текст на кнопке начала опроса
position: "ltr", // ltr или rtl. отображение элементов поверх фона position: "ltr", // ltr или rtl. отображение элементов поверх фона
background: { background: {
type: "image", //image или video type: "image", // image или video
desktop: "", desktop: "",
mobile: "", mobile: "",
video: "", video: "",
cycle: true, //зацикливать видео или нет cycle: true, // зацикливать видео или нет
}, },
}, },
info: { info: {

@ -70,7 +70,6 @@ export const obsolescenceResult = async (
//стреляем на лишение новизны //стреляем на лишение новизны
try { try {
await resultApi.obsolescence(lossId); await resultApi.obsolescence(lossId);
//сбрасываем массив
lossId = []; lossId = [];
} catch (error) { } catch (error) {
devlog("Error", error); devlog("Error", error);

@ -10,7 +10,6 @@ export function useResults(quizId: string) {
"results", "results",
() => resultApi.getList(quizId), () => resultApi.getList(quizId),
{ {
// onSuccess: setResults,
onError: (error: unknown) => { onError: (error: unknown) => {
const message = isAxiosError<string>(error) const message = isAxiosError<string>(error)
? error.response?.data ?? "" ? error.response?.data ?? ""
@ -25,10 +24,3 @@ export function useResults(quizId: string) {
return { results, isLoading, error, isValidating }; return { results, isLoading, error, isValidating };
} }
// export function useAnswerList() {
// const { isLoading, error, isValidating } = useSWR(
// "answers",
// () => resultApi.getAnswerList()
// )
// }

@ -68,10 +68,8 @@ export function CheckFastlink() {
if (userId !== null) { if (userId !== null) {
//У нас есть промокод и юзер авторизован. Проверяем есть ли у него применённый промокод //У нас есть промокод и юзер авторизован. Проверяем есть ли у него применённый промокод
if (discounts?.find((e) => e.Condition.User === userId)) { if (discounts?.find((e) => e.Condition.User === userId)) {
//есть
setAskToChange(true); setAskToChange(true);
} else { } else {
//нет
fetchPromocode(); fetchPromocode();
} }
} }

@ -102,7 +102,6 @@ export default () => {
fullWidth fullWidth
sx={{ sx={{
width: "100%", width: "100%",
// mt: "25px",
mb: "10px", mb: "10px",
"& .MuiInputBase-root": { "& .MuiInputBase-root": {
backgroundColor: "#F2F3F7", backgroundColor: "#F2F3F7",

@ -26,12 +26,6 @@ export const CustomSlider = ({
sx, sx,
className, className,
}: CustomSliderProps) => { }: CustomSliderProps) => {
// const handleChange = ({ type }: Event, newValue: number | number[]) => {
// // Для корректной работы слайдера в FireFox
// if (type !== "change") {
// onChange?.(e, newValue);
// }
// };
const theme = useTheme(); const theme = useTheme();
return ( return (

@ -188,10 +188,6 @@ export default () => {
const sendFile = async (file: File) => { const sendFile = async (file: File) => {
if (file === undefined) return true; if (file === undefined) return true;
// const isFileTypeAccepted = ACCEPT_SEND_FILE_TYPES_MAP.some(
// fileType => file.name.toLowerCase().endsWith(fileType)
// );
// if (!isFileTypeAccepted) return setModalWarningType("errorType");
let data; let data;
if (!ticket.sessionData?.ticketId) { if (!ticket.sessionData?.ticketId) {
try { try {

@ -19,7 +19,6 @@ export default function NavbarCollapsed({ isLoggedIn }: Props) {
position: "sticky", position: "sticky",
top: 0, top: 0,
zIndex: 1, zIndex: 1,
// borderBottom: "1px solid #E3E3E3",
}} }}
sx={{ sx={{
height: "51px", height: "51px",

@ -51,7 +51,6 @@ export default function InputTextfield({
variant="standard" variant="standard"
sx={{ sx={{
gap, gap,
// mt: "10px",
...FormInputSx, ...FormInputSx,
}} }}
> >

@ -160,11 +160,6 @@ export const ExportContactsModal: FC<Iprops> = ({
</Box> </Box>
</Box> </Box>
<Box sx={{ p: "0 20px 20px" }}> <Box sx={{ p: "0 20px 20px" }}>
{/*<Box sx={{ display: "flex", flexDirection: "column", gap: "14px" }}>*/}
{/* <CustomCheckbox label="Ответы в отдельных полях" />*/}
{/* <CustomCheckbox label="Cookies в отдельных полях" />*/}
{/* <CustomCheckbox label="Только верифицированные номера" />*/}
{/*</Box>*/}
<Box <Box
sx={{ sx={{
display: "flex", display: "flex",
@ -186,9 +181,6 @@ export const ExportContactsModal: FC<Iprops> = ({
</Button> </Button>
<Button <Button
variant="contained" variant="contained"
// onClick={() =>
// answerResultListExport(editQuizId, toDate, fromDate)
// }
sx={{ sx={{
width: isMobile ? "100%" : "130px", width: isMobile ? "100%" : "130px",
height: "48px", height: "48px",

@ -96,12 +96,6 @@ export const FilterModal: FC<Iprops> = ({
onChange={setFilterNew} onChange={setFilterNew}
placeholder="Все заявки" placeholder="Все заявки"
/> />
{/* <CheckboxSelect
sx={{ width: "100%" }}
placeholder="Выберите город"
options={options}
/> */}
</Box> </Box>
<Box sx={{ p: "0 20px 20px" }}> <Box sx={{ p: "0 20px 20px" }}>
@ -125,40 +119,6 @@ export const FilterModal: FC<Iprops> = ({
> >
Сбросить фильтры <ClockWiseIcon /> Сбросить фильтры <ClockWiseIcon />
</Button> </Button>
{/* <Box
sx={{
display: "flex",
gap: "10px",
width: "100%",
justifyContent: "flex-end",
mt: "35px",
}}
>
<Button
sx={{
width: isMobile ? "100%" : "130px",
border: "1px solid #9A9AAF",
}}
onClick={handleClose}
variant="outlined"
>
Отмена
</Button>
<Button
variant="contained"
sx={{
width: isMobile ? "100%" : "130px",
height: "48px",
fontSize: "18px",
display: "flex",
alignItems: "center",
justifyContent: "center",
}}
>
Готово
</Button>
</Box> */}
</Box> </Box>
</Box> </Box>
</Modal> </Modal>

@ -42,7 +42,6 @@
} }
/* кружочки */ /* кружочки */
.ReactCrop .ord-nw:after { .ReactCrop .ord-nw:after {
background-color: #7e2aea; background-color: #7e2aea;
} }
@ -74,5 +73,4 @@
.ReactCrop .ord-w:after { .ReactCrop .ord-w:after {
background-color: #7e2aea; background-color: #7e2aea;
} }
/* кружочки */ /* кружочки */

Some files were not shown because too many files have changed in this diff Show More