Merge branch 'staging' into 'main'

Staging

See merge request frontend/squzanswerer!151
This commit is contained in:
Nastya 2024-05-12 00:40:21 +00:00
commit 8acffbebac
4 changed files with 94 additions and 74 deletions

@ -34,8 +34,10 @@ export const ResultForm = ({ resultQuestion }: ResultFormProps) => {
const yandexMetrics = useYandexMetricsGoals(settings.cfg.yandexMetricsNumber); const yandexMetrics = useYandexMetricsGoals(settings.cfg.yandexMetricsNumber);
useEffect(() => { useEffect(() => {
vkMetrics.resultShown(resultQuestion.id); vkMetrics.resultIdShown(resultQuestion.id);
yandexMetrics.resultShown(resultQuestion.id); yandexMetrics.resultIdShown(resultQuestion.id);
vkMetrics.resultShown();
yandexMetrics.resultShown();
}, []); }, []);
return ( return (
@ -189,9 +191,8 @@ export const ResultForm = ({ resultQuestion }: ResultFormProps) => {
<Box <Box
component={Link} component={Link}
target={"_blank"} target={"_blank"}
href={`https://${ href={`https://${window.location.hostname.includes("s") ? "s" : ""
window.location.hostname.includes("s") ? "s" : "" }quiz.pena.digital/squiz/quiz/logo?q=${quizId}`}
}quiz.pena.digital/squiz/quiz/logo?q=${quizId}`}
sx={{ sx={{
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
@ -225,8 +226,8 @@ export const ResultForm = ({ resultQuestion }: ResultFormProps) => {
p: p:
(settings.cfg.resultInfo.showResultForm === "before" && (settings.cfg.resultInfo.showResultForm === "before" &&
!settings.cfg.score) || !settings.cfg.score) ||
(settings.cfg.resultInfo.showResultForm === "after" && (settings.cfg.resultInfo.showResultForm === "after" &&
resultQuestion.content.redirect) resultQuestion.content.redirect)
? "20px" ? "20px"
: "0", : "0",
}} }}
@ -248,11 +249,16 @@ export const ResultForm = ({ resultQuestion }: ResultFormProps) => {
{settings.cfg.resultInfo.showResultForm === "after" && {settings.cfg.resultInfo.showResultForm === "after" &&
resultQuestion.content.redirect && ( resultQuestion.content.redirect && (
<Button <Button
href={ onClick={() => {
resultQuestion.content.redirect.includes("https") vkMetrics.resultLink();
? resultQuestion.content.redirect yandexMetrics.resultLink();
: `https://${resultQuestion.content.redirect}` setTimeout(() => {
} location.href =
(resultQuestion.content.redirect.includes("https")
? resultQuestion.content.redirect
: `https://${resultQuestion.content.redirect}`).replace(/\s+/g, "");
}, 1000)
}}
variant="contained" variant="contained"
sx={{ p: "10px 20px", width: "auto", height: "50px" }} sx={{ p: "10px 20px", width: "auto", height: "50px" }}
> >
@ -262,6 +268,6 @@ export const ResultForm = ({ resultQuestion }: ResultFormProps) => {
</Box> </Box>
</Box> </Box>
</Box> </Box>
</Box> </Box >
); );
}; };

@ -87,8 +87,8 @@ export const StartPageViewPublication = () => {
settings.cfg.startpageType === "centered" settings.cfg.startpageType === "centered"
? "" ? ""
: settings.cfg.startpageType === "expanded" : settings.cfg.startpageType === "expanded"
? "scale(1.5)" ? "scale(1.5)"
: "scale(2.4)", : "scale(2.4)",
}, },
}} }}
/> />
@ -107,7 +107,7 @@ export const StartPageViewPublication = () => {
alignItems: "center", alignItems: "center",
flexWrap: flexWrap:
settings.cfg.startpageType === "expanded" && settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" settings.cfg.startpage.position === "center"
? "nowrap" ? "nowrap"
: "wrap", : "wrap",
gap: isMobile ? "20px" : "30px", gap: isMobile ? "20px" : "30px",
@ -119,12 +119,12 @@ export const StartPageViewPublication = () => {
: settings.cfg.startpageType === "expanded" && : settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" && settings.cfg.startpage.position === "center" &&
!isMobile !isMobile
? 0 ? 0
: "7px", : "7px",
justifyContent: justifyContent:
settings.cfg.startpageType === "expanded" && settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" && settings.cfg.startpage.position === "center" &&
isMobile isMobile
? "center" ? "center"
: undefined, : undefined,
}} }}
@ -149,7 +149,7 @@ export const StartPageViewPublication = () => {
: theme.palette.text.primary, : theme.palette.text.primary,
wordBreak: wordBreak:
settings.cfg.startpageType === "expanded" && settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" settings.cfg.startpage.position === "center"
? "normal" ? "normal"
: "break-word", : "break-word",
}} }}
@ -164,9 +164,8 @@ export const StartPageViewPublication = () => {
<Box <Box
component={Link} component={Link}
target={"_blank"} target={"_blank"}
href={`https://${ href={`https://${window.location.hostname.includes("s") ? "s" : ""
window.location.hostname.includes("s") ? "s" : "" }quiz.pena.digital/squiz/quiz/logo?q=${quizId}`}
}quiz.pena.digital/squiz/quiz/logo?q=${quizId}`}
sx={{ sx={{
display: "flex", display: "flex",
alignItems: "center", alignItems: "center",
@ -174,9 +173,9 @@ export const StartPageViewPublication = () => {
textDecoration: "none", textDecoration: "none",
marginLeft: marginLeft:
settings.cfg.startpageType === "expanded" && settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" && settings.cfg.startpage.position === "center" &&
!isTablet && !isTablet &&
!isMobile !isMobile
? "61px" ? "61px"
: undefined, : undefined,
}} }}
@ -188,8 +187,8 @@ export const StartPageViewPublication = () => {
settings.cfg.startpageType === "expanded" settings.cfg.startpageType === "expanded"
? "#FFFFFF" ? "#FFFFFF"
: quizThemes[settings.cfg.theme].isLight : quizThemes[settings.cfg.theme].isLight
? "#151515" ? "#151515"
: "#FFFFFF", : "#FFFFFF",
}} }}
/> />
{/*<Typography*/} {/*<Typography*/}
@ -224,11 +223,14 @@ export const StartPageViewPublication = () => {
vkMetrics.emailOpened(); vkMetrics.emailOpened();
yandexMetrics.emailOpened(); yandexMetrics.emailOpened();
location.href = (
settings.cfg.info.site.includes("https") setTimeout(() => {
? settings.cfg.info.site location.href = (
: `https://${settings.cfg.info.site}` settings.cfg.info.site.includes("https")
).replace(/\s+/g, ""); ? settings.cfg.info.site
: `https://${settings.cfg.info.site}`
).replace(/\s+/g, "");
}, 1000)
}; };
return ( return (
@ -244,8 +246,8 @@ export const StartPageViewPublication = () => {
(isMobile && settings.cfg.startpage.position === "right") (isMobile && settings.cfg.startpage.position === "right")
? "linear-gradient(90deg, rgba(39, 38, 38, 0.95) 7.66%, rgba(42, 42, 46, 0.85) 42.12%, rgba(51, 54, 71, 0.4) 100%)" ? "linear-gradient(90deg, rgba(39, 38, 38, 0.95) 7.66%, rgba(42, 42, 46, 0.85) 42.12%, rgba(51, 54, 71, 0.4) 100%)"
: settings.cfg.startpage.position === "center" : settings.cfg.startpage.position === "center"
? "linear-gradient(0deg, rgba(39, 38, 38, 0.95) 7.66%, rgba(42, 42, 46, 0.85) 42.12%, rgba(51, 54, 71, 0.4) 100%)" ? "linear-gradient(0deg, rgba(39, 38, 38, 0.95) 7.66%, rgba(42, 42, 46, 0.85) 42.12%, rgba(51, 54, 71, 0.4) 100%)"
: "linear-gradient(-90deg, rgba(39, 38, 38, 0.95) 7.66%, rgba(42, 42, 46, 0.85) 42.12%, rgba(51, 54, 71, 0.4) 100%)" : "linear-gradient(-90deg, rgba(39, 38, 38, 0.95) 7.66%, rgba(42, 42, 46, 0.85) 42.12%, rgba(51, 54, 71, 0.4) 100%)"
: theme.palette.background.default, : theme.palette.background.default,
color: settings.cfg.startpageType === "expanded" ? "white" : "black", color: settings.cfg.startpageType === "expanded" ? "white" : "black",
@ -269,25 +271,25 @@ export const StartPageViewPublication = () => {
settings.cfg.startpageType === "centered" settings.cfg.startpageType === "centered"
? "center" ? "center"
: settings.cfg.startpageType === "expanded" : settings.cfg.startpageType === "expanded"
? settings.cfg.startpage.position === "center" ? settings.cfg.startpage.position === "center"
? "center" ? "center"
: "start" : "start"
: "start", : "start",
marginTop: marginTop:
settings.cfg.startpageType === "centered" settings.cfg.startpageType === "centered"
? "30px" ? "30px"
: isMobile : isMobile
? "0px" ? "0px"
: "5px", : "5px",
maxWidth: isMobile maxWidth: isMobile
? "100%" ? "100%"
: settings.cfg.startpageType === "centered" : settings.cfg.startpageType === "centered"
? "700px" ? "700px"
: isTablet && : isTablet &&
settings.cfg.startpageType !== "expanded" && settings.cfg.startpageType !== "expanded" &&
settings.cfg.startpage.position !== "center" settings.cfg.startpage.position !== "center"
? "380px" ? "380px"
: "531px", : "531px",
}} }}
> >
<Typography <Typography
@ -301,7 +303,7 @@ export const StartPageViewPublication = () => {
width: "100%", width: "100%",
textAlign: textAlign:
settings.cfg.startpageType === "centered" || settings.cfg.startpageType === "centered" ||
settings.cfg.startpage.position === "center" settings.cfg.startpage.position === "center"
? "center" ? "center"
: "-moz-initial", : "-moz-initial",
color: color:
@ -322,7 +324,7 @@ export const StartPageViewPublication = () => {
width: "100%", width: "100%",
textAlign: textAlign:
settings.cfg.startpageType === "centered" || settings.cfg.startpageType === "centered" ||
settings.cfg.startpage.position === "center" settings.cfg.startpage.position === "center"
? "center" ? "center"
: "-moz-initial", : "-moz-initial",
color: color:
@ -371,13 +373,13 @@ export const StartPageViewPublication = () => {
(settings.cfg.startpageType === "expanded" && (settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" && settings.cfg.startpage.position === "center" &&
isMobile) || isMobile) ||
(settings.cfg.startpageType === "centered" && isMobile) (settings.cfg.startpageType === "centered" && isMobile)
? "center" ? "center"
: "space-between", : "space-between",
width: "100%", width: "100%",
flexWrap: flexWrap:
settings.cfg.startpageType === "expanded" && settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" settings.cfg.startpage.position === "center"
? isMobile ? isMobile
? "wrap-reverse" ? "wrap-reverse"
: "nowrap" : "nowrap"
@ -393,16 +395,16 @@ export const StartPageViewPublication = () => {
maxWidth: "300px", maxWidth: "300px",
display: display:
(settings.cfg.startpageType === "centered" && isMobile) || (settings.cfg.startpageType === "centered" && isMobile) ||
(settings.cfg.startpageType === "expanded" && (settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" && settings.cfg.startpage.position === "center" &&
isMobile) isMobile)
? "flex" ? "flex"
: "block", : "block",
flexDirection: "column", flexDirection: "column",
alignItems: "center", alignItems: "center",
order: order:
settings.cfg.startpageType === "expanded" && settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" settings.cfg.startpage.position === "center"
? "2" ? "2"
: "0", : "0",
}} }}
@ -416,8 +418,8 @@ export const StartPageViewPublication = () => {
marginTop: "10px", marginTop: "10px",
marginLeft: marginLeft:
settings.cfg.startpageType === "expanded" && settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" && settings.cfg.startpage.position === "center" &&
!isMobile !isMobile
? "auto" ? "auto"
: undefined, : undefined,
}} }}
@ -428,13 +430,13 @@ export const StartPageViewPublication = () => {
fontSize: "16px", fontSize: "16px",
textAlign: textAlign:
settings.cfg.startpageType === "expanded" && settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" && settings.cfg.startpage.position === "center" &&
!isMobile !isMobile
? "end" : settings.cfg.startpageType === "expanded" && ? "end" : settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" && settings.cfg.startpage.position === "center" &&
isMobile || settings.cfg.startpageType === "centered" && isMobile || settings.cfg.startpageType === "centered" &&
isMobile ? "center" isMobile ? "center"
: "start", : "start",
color: theme.palette.primary.main, color: theme.palette.primary.main,
overflow: "hidden", overflow: "hidden",
textOverflow: "ellipsis", textOverflow: "ellipsis",
@ -453,7 +455,7 @@ export const StartPageViewPublication = () => {
lineHeight: "19px", lineHeight: "19px",
textAlign: textAlign:
settings.cfg.startpageType === "expanded" && settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" settings.cfg.startpage.position === "center"
? "end" ? "end"
: "none", : "none",
fontSize: "16px", fontSize: "16px",
@ -474,8 +476,8 @@ export const StartPageViewPublication = () => {
marginTop: "10px", marginTop: "10px",
marginLeft: marginLeft:
settings.cfg.startpageType === "expanded" && settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" && settings.cfg.startpage.position === "center" &&
!isMobile !isMobile
? "auto" ? "auto"
: undefined, : undefined,
}} }}
@ -484,7 +486,7 @@ export const StartPageViewPublication = () => {
sx={{ sx={{
textAlign: textAlign:
settings.cfg.startpageType === "expanded" && settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" settings.cfg.startpage.position === "center"
? "end" ? "end"
: "none", : "none",
fontSize: "16px", fontSize: "16px",
@ -505,7 +507,7 @@ export const StartPageViewPublication = () => {
lineHeight: "19px", lineHeight: "19px",
textAlign: textAlign:
settings.cfg.startpageType === "expanded" && settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" settings.cfg.startpage.position === "center"
? "end" ? "end"
: "none", : "none",
fontSize: "16px", fontSize: "16px",
@ -528,16 +530,16 @@ export const StartPageViewPublication = () => {
fontSize: "12px", fontSize: "12px",
textAlign: textAlign:
settings.cfg.startpageType === "expanded" && settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" && settings.cfg.startpage.position === "center" &&
!isMobile !isMobile
? "end" ? "end"
: (settings.cfg.startpageType === "expanded" && : (settings.cfg.startpageType === "expanded" &&
settings.cfg.startpage.position === "center" && settings.cfg.startpage.position === "center" &&
isMobile) || isMobile) ||
(settings.cfg.startpageType === "centered" && (settings.cfg.startpageType === "centered" &&
isMobile) isMobile)
? "center" ? "center"
: "none", : "none",
maxHeight: "120px", maxHeight: "120px",
overflow: "auto", overflow: "auto",
marginTop: "10px", marginTop: "10px",

@ -29,8 +29,14 @@ export const useVkMetricsGoals = (vkId: number | undefined) => {
// Посетитель кликнул по email на стартовой странице // Посетитель кликнул по email на стартовой странице
emailOpened: () => sendMetrics(vkId, "penaquiz-email"), emailOpened: () => sendMetrics(vkId, "penaquiz-email"),
// Посетитель увидел определенный результат (id - айдишник вопроса с типом result) // Посетитель увидел определенный результат (id - айдишник вопроса с типом result)
resultShown: (resultId: string) => resultIdShown: (resultId: string) =>
sendMetrics(vkId, `penaquiz-result-${resultId}`), sendMetrics(vkId, `penaquiz-result-${resultId}`),
// Посетитель увидел результат
resultShown: () =>
sendMetrics(vkId, `penaquiz-finish`),
// Посетитель нажал на ссылку в результате
resultLink: () =>
sendMetrics(vkId, `penaquiz-resultlink`),
// Посетитель дошёл до формы контактов // Посетитель дошёл до формы контактов
contactsFormOpened: () => sendMetrics(vkId, "penaquiz-form"), contactsFormOpened: () => sendMetrics(vkId, "penaquiz-form"),
// Посетитель заполнил форму контактов // Посетитель заполнил форму контактов

@ -21,8 +21,14 @@ export const useYandexMetricsGoals = (id: number | undefined) => {
// Посетитель кликнул по email на стартовой странице // Посетитель кликнул по email на стартовой странице
emailOpened: () => sendMetrics(id, "penaquiz-email"), emailOpened: () => sendMetrics(id, "penaquiz-email"),
// Посетитель увидел определенный результат (id - айдишник вопроса с типом result) // Посетитель увидел определенный результат (id - айдишник вопроса с типом result)
resultShown: (resultId: string) => resultIdShown: (resultId: string) =>
sendMetrics(id, `penaquiz-result-${resultId}`), sendMetrics(id, `penaquiz-result-${resultId}`),
// Посетитель увидел результат
resultShown: () =>
sendMetrics(id, `penaquiz-finish`),
// Посетитель нажал на ссылку в результате
resultLink: () =>
sendMetrics(id, `penaquiz-resultlink`),
// Посетитель дошёл до формы контактов // Посетитель дошёл до формы контактов
contactsFormOpened: () => sendMetrics(id, "penaquiz-form"), contactsFormOpened: () => sendMetrics(id, "penaquiz-form"),
// Посетитель заполнил форму контактов // Посетитель заполнил форму контактов