замена текстов, -чекбоксы внутреннее название вопроса

This commit is contained in:
Tamara 2023-12-30 23:31:49 +03:00
parent 4953686ed6
commit 80efd95de1
42 changed files with 563 additions and 581 deletions

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

@ -86,7 +86,7 @@ export default function ContactFormPage() {
<ArrowLeft /> <ArrowLeft />
</Button> </Button>
<Button variant="contained" sx={{ padding: "10px 20px" }} onClick={incrementCurrentStep}> <Button variant="contained" sx={{ padding: "10px 20px" }} onClick={incrementCurrentStep}>
Установка квиза Установка quiz
</Button> </Button>
</Box> </Box>
</Box> </Box>

@ -27,7 +27,8 @@ export const DesignFilling = () => {
] ]
return ( return (
<Box sx={{width: "100%", padding: "25px"}}> <Box sx={{width: "100%", padding: "25px"}}>
<Typography variant="h5" sx={{marginBottom: "40px"}}>Дизайн</Typography> <Typography variant="h5" sx={{marginBottom: "40px", color: "#333647"}}>Дизайн</Typography>
<Typography sx={{marginBottom: "30px", color: "#333647"}}>Выберите цветовую схему для вашего опроса</Typography>
<Paper sx={{ <Paper sx={{
padding: "20px", padding: "20px",
maxWidth: "796px", maxWidth: "796px",

@ -63,12 +63,12 @@ export default function AutoOpenInstall () {
border: "1px dashed #7E2AEA" border: "1px dashed #7E2AEA"
}}> }}>
<Typography sx={{color: theme.palette.brightPurple.main}}> <Typography sx={{color: theme.palette.brightPurple.main}}>
Квиз будет открываться через указанное время Quiz будет открываться через указанное время
</Typography> </Typography>
</Box> </Box>
</Box> </Box>
</Box> </Box>
<Typography sx={{fontSize: '14px', color: theme.palette.grey2.main}}>Если квиз уже установлен на <Typography sx={{fontSize: '14px', color: theme.palette.grey2.main}}>Если quiz уже установлен на
сайт, и вы что-то здесь изменили, сайт, и вы что-то здесь изменили,
код на сайте нужно будет поменять. Настройки в этом конструкторе не сохраняются. код на сайте нужно будет поменять. Настройки в этом конструкторе не сохраняются.
</Typography> </Typography>
@ -76,11 +76,11 @@ export default function AutoOpenInstall () {
{/*правая часть*/} {/*правая часть*/}
<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 label={"Автооткрытие квиза"} checked={checked[0]} handleChange={handleChange1}/> <CustomCheckbox label={"Автооткрытие quiz"} checked={checked[0]} handleChange={handleChange1}/>
<InfoIcon/> <InfoIcon/>
</Box> </Box>
<Box sx={{display: "flex", alignItems: "center"}} > <Box sx={{display: "flex", alignItems: "center"}} >
<CustomCheckbox label={"Открывать квиз при попытке уйти с сайта"} checked={checked[1]} handleChange={handleChange2}/> <CustomCheckbox label={"Открывать quiz при попытке уйти с сайта"} checked={checked[1]} handleChange={handleChange2}/>
<InfoIcon/> <InfoIcon/>
</Box> </Box>
{checked[0] ? {checked[0] ?

@ -44,7 +44,7 @@ export default function BannerInstall () {
<img src={BannerImg}/> <img src={BannerImg}/>
<Typography sx={{fontSize: '14px', color: theme.palette.grey2.main}}> <Typography sx={{fontSize: '14px', color: theme.palette.grey2.main}}>
Если квиз уже установлен на сайт, и вы что-то здесь изменили, код на сайте нужно будет поменять. Если quiz уже установлен на сайт, и вы что-то здесь изменили, код на сайте нужно будет поменять.
Настройки в этом конструкторе не сохраняются. Настройки в этом конструкторе не сохраняются.
</Typography> </Typography>
</Box> </Box>
@ -53,8 +53,8 @@ export default function BannerInstall () {
<Box sx={{display: "flex", flexDirection: "column", gap: "15px"}}> <Box sx={{display: "flex", flexDirection: "column", gap: "15px"}}>
<Typography sx={{color: theme.palette.grey2.main}}>Текст-призыв</Typography> <Typography sx={{color: theme.palette.grey2.main}}>Текст-призыв</Typography>
<CustomTextField placeholder={"Пройти тест"}/> <CustomTextField placeholder={"Пройти тест"}/>
<Typography sx={{color: theme.palette.grey2.main}}>Заголовок квиза</Typography> <Typography sx={{color: theme.palette.grey2.main}}>Заголовок quiz</Typography>
<CustomTextField placeholder={"Заголовок квиза"}/> <CustomTextField placeholder={"Заголовок quiz"}/>
<Box sx={{display: "flex", gap: "10px", alignItems: "center"}}> <Box sx={{display: "flex", gap: "10px", alignItems: "center"}}>
<Typography sx={{color: theme.palette.grey2.main}}>Показывать через</Typography> <Typography sx={{color: theme.palette.grey2.main}}>Показывать через</Typography>
<FormControl <FormControl
@ -192,7 +192,7 @@ export default function BannerInstall () {
textDecorationColor: theme.palette.brightPurple.main, textDecorationColor: theme.palette.brightPurple.main,
textAlign: 'left', textAlign: 'left',
padding: "15px 0", padding: "15px 0",
}}>+ Автооткрытие квиза</Link> }}>+ Автооткрытие quiz</Link>
</Box> </Box>
</InstallQzOnSiteParent> </InstallQzOnSiteParent>
) )

@ -161,7 +161,7 @@ export default function ButtonSocial () {
background: theme.palette.background.default, background: theme.palette.background.default,
}} }}
> >
<Typography sx={{color: theme.palette.grey2.main}}>Добавить квиз в Tiktok</Typography> <Typography sx={{color: theme.palette.grey2.main}}>Добавить quiz в Tiktok</Typography>
</Box> </Box>
<Box sx={{ <Box sx={{
padding: '20px', padding: '20px',
@ -174,7 +174,7 @@ export default function ButtonSocial () {
gap: '20px', gap: '20px',
flexDirection: 'column' flexDirection: 'column'
}}> }}>
<Typography>1. Скопируйте ссылку на квиз</Typography> <Typography>1. Скопируйте ссылку на quiz</Typography>
<FormControl sx={{ m: 1, width: '100%' }} variant="outlined"> <FormControl sx={{ m: 1, width: '100%' }} variant="outlined">
<OutlinedInput <OutlinedInput
@ -211,8 +211,8 @@ export default function ButtonSocial () {
}}> }}>
<Typography >2. Зайдите в аккаунт Tiktok</Typography> <Typography >2. Зайдите в аккаунт Tiktok</Typography>
<Typography sx={{color: theme.palette.grey2.main}}> <Typography sx={{color: theme.palette.grey2.main}}>
Кликните по кнопке Изменить профиль. В поле Веб-сайт вставьте скопированную ссылку на квиз. Кликните по кнопке Изменить профиль. В поле Веб-сайт вставьте скопированную ссылку на quiz.
Готово! Квиз вставлен в аккаунт Tiktok. Готово! Quiz вставлен в аккаунт Tiktok.
</Typography> </Typography>
<Link <Link
component='button' component='button'
@ -265,7 +265,7 @@ export default function ButtonSocial () {
background: theme.palette.background.default, background: theme.palette.background.default,
}} }}
> >
<Typography sx={{color: theme.palette.grey2.main}}>QR-код для перехода в квиз</Typography> <Typography sx={{color: theme.palette.grey2.main}}>QR-код для перехода в quiz</Typography>
</Box> </Box>
<Box sx={{ <Box sx={{
padding: '20px', padding: '20px',

@ -54,14 +54,14 @@ export default function InBodyInstall () {
border: "1px dashed #7E2AEA" border: "1px dashed #7E2AEA"
}}> }}>
<Typography sx={{color: theme.palette.brightPurple.main, maxWidth: "365px"}}> <Typography sx={{color: theme.palette.brightPurple.main, maxWidth: "365px"}}>
Квиз будет открыть прямо в том месте, где вы установите код на сайте Quiz будет открыть прямо в том месте, где вы установите код на сайте
</Typography> </Typography>
</Box> </Box>
<Typography sx={{maxWidth: "414px", fontSize: "14px"}}>В мобильной версии будет показана кнопка, открывающая квиз в модальном окне</Typography> <Typography sx={{maxWidth: "414px", fontSize: "14px"}}>В мобильной версии будет показана кнопка, открывающая quiz в модальном окне</Typography>
</Box> </Box>
</Box> </Box>
<Typography sx={{fontSize: '14px', color: theme.palette.grey2.main}}>Если квиз уже установлен на сайт, и вы что-то здесь изменили, <Typography sx={{fontSize: '14px', color: theme.palette.grey2.main}}>Если quiz уже установлен на сайт, и вы что-то здесь изменили,
код на сайте нужно будет поменять. Настройки в этом конструкторе не сохраняются. код на сайте нужно будет поменять. Настройки в этом конструкторе не сохраняются.
</Typography> </Typography>
</Box> </Box>
@ -116,7 +116,7 @@ export default function InBodyInstall () {
color: theme.palette.brightPurple.main, color: theme.palette.brightPurple.main,
textDecorationColor: theme.palette.brightPurple.main, textDecorationColor: theme.palette.brightPurple.main,
textAlign: 'left' textAlign: 'left'
}}>+ Автооткрытие квиза</Link> }}>+ Автооткрытие quiz</Link>
</Box> </Box>
</Box> </Box>
</InstallQzOnSiteParent> </InstallQzOnSiteParent>

@ -93,16 +93,16 @@ export default function InstallQuiz() {
> >
<Box sx={{ display: "flex", alignItems: "center", gap: "10px" }}> <Box sx={{ display: "flex", alignItems: "center", gap: "10px" }}>
<LinkIcon color={theme.palette.brightPurple.main} bgcolor={"#EEE4FC"} /> <LinkIcon color={theme.palette.brightPurple.main} bgcolor={"#EEE4FC"} />
<Typography>Ссылка на квиз</Typography> <Typography>Ссылка на quiz</Typography>
<Tooltip {/*<Tooltip*/}
title="Скопируйте или укажите свою ссылку на квиз. Ссылка должна быть от 4 до 20 символов включительно, может содержать латинские буквы, цифры, тире '-' и нижнее подчеркивание '_'." {/* title="Скопируйте или укажите свою ссылку на quiz. Ссылка должна быть от 4 до 20 символов включительно, может содержать латинские буквы, цифры, тире '-' и нижнее подчеркивание '_'."*/}
placement="top" {/* placement="top"*/}
> {/*>*/}
<Box> {/* <Box>*/}
<InfoIcon /> {/* <InfoIcon />*/}
</Box> {/* </Box>*/}
</Tooltip> {/*</Tooltip>*/}
<FormControl <FormControl
fullWidth fullWidth
size="small" size="small"
@ -171,19 +171,19 @@ export default function InstallQuiz() {
> >
Стандартная Стандартная
</MenuItem> </MenuItem>
<MenuItem {/*<MenuItem*/}
value={2} {/* value={2}*/}
sx={{ {/* sx={{*/}
display: "flex", {/* display: "flex",*/}
alignItems: "center", {/* alignItems: "center",*/}
gap: "20px", {/* gap: "20px",*/}
p: "4px", {/* p: "4px",*/}
borderRadius: "5px", {/* borderRadius: "5px",*/}
color: theme.palette.grey2.main, {/* color: theme.palette.grey2.main,*/}
}} {/* }}*/}
> {/*>*/}
На поддомене {/* На поддомене*/}
</MenuItem> {/*</MenuItem>*/}
</Select> </Select>
</FormControl> </FormControl>
</Box> </Box>
@ -241,10 +241,10 @@ export default function InstallQuiz() {
sx={{ sx={{
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
justifyContent: "space-between", justifyContent: "flex-end",
}} }}
> >
<ButtonSocial /> {/*<ButtonSocial />*/}
<Typography sx={{ color: "#FC712F" }}>{quiz?.status === "start" ? "Опубликован" : "Не опубликован"}</Typography> <Typography sx={{ color: "#FC712F" }}>{quiz?.status === "start" ? "Опубликован" : "Не опубликован"}</Typography>
</Box> </Box>

@ -55,7 +55,7 @@ export default function InstallQzCode() {
</Box> </Box>
<Box sx={{ maxWidth: "520px", width: "100%", display: "flex", flexDirection: "column", gap: "20px"}}> <Box sx={{ maxWidth: "520px", width: "100%", display: "flex", flexDirection: "column", gap: "20px"}}>
<Typography>2. Код кнопки</Typography> <Typography>2. Код кнопки</Typography>
<Typography sx={{color: theme.palette.grey2.main}}>Установите код в то место, где должна быть кнопка открытия квиза</Typography> <Typography sx={{color: theme.palette.grey2.main}}>Установите код в то место, где должна быть кнопка открытия quiz</Typography>
<TextField <TextField
id="outlined-multiline-static" id="outlined-multiline-static"
multiline multiline
@ -104,7 +104,7 @@ export default function InstallQzCode() {
<Box sx={{ maxWidth: "520px", width: "100%"}}> <Box sx={{ maxWidth: "520px", width: "100%"}}>
<Typography>3. Проверьте правильность установки</Typography> <Typography>3. Проверьте правильность установки</Typography>
<Typography sx={{color: theme.palette.grey2.main}}>Введите полный адрес страницы, где вы установили квиз и нажмите "проверить"</Typography> <Typography sx={{color: theme.palette.grey2.main}}>Введите полный адрес страницы, где вы установили quiz и нажмите "проверить"</Typography>
</Box> </Box>
<Box sx={{ <Box sx={{
background: "#EEE4FC", background: "#EEE4FC",
@ -117,11 +117,11 @@ export default function InstallQzCode() {
marginBottom: "20px" marginBottom: "20px"
}}> }}>
<Typography> <Typography>
Код нужно вставить один раз. Изменения в самом квизе будут отображаться автоматически после сохранения. Код нужно вставить один раз. Изменения в самом quiz будут отображаться автоматически после сохранения.
</Typography> </Typography>
<Typography> <Typography>
Для добавления нескольких квизов на одну страницу, код инициализации достаточно добавить один раз с любого квиза, Для добавления нескольких quiz на одну страницу, код инициализации достаточно добавить один раз с любого quiz,
а затем вставить кнопки открытия с нужных квизов а затем вставить кнопки открытия с нужных quiz
</Typography> </Typography>
</Box> </Box>
</InstallQzOnSiteParent> </InstallQzOnSiteParent>

@ -23,7 +23,7 @@ export default function InstallQzOnSiteParent ({outerContainerSx: sx, children}:
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)' 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'}}> <Box sx={{display:'flex', alignItems: 'center'}}>
<Typography variant='h5' sx={{paddingRight: '30px'}}>Установка квизов на сайте</Typography> <Typography variant='h5' sx={{paddingRight: '30px'}}>Установка quiz на сайте</Typography>
<OneIconBorder color={theme.palette.brightPurple.main}/> <OneIconBorder color={theme.palette.brightPurple.main}/>
<Typography sx={{color: theme.palette.brightPurple.main}}>Способ установки</Typography> <Typography sx={{color: theme.palette.brightPurple.main}}>Способ установки</Typography>
<NumberTwo color={'#FC712F'}/> <NumberTwo color={'#FC712F'}/>

@ -48,7 +48,7 @@ export default function OnButtonInstall () {
<Button variant='contained'>Пройти тест</Button> <Button variant='contained'>Пройти тест</Button>
</Box> </Box>
</Box> </Box>
<Typography sx={{fontSize: '14px', color: theme.palette.grey2.main}}>Если квиз уже установлен на сайт, и вы что-то здесь изменили, <Typography sx={{fontSize: '14px', color: theme.palette.grey2.main}}>Если quiz уже установлен на сайт, и вы что-то здесь изменили,
код на сайте нужно будет поменять. Настройки в этом конструкторе не сохраняются. код на сайте нужно будет поменять. Настройки в этом конструкторе не сохраняются.
</Typography> </Typography>
</Box> </Box>
@ -95,7 +95,7 @@ export default function OnButtonInstall () {
color: theme.palette.brightPurple.main, color: theme.palette.brightPurple.main,
textDecorationColor: theme.palette.brightPurple.main, textDecorationColor: theme.palette.brightPurple.main,
textAlign: 'left' textAlign: 'left'
}}>+ Автооткрытие квиза</Link> }}>+ Автооткрытие quiz</Link>
</Box> </Box>
</InstallQzOnSiteParent> </InstallQzOnSiteParent>
</> </>

@ -37,7 +37,7 @@ export default function VidjetInstall () {
<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}}>
Если квиз уже установлен на сайт, и вы что-то здесь изменили, код на сайте нужно будет поменять. Если quiz уже установлен на сайт, и вы что-то здесь изменили, код на сайте нужно будет поменять.
Настройки в этом конструкторе не сохраняются. Настройки в этом конструкторе не сохраняются.
</Typography> </Typography>
</Box> </Box>
@ -159,7 +159,7 @@ export default function VidjetInstall () {
</FormControl> </FormControl>
<Typography sx={{color: theme.palette.grey2.main}}>секунд</Typography> <Typography sx={{color: theme.palette.grey2.main}}>секунд</Typography>
</Box> </Box>
<Typography sx={{color: theme.palette.grey2.main, fontSize: "14px"}}>Время, через которое квиз автоматически откроется</Typography> <Typography sx={{color: theme.palette.grey2.main, fontSize: "14px"}}>Время, через которое quiz автоматически откроется</Typography>
</Box> </Box>
: :
<></> <></>

@ -160,7 +160,7 @@ function CsComponent({
} }
} else { } else {
enqueueSnackbar("Квиз не найден") enqueueSnackbar("Quiz не найден")
} }
} }

@ -38,7 +38,7 @@ export const FirstNodeField = ({ setOpenedModalQuestions, modalQuestionTargetCon
createResult(quiz?.backendId, dragQuestionContentId) createResult(quiz?.backendId, dragQuestionContentId)
} }
} else { } else {
enqueueSnackbar("Нет информации о взятом опроснике") enqueueSnackbar("Нет информации о взятом опросе")
} }
} }
@ -61,7 +61,7 @@ export const FirstNodeField = ({ setOpenedModalQuestions, modalQuestionTargetCon
createResult(quiz?.backendId, modalQuestionTargetContentId) createResult(quiz?.backendId, modalQuestionTargetContentId)
} }
} else { } else {
enqueueSnackbar("Нет информации о взятом опроснике") enqueueSnackbar("Нет информации о взятом опросе")
} }
}, [modalQuestionTargetContentId]) }, [modalQuestionTargetContentId])

@ -106,7 +106,7 @@ export default function BranchingQuestions() {
<Box sx={{ color: "#4d4d4d" }}> <Box sx={{ color: "#4d4d4d" }}>
<Typography component="span">{targetQuestion.title}</Typography> <Typography component="span">{targetQuestion.title}</Typography>
</Box> </Box>
<Tooltip title="Настройте условия, при которых данный вопрос будет отображаться в квизе." placement="top"> <Tooltip title="Настройте условия, при которых данный вопрос будет отображаться в quiz." placement="top">
<Box> <Box>
<InfoIcon /> <InfoIcon />
</Box> </Box>

@ -114,38 +114,38 @@ export default function ButtonsOptionsAndPict({
/> />
{isIconMobile ? null : "Настройки"} {isIconMobile ? null : "Настройки"}
</MiniButtonSetting> </MiniButtonSetting>
<MiniButtonSetting {/*<MiniButtonSetting*/}
onMouseEnter={() => setButtonHover("help")} {/* onMouseEnter={() => setButtonHover("help")}*/}
onMouseLeave={() => setButtonHover("")} {/* onMouseLeave={() => setButtonHover("")}*/}
onClick={() => { {/* onClick={() => {*/}
SSHC("help"); {/* SSHC("help");*/}
}} {/* }}*/}
sx={{ {/* sx={{*/}
minWidth: isIconMobile ? "30px" : "64px", {/* minWidth: isIconMobile ? "30px" : "64px",*/}
maxWidth: "102px", {/* maxWidth: "102px",*/}
height: "30px", {/* height: "30px",*/}
backgroundColor: {/* backgroundColor:*/}
switchState === "help" {/* switchState === "help"*/}
? theme.palette.brightPurple.main {/* ? theme.palette.brightPurple.main*/}
: "transparent", {/* : "transparent",*/}
color: {/* color:*/}
switchState === "help" ? "#ffffff" : theme.palette.grey3.main, {/* switchState === "help" ? "#ffffff" : theme.palette.grey3.main,*/}
"&:hover": { {/* "&:hover": {*/}
color: switchState === "help" ? theme.palette.grey3.main : null, {/* color: switchState === "help" ? theme.palette.grey3.main : null,*/}
}, {/* },*/}
}} {/* }}*/}
> {/*>*/}
<Clue {/* <Clue*/}
color={ {/* color={*/}
buttonHover === "help" {/* buttonHover === "help"*/}
? theme.palette.grey3.main {/* ? theme.palette.grey3.main*/}
: switchState === "help" {/* : switchState === "help"*/}
? "#ffffff" {/* ? "#ffffff"*/}
: theme.palette.grey3.main {/* : theme.palette.grey3.main*/}
} {/* }*/}
/> {/* />*/}
{isIconMobile ? null : "Подсказка"} {/* {isIconMobile ? null : "Подсказка"}*/}
</MiniButtonSetting> {/*</MiniButtonSetting>*/}
<> <>
{/* <Tooltip {/* <Tooltip
arrow arrow

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

@ -135,27 +135,27 @@ export default function SettingDropDown({ question }: SettingDropDownProps) {
}); });
}} }}
/> />
<Box sx={{ position: "relative", display: "flex", alignItems: "flex-start" }}> {/*<Box sx={{ position: "relative", display: "flex", alignItems: "flex-start" }}>*/}
<CustomCheckbox {/* <CustomCheckbox*/}
sx={{ height: isMobile ? "100%" : "26px", alignItems: isMobile ? "flex-start" : "center" }} {/* sx={{ height: isMobile ? "100%" : "26px", alignItems: isMobile ? "flex-start" : "center" }}*/}
label={"Внутреннее название вопроса"} {/* label={"Внутреннее название вопроса"}*/}
checked={question.content.innerNameCheck} {/* checked={question.content.innerNameCheck}*/}
handleChange={({ target }) => { {/* handleChange={({ target }) => {*/}
updateQuestion<QuizQuestionSelect>(question.id, question => { {/* updateQuestion<QuizQuestionSelect>(question.id, question => {*/}
question.content.innerNameCheck = target.checked; {/* question.content.innerNameCheck = target.checked;*/}
question.content.innerName = target.checked ? question.content.innerName : ""; {/* question.content.innerName = target.checked ? question.content.innerName : "";*/}
}); {/* });*/}
}} {/* }}*/}
/> {/* />*/}
<Tooltip {/* <Tooltip*/}
title="Будет отображаться как заголовок вопроса в приходящих заявках." {/* title="Будет отображаться как заголовок вопроса в приходящих заявках."*/}
placement="top" {/* placement="top"*/}
> {/* >*/}
<Box> {/* <Box>*/}
<InfoIcon /> {/* <InfoIcon />*/}
</Box> {/* </Box>*/}
</Tooltip> {/* </Tooltip>*/}
</Box> {/*</Box>*/}
<Box <Box
sx={{ sx={{
width: "100%", width: "100%",
@ -180,13 +180,13 @@ export default function SettingDropDown({ question }: SettingDropDownProps) {
onChange={({ target }) => debounceAnswer(target.value)} onChange={({ target }) => debounceAnswer(target.value)}
/> />
</Box> </Box>
{question.content.innerNameCheck && ( {/*{question.content.innerNameCheck && (*/}
<CustomTextField {/* <CustomTextField*/}
placeholder={"Развёрнутое описание вопроса"} {/* placeholder={"Развёрнутое описание вопроса"}*/}
text={question.content.innerName} {/* text={question.content.innerName}*/}
onChange={({ target }) => debounced(target.value || " ")} {/* onChange={({ target }) => debounced(target.value || " ")}*/}
/> {/* />*/}
)} {/*)}*/}
</Box> </Box>
</Box> </Box>
</> </>

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

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

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

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

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

@ -44,7 +44,7 @@ export default function QuestionsPage({ openBranchingPage, setOpenBranchingPage
margin: "60px 0 40px 0", margin: "60px 0 40px 0",
}} }}
> >
<Typography variant={"h5"}>{quiz.name ? quiz.name : "Заголовок квиза"}</Typography> <Typography variant={"h5"}>{quiz.name ? quiz.name : "Заголовок quiz"}</Typography>
<Button <Button
sx={{ sx={{
display: openBranchingPanel ? "none" : "flex", display: openBranchingPanel ? "none" : "flex",

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

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

@ -38,11 +38,6 @@ export const QuestionsList = () => {
return ( return (
<Box sx={{ padding: "15px" }}> <Box sx={{ padding: "15px" }}>
<Typography
sx={{ fontSize: "12px", color: "#9A9AAF", marginBottom: "5px" }}
>
Перетащите вопросы в карту ветвления
</Typography>
<Box <Box
sx={{ sx={{
maxHeight: "400px", maxHeight: "400px",

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

@ -128,49 +128,49 @@ export default function ResponseSettings({ question }: Props) {
}); });
}} }}
/> />
<Box {/*<Box*/}
sx={{ {/* sx={{*/}
width: isMobile ? "90%" : "auto", {/* width: isMobile ? "90%" : "auto",*/}
display: "flex", {/* display: "flex",*/}
alignItems: "center", {/* alignItems: "center",*/}
}} {/* }}*/}
> {/*>*/}
<CustomCheckbox {/* <CustomCheckbox*/}
sx={{ {/* sx={{*/}
mr: isMobile ? "0px" : "9px", {/* mr: isMobile ? "0px" : "9px",*/}
height: isMobile ? "42px" : "26px", {/* height: isMobile ? "42px" : "26px",*/}
alignItems: "start", {/* alignItems: "start",*/}
}} {/* }}*/}
label={"Внутреннее название вопроса"} {/* label={"Внутреннее название вопроса"}*/}
checked={question.content.innerNameCheck} {/* checked={question.content.innerNameCheck}*/}
handleChange={({ target }) => { {/* handleChange={({ target }) => {*/}
updateQuestion<QuizQuestionVariant>(question.id, (question) => { {/* updateQuestion<QuizQuestionVariant>(question.id, (question) => {*/}
question.content.innerNameCheck = target.checked; {/* question.content.innerNameCheck = target.checked;*/}
question.content.innerName = target.checked {/* question.content.innerName = target.checked*/}
? question.content.innerName {/* ? question.content.innerName*/}
: ""; {/* : "";*/}
}); {/* });*/}
}} {/* }}*/}
/> {/* />*/}
{isMobile && ( {/* {isMobile && (*/}
<Tooltip {/* <Tooltip*/}
title="Будет отображаться как заголовок вопроса в приходящих заявках." {/* title="Будет отображаться как заголовок вопроса в приходящих заявках."*/}
placement="top" {/* placement="top"*/}
> {/* >*/}
<Box> {/* <Box>*/}
<InfoIcon /> {/* <InfoIcon />*/}
</Box> {/* </Box>*/}
</Tooltip> {/* </Tooltip>*/}
)} {/* )}*/}
</Box> {/*</Box>*/}
{question.content.innerNameCheck && ( {/*{question.content.innerNameCheck && (*/}
<CustomTextField {/* <CustomTextField*/}
sx={{ mr: isMobile ? "0px" : "16px" }} {/* sx={{ mr: isMobile ? "0px" : "16px" }}*/}
placeholder={"Развёрнутое описание вопроса"} {/* placeholder={"Развёрнутое описание вопроса"}*/}
text={question.content.innerName} {/* text={question.content.innerName}*/}
onChange={({ target }) => updateQuestionInnerName(target.value || " ")} {/* onChange={({ target }) => updateQuestionInnerName(target.value || " ")}*/}
/> {/* />*/}
)} {/*)}*/}
</Box> </Box>
</Box> </Box>
); );

@ -34,7 +34,7 @@ export const FirstEntry = () => {
}} }}
> >
<Typography variant="h5" sx={{ marginBottom: "20px" }}> <Typography variant="h5" sx={{ marginBottom: "20px" }}>
Результаты квиза в зависимости от ответов Результаты quiz в зависимости от ответов
</Typography> </Typography>
<Box <Box
sx={{ sx={{
@ -46,19 +46,18 @@ export const FirstEntry = () => {
}} }}
> >
<Typography sx={{ color: "#4D4D4D", width: "95%" }}> <Typography sx={{ color: "#4D4D4D", width: "95%" }}>
Вы можете показывать разные результаты квиза (добавьте описание, изображение, стоимость и т.п.) разным Вы можете показывать разные результаты пользователям,
пользователям, нужно только их создать и проставить условия. Таким образом ваш квиз получится максимально в зависимости от его ответов. Так же можно сделать 1 вариант,
индивидуальным для каждого клиента. Показывайте картинку/видео вместо результата или переадресовывайте если ваш quiz не подразумевает логики ветвления ответов
пользователя по нужной ссылке.
</Typography>
<Typography
sx={{
color: "#9A9AAF",
width: "100%",
}}
>
Этот шаг - необязательный, квиз будет работать и без автоматических результатов.
</Typography> </Typography>
{/*<Typography*/}
{/* sx={{*/}
{/* color: "#9A9AAF",*/}
{/* width: "100%",*/}
{/* }}*/}
{/*>*/}
{/* Этот шаг - необязательный, quiz будет работать и без автоматических результатов.*/}
{/*</Typography>*/}
</Box> </Box>
</Box> </Box>
<img <img

@ -104,7 +104,7 @@ const InfoView = ({ resultData }: { resultData: QuizQuestionResult }) => {
> >
<Typography> <Typography>
{resultData?.content.rule.parentId === "line" {resultData?.content.rule.parentId === "line"
? "Единый результат в конце прохождения опросника без ветвления" ? "Единый результат в конце прохождения опроса без ветвления"
: `Заголовок вопроса, после которого появится результат: "${ : `Заголовок вопроса, после которого появится результат: "${
question?.title || "нет заголовка" question?.title || "нет заголовка"
}"`} }"`}
@ -150,7 +150,7 @@ export const ResultCard = ({ resultContract, resultData }: Props) => {
> >
<Typography sx={{ color: theme.palette.grey2.main, padding: "5px 20px" }}> <Typography sx={{ color: theme.palette.grey2.main, padding: "5px 20px" }}>
{resultData?.content.rule.parentId === "line" {resultData?.content.rule.parentId === "line"
? "Единый результат в конце прохождения опросника без ветвления" ? "Единый результат в конце прохождения опроса без ветвления"
: `Заголовок вопроса, после которого появится результат: "${ : `Заголовок вопроса, после которого появится результат: "${
question?.title || "нет заголовка" question?.title || "нет заголовка"
}"`} }"`}
@ -431,63 +431,63 @@ export const ResultCard = ({ resultContract, resultData }: Props) => {
background: "#F2F3F7", background: "#F2F3F7",
}} }}
> >
<Box {/*<Box*/}
sx={{ {/* sx={{*/}
padding: "20px", {/* padding: "20px",*/}
display: "flex", {/* display: "flex",*/}
flexWrap: "wrap", {/* flexWrap: "wrap",*/}
gap: "10px", {/* gap: "10px",*/}
}} {/* }}*/}
> {/*>*/}
<MiniButtonSetting {/* <MiniButtonSetting*/}
onClick={() => { {/* onClick={() => {*/}
setResultCardSettings(!resultCardSettings); {/* setResultCardSettings(!resultCardSettings);*/}
}} {/* }}*/}
sx={{ {/* sx={{*/}
backgroundColor: resultCardSettings {/* backgroundColor: resultCardSettings*/}
? theme.palette.brightPurple.main {/* ? theme.palette.brightPurple.main*/}
: "transparent", {/* : "transparent",*/}
color: resultCardSettings {/* color: resultCardSettings*/}
? "#ffffff" {/* ? "#ffffff"*/}
: theme.palette.grey3.main, {/* : theme.palette.grey3.main,*/}
"&:hover": { {/* "&:hover": {*/}
backgroundColor: resultCardSettings {/* backgroundColor: resultCardSettings*/}
? "#581CA7" {/* ? "#581CA7"*/}
: "#7E2AEA", {/* : "#7E2AEA",*/}
color: "white", {/* color: "white",*/}
}, {/* },*/}
}} {/* }}*/}
> {/* >*/}
<SettingIcon {/* <SettingIcon*/}
color={ {/* color={*/}
resultCardSettings ? "#ffffff" : theme.palette.grey3.main {/* resultCardSettings ? "#ffffff" : theme.palette.grey3.main*/}
} {/* }*/}
/> {/* />*/}
{!isTablet && "Настройки"} {/* {!isTablet && "Настройки"}*/}
</MiniButtonSetting> {/* </MiniButtonSetting>*/}
</Box> {/*</Box>*/}
</Box> </Box>
</Box> </Box>
{resultCardSettings && ( {/*{resultCardSettings && (*/}
<Box {/* <Box*/}
sx={{ {/* sx={{*/}
backgroundColor: "white", {/* backgroundColor: "white",*/}
p: "20px", {/* p: "20px",*/}
borderRadius: "0 0 12px 12px", {/* borderRadius: "0 0 12px 12px",*/}
}} {/* }}*/}
> {/* >*/}
<CustomTextField {/* <CustomTextField*/}
placeholder={"Внутреннее описание вопроса"} {/* placeholder={"Внутреннее описание вопроса"}*/}
value={resultData.innerName} {/* value={resultData.innerName}*/}
onChange={({ target }: { target: HTMLInputElement }) => {/* onChange={({ target }: { target: HTMLInputElement }) =>*/}
updateQuestion( {/* updateQuestion(*/}
resultData.id, {/* resultData.id,*/}
(question) => (question.content.innerName = target.value) {/* (question) => (question.content.innerName = target.value)*/}
) {/* )*/}
} {/* }*/}
/> {/* />*/}
</Box> {/* </Box>*/}
)} {/*)}*/}
</> </>
)} )}
</Paper> </Paper>

@ -64,7 +64,7 @@ export default function ExpandableQuizBlock({ name }: Props) {
color: theme.palette.grey3.main, color: theme.palette.grey3.main,
width: "100%" width: "100%"
}} }}
>Квизов нет</Button> >Quiz нет</Button>
<Button <Button
variant="contained" variant="contained"
sx={{ sx={{

@ -17,7 +17,7 @@ export default function FirstQuiz() {
mb: "70px", mb: "70px",
}} }}
> >
<ComplexNavText text1="Кабинет квизов" /> <ComplexNavText text1="Кабинет quiz" />
<Typography <Typography
variant="h4" variant="h4"
sx={{ sx={{
@ -25,7 +25,7 @@ export default function FirstQuiz() {
mb: "30px", mb: "30px",
}} }}
> >
Создайте свой первый квиз Создайте свой первый quiz
</Typography> </Typography>
<Button <Button
variant="contained" variant="contained"

@ -5,7 +5,6 @@ import SectionWrapper from "@ui_kit/SectionWrapper";
import React from "react"; import React from "react";
import { useNavigate } from "react-router-dom"; import { useNavigate } from "react-router-dom";
import { resetEditConfig } from "@root/quizes/actions"; import { resetEditConfig } from "@root/quizes/actions";
import ComplexNavText from "./ComplexNavText";
import FirstQuiz from "./FirstQuiz"; import FirstQuiz from "./FirstQuiz";
import QuizCard from "./QuizCard"; import QuizCard from "./QuizCard";
@ -26,7 +25,6 @@ export default function MyQuizzesFull({ outerContainerSx: sx, children }: Props)
<FirstQuiz /> <FirstQuiz />
) : ( ) : (
<SectionWrapper maxWidth="lg"> <SectionWrapper maxWidth="lg">
<ComplexNavText text1="Кабинет квизов" />
<Box <Box
sx={{ sx={{
display: "flex", display: "flex",
@ -36,7 +34,7 @@ export default function MyQuizzesFull({ outerContainerSx: sx, children }: Props)
mb: "30px", mb: "30px",
}} }}
> >
<Typography variant="h4">Мои квизы</Typography> <Typography variant="h4">Мои quiz</Typography>
<Button <Button
variant="contained" variant="contained"
sx={{ sx={{

@ -47,8 +47,8 @@ export default function QuizGallery() {
mb: "74px", mb: "74px",
}} }}
> >
<ComplexNavText text1="Галерея квизов" /> <ComplexNavText text1="Галерея quiz" />
<Typography variant="h4" mt="20px" mb="40px">Мои квизы</Typography> <Typography variant="h4" mt="20px" mb="40px">Мои quiz</Typography>
<Box <Box
sx={{ sx={{
backgroundColor: theme.palette.brightPurple.main, backgroundColor: theme.palette.brightPurple.main,
@ -71,7 +71,7 @@ export default function QuizGallery() {
}} }}
> >
<Typography variant="h4" sx={{ color: "white" }}>Пустой шаблон</Typography> <Typography variant="h4" sx={{ color: "white" }}>Пустой шаблон</Typography>
<Typography sx={{ color: "white" }}>Широкий инструментарий создания квизов с нуля</Typography> <Typography sx={{ color: "white" }}>Широкий инструментарий создания quiz с нуля</Typography>
</Box> </Box>
<Button <Button
variant="contained" variant="contained"

@ -101,7 +101,7 @@ export default function ModalSizeImage() {
</Box> </Box>
<Box sx={{ padding: "15px 20px 0px" }}> <Box sx={{ padding: "15px 20px 0px" }}>
<Typography variant={"body2"} sx={{ color: theme.palette.grey2.main, fontWeight: 400 }}> <Typography variant={"body2"} sx={{ color: theme.palette.grey2.main, fontWeight: 400 }}>
Рекомендованный размер зависит от того, как вы будете чаще использовать квиз: Рекомендованный размер зависит от того, как вы будете чаще использовать quiz:
</Typography> </Typography>
</Box> </Box>
<Box sx={{ padding: "15px 40px 30px" }}> <Box sx={{ padding: "15px 40px 30px" }}>
@ -146,7 +146,7 @@ export default function ModalSizeImage() {
padding: "20px", padding: "20px",
}} }}
> >
<Typography variant={"h5"}>Размеры изображений в квизе</Typography> <Typography variant={"h5"}>Размеры изображений в quiz</Typography>
</Box> </Box>
<Box sx={{ padding: "15px 40px 20px" }}> <Box sx={{ padding: "15px 40px 20px" }}>
{rows2.map(({ name, size }, index) => ( {rows2.map(({ name, size }, index) => (

@ -508,7 +508,7 @@ export default function StartPageSettings() {
Заголовок Заголовок
</Typography> </Typography>
<CustomTextField <CustomTextField
placeholder="Имя заголовка об опроснике для подбора табуретки" placeholder="Имя заголовка опроса для подбора табуретки"
value={quiz.name} value={quiz.name}
onChange={(e) => onChange={(e) =>
updateQuiz(quiz.id, (quiz) => { updateQuiz(quiz.id, (quiz) => {

@ -73,26 +73,13 @@ export default function Extra() {
}} }}
> >
<Typography sx={{ fontWeight: 500, color: theme.palette.grey3.main, mt: "20px", mb: "14px" }}> <Typography sx={{ fontWeight: 500, color: theme.palette.grey3.main, mt: "20px", mb: "14px" }}>
Mета заголовок Мета заголовок
</Typography> </Typography>
<CustomTextField <CustomTextField
placeholder="" placeholder=""
text={quiz.config.meta} text={quiz.config.meta}
onChange={mutationOrgMetaHC} onChange={mutationOrgMetaHC}
/> />
<Typography
sx={{
mt: "20px",
fontSize: "16px",
lineHeight: "19px",
maxWidth: "80%",
color: theme.palette.grey3.main,
}}
>
Текст-заполнитель это текст, который имеет Текст-заполнитель это текст, который имеет
Текст-заполнитель это текст, который имеет Текст-заполнитель это текст, который имеет
Текст-заполнитель
</Typography>
</Box> </Box>
)} )}
</Box> </Box>

@ -36,8 +36,8 @@ export default function StepOne() {
}} }}
> >
<CreationCard <CreationCard
header="Создание квиз-опроса" header="Создание quiz-опроса"
text="У стартовой страницы одна ключевая задача - заинтересовать посетителя пройти квиз. С ней сложно ошибиться, сформулируйте суть предложения и подберите живую фотографию, остальное мы сделаем за вас" text="Стартовая страница - это ваша визитка, от качества её будет зависеть, как конверсия пользователей которые захотели пройти ваш опрос, так и конверсия в форму контактных данных, так как именно стартовая страница - залог доверия клиентов к вам"
image={quizCreationImage1} image={quizCreationImage1}
border={ border={
config.type === "quiz" config.type === "quiz"
@ -54,7 +54,7 @@ export default function StepOne() {
> >
<CreationCard <CreationCard
header="Создание анкеты" header="Создание анкеты"
text="У стартовой страницы одна ключевая задача - заинтересовать посетителя пройти квиз. С ней сложно ошибиться, сформулируйте суть предложения и подберите живую фотографию, остальное мы сделаем за вас" text="Режим анкеты создан, в целях оставить пользователю варианты вопросов используемых в исследованиях и убирания всего лишнего, что может мешать и приводить к ошибкам"
image={quizCreationImage2} image={quizCreationImage2}
border={ border={
config.type === "form" config.type === "form"

@ -139,7 +139,7 @@ export const updateQuiz = (
if (isAxiosCanceledError(error)) return; if (isAxiosCanceledError(error)) return;
devlog("Error editing quiz", error, quizId); devlog("Error editing quiz", error, quizId);
enqueueSnackbar("Не удалось сохранить настройки квиза"); enqueueSnackbar("Не удалось сохранить настройки quiz");
}); });
}, REQUEST_DEBOUNCE); }, REQUEST_DEBOUNCE);
}; };
@ -158,7 +158,7 @@ export const createQuiz = async (navigate: NavigateFunction) => requestQueue.enq
devlog("Error creating quiz", error); devlog("Error creating quiz", error);
const message = getMessageFromFetchError(error) ?? ""; const message = getMessageFromFetchError(error) ?? "";
enqueueSnackbar(`Не удалось создать квиз. ${message}`); enqueueSnackbar(`Не удалось создать quiz. ${message}`);
} }
}); });
@ -174,7 +174,7 @@ export const deleteQuiz = async (quizId: string) => requestQueue.enqueue(async (
devlog("Error deleting quiz", error); devlog("Error deleting quiz", error);
const message = getMessageFromFetchError(error) ?? ""; const message = getMessageFromFetchError(error) ?? "";
enqueueSnackbar(`Не удалось удалить квиз. ${message}`); enqueueSnackbar(`Не удалось удалить quiz. ${message}`);
} }
}); });
export const updateRootContentId = (quizId: string, id: string) => { export const updateRootContentId = (quizId: string, id: string) => {

@ -12,6 +12,8 @@ export default function CreationCard({ header, text, image, border }: Props) {
<Box <Box
sx={{ sx={{
minWidth: "315px", minWidth: "315px",
maxWidth: "560px",
height: "100%",
flexGrow: 1, flexGrow: 1,
backgroundColor: "white", backgroundColor: "white",
p: "20px", p: "20px",

@ -78,7 +78,7 @@ export default function Sidebar({ changePage, disableCollapse }: SidebarProps) {
color: theme.palette.grey2.main, color: theme.palette.grey2.main,
}} }}
> >
Создание квиза Создание quiz
</Typography> </Typography>
)} )}
{!disableCollapse && ( {!disableCollapse && (
@ -142,7 +142,7 @@ export default function Sidebar({ changePage, disableCollapse }: SidebarProps) {
color: theme.palette.grey2.main, color: theme.palette.grey2.main,
}} }}
> >
Настройки квиза Настройки quiz
</Typography> </Typography>
)} )}
<List disablePadding> <List disablePadding>