адаптация тарифов, увеличено огранчения для ввода ссылки на сайт пользователя, раскрытие результатов в заявке по клмлку на саму карточку

This commit is contained in:
Tamara 2024-03-15 00:49:14 +03:00
parent 1579ea1dd4
commit 0eceb3a727
4 changed files with 42 additions and 38 deletions

@ -63,10 +63,37 @@ export const CardAnswer = ({
const { editQuizId } = useQuizStore();
const { questions } = useQuestionsStore();
const openResults = async () => {
setIsOpen(!isOpen);
if (!isOpen) {
try {
let resAnswer = await resultApi.getAnswerList(Number(idResult));
let resAnswerOnly = resAnswer.filter((res) => res.Result !== true);
let resQuiz = resAnswer.filter((res) => res.Result === true);
setResultQuiz(resQuiz);
setResultsAnswer(resAnswerOnly);
let idResults = resQuiz[0].question_id;
let questionsResult = questions.filter(
(q) => q.backendId === idResults,
);
setQuestionsResultState(questionsResult);
console.log("тут хранятся ответы", resAnswerOnly);
} catch (nativeError) {
const error = nativeError as AxiosError;
if (error.response?.statusText === "Payment Required") {
openPrePaymentModal();
}
}
}
};
return (
<Box
onClick={() => {
obsolescenceResult(idResult, editQuizId);
openResults();
}}
sx={{
borderRadius: "12px",
@ -129,39 +156,7 @@ export const CardAnswer = ({
>
{idResult}
</Box>
<IconButton
onClick={async () => {
setIsOpen(!isOpen);
if (!isOpen) {
try {
let resAnswer = await resultApi.getAnswerList(
Number(idResult),
);
let resAnswerOnly = resAnswer.filter(
(res) => res.Result !== true,
);
let resQuiz = resAnswer.filter(
(res) => res.Result === true,
);
setResultQuiz(resQuiz);
setResultsAnswer(resAnswerOnly);
let idResults = resQuiz[0].question_id;
let questionsResult = questions.filter(
(q) => q.backendId === idResults,
);
setQuestionsResultState(questionsResult);
console.log("тут хранятся ответы", resAnswerOnly);
} catch (nativeError) {
const error = nativeError as AxiosError;
if (error.response?.statusText === "Payment Required") {
openPrePaymentModal();
}
}
}
}}
>
<IconButton onClick={openResults}>
<ArrowDownIcon
style={{
transform: isOpen ? "rotate(180deg)" : "rotate(360deg)",

@ -41,6 +41,7 @@ function TariffPage() {
const theme = useTheme();
const token = useToken();
const isTablet = useMediaQuery(theme.breakpoints.down(1000));
const isMobile = useMediaQuery(theme.breakpoints.down(600));
const userId = useUserStore((state) => state.userId);
const location = useLocation();
const navigate = useNavigate();
@ -175,7 +176,7 @@ function TariffPage() {
display: "flex",
height: "80px",
alignItems: "center",
gap: isTablet ? "20px" : "60px",
gap: isMobile ? "7px" : isTablet ? "20px" : "60px",
flexDirection: "row",
justifyContent: "space-between",
bgcolor: "white",
@ -189,7 +190,7 @@ function TariffPage() {
<ArrowLeft color="black" />
</IconButton>
<Box sx={{ display: "flex", ml: "auto" }}>
<Box sx={{ whiteSpace: "nowrap" }}>
<Box sx={{ whiteSpace: "nowrap" }} onClick={() => console.log(cash)}>
<Typography
sx={{
fontSize: "12px",
@ -199,7 +200,11 @@ function TariffPage() {
>
Мой баланс
</Typography>
<Typography variant="body2" color={"#7e2aea"}>
<Typography
variant="body2"
color={"#7e2aea"}
fontSize={isMobile ? (cash.length > 9 ? "13px" : "16px") : "16px"}
>
{cash}
</Typography>
</Box>

@ -6,6 +6,8 @@ import {
Theme,
Button,
Badge,
useTheme,
useMediaQuery,
} from "@mui/material";
import { MouseEventHandler, ReactNode } from "react";
@ -33,7 +35,8 @@ export default function TariffCard({
discount,
}: Props) {
text = Array.isArray(text) ? text : [text];
const theme = useTheme();
const isMobile = useMediaQuery(theme.breakpoints.down(600));
return (
<Box
sx={{
@ -68,6 +71,7 @@ export default function TariffCard({
flexWrap: "wrap",
columnGap: "10px",
rowGap: 0,
flexDirection: isMobile ? "column-reverse" : undefined,
}}
>
{price}

@ -817,7 +817,7 @@ export default function StartPageSettings() {
quiz.config.info.site = e.target.value;
})
}
maxLength={100}
maxLength={2000}
/>
<Typography
sx={{