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}
+
+
+
+ );
+};