diff --git a/lib/components/ViewPublicationPage/ApologyPage.tsx b/lib/components/ViewPublicationPage/ApologyPage.tsx index a03f32f..b6bce50 100644 --- a/lib/components/ViewPublicationPage/ApologyPage.tsx +++ b/lib/components/ViewPublicationPage/ApologyPage.tsx @@ -24,7 +24,7 @@ export const ApologyPage = ({ error }: Props) => { color: "text.primary", }} > - {t(message.toLowerCase())} + {/* {t(message.toLowerCase())} */} ); diff --git a/lib/components/ViewPublicationPage/Question.tsx b/lib/components/ViewPublicationPage/Question.tsx index eb45fa3..a9f89cd 100644 --- a/lib/components/ViewPublicationPage/Question.tsx +++ b/lib/components/ViewPublicationPage/Question.tsx @@ -24,6 +24,7 @@ import { DESIGN_LIST } from "@/utils/designList"; import { type ReactNode } from "react"; import { isProduction } from "@/utils/defineDomain"; import { useQuizStore } from "@/stores/useQuizStore"; +import { CustomCircularTimer } from "@/ui_kit/timer/CircularTimer"; type Props = { currentQuestion: RealTypedQuizQuestion; @@ -94,32 +95,45 @@ export const Question = ({ stepNumber={currentQuestionStepNumber} /> {show_badge && ( - - {quizThemes[settings.cfg.theme].isLight ? ( - - ) : ( - - )} - + } + + {quizThemes[settings.cfg.theme].isLight ? ( + + ) : ( + + )} + + )} diff --git a/lib/ui_kit/timer/CircularTimer.tsx b/lib/ui_kit/timer/CircularTimer.tsx new file mode 100644 index 0000000..4d77c18 --- /dev/null +++ b/lib/ui_kit/timer/CircularTimer.tsx @@ -0,0 +1,98 @@ +import { CircularProgress, Box, Typography, useTheme, styled } from "@mui/material"; + +const StyledCircularProgress = styled(CircularProgress)(({ theme }) => ({ + "& .MuiCircularProgress-circle": { + strokeLinecap: "round", + transition: "stroke-dashoffset 0.3s ease", + }, +})); + +export const CustomCircularTimer: React.FC = ({ duration, remaining }) => { + const theme = useTheme(); + const progress = (remaining / duration) * 100; + + return ( + + {/* Серый фон */} + + + {/* Основной прогресс */} + + + + + + + + + + + + {/* Центральный контент */} + + + {remaining} + + + + ); +};