diff --git a/src/pages/Analytics/Answers/Answers.tsx b/src/pages/Analytics/Answers/Answers.tsx index d44e72ea..e08791cb 100644 --- a/src/pages/Analytics/Answers/Answers.tsx +++ b/src/pages/Analytics/Answers/Answers.tsx @@ -35,8 +35,6 @@ type PaginationProps = { setPage: (page: number) => void; }; -const ANSWERS_PER_PAGE = 5; - const Answer = ({ title, percent, highlight }: AnswerProps) => { const theme = useTheme(); @@ -263,7 +261,7 @@ export const Answers: FC = ({ data }) => { }, }} > - Заголовок вопроса. {answers[page - 1][0]} + Заголовок вопроса. {answers[page - 1]?.[0] ?? ""} @@ -272,16 +270,14 @@ export const Answers: FC = ({ data }) => { - {Object.entries(answers[page - 1][1]) - - .map((element, index) => ( - - ))} + {Object.entries(answers[page - 1]?.[1] ?? []).map((element, index) => ( + + ))} diff --git a/src/pages/Analytics/General.tsx b/src/pages/Analytics/General.tsx index 61fb68c7..232232c1 100644 --- a/src/pages/Analytics/General.tsx +++ b/src/pages/Analytics/General.tsx @@ -10,6 +10,7 @@ type GeneralItemsProps = { general: Record; color: string; numberType: "sum" | "percent" | "time"; + calculateTime?: boolean; }; type GeneralProps = { @@ -37,6 +38,7 @@ const GeneralItem = ({ general, color, numberType, + calculateTime = false, }: GeneralItemsProps) => { const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down(700)); @@ -50,12 +52,20 @@ const GeneralItem = ({ 0, ) / Object.keys(general).length || Number(0); - console.log("general", general); - console.log(Object.keys(general).length === 0); - if (Object.keys(general).length === 0) + if (Object.keys(general).length === 0) { return ( {`${title} - нет данных`} ); + } + + const getCalculatedTime = (time: number) => { + const hours = String(Math.floor(time / 3600)).padStart(2, "0"); + const minutes = String(Math.floor((time % 3600) / 60)).padStart(2, "0"); + const seconds = String(Math.floor((time % 3600) % 60)).padStart(2, "0"); + + return `${hours}:${minutes}:${seconds}`; + }; + return ( + calculateTime ? getCalculatedTime(value) : String(value), + }, + ]} // dataset={Object.entries(general).map(([, v]) => moment.unix(v).format("ss/mm/HH")).reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {})} height={220} colors={[color]} @@ -101,6 +117,7 @@ export const General: FC = ({ data }) => { ); } + return ( = ({ data }) => { v > 0)