import { Box, TextField as MuiTextField, TextFieldProps, Typography, useTheme } from "@mui/material"; import { Answer, useQuizViewStore } from "@stores/quizView"; import { useRootContainerSize } from "@contexts/RootContainerWidthContext"; import { quizThemes } from "@utils/themes/Publication/themePublication"; import type { ChangeEvent, FC } from "react"; import type { QuizQuestionText } from "@model/questionTypes/text"; import { useQuizStore } from "@/stores/useQuizStore"; const TextField = MuiTextField as unknown as FC; // temporary fix ts(2590) interface TextSpecialProps { currentQuestion: QuizQuestionText; answer?: Answer; stepNumber?: number | null; } function highlightQuestions(text: string) { // Регулярка с учётом возможной точки в конце const regex = /(вопрос\s\d+[a-zA-Zа-яА-Я]\.?)/g; // Замена на с жирным текстом return text.replace(regex, '$1'); } export const TextNeftyanka = ({ currentQuestion, answer, stepNumber }: TextSpecialProps) => { const { settings } = useQuizStore(); const { updateAnswer } = useQuizViewStore((state) => state); const isHorizontal = true; const theme = useTheme(); const isMobile = useRootContainerSize() < 650; const onInputChange = async ({ target }: ChangeEvent) => { updateAnswer(currentQuestion.id, target.value, 0); }; return ( {isHorizontal && currentQuestion.content.back && currentQuestion.content.back !== " " && ( event.preventDefault()} > )} {highlightQuestions(currentQuestion.title)} { } {!isHorizontal && currentQuestion.content.back && currentQuestion.content.back !== " " && ( event.preventDefault()} > )} ); };