diff --git a/src/app/actions/violationActions.ts b/src/app/actions/violationActions.ts index b95e12e..ffc0f22 100644 --- a/src/app/actions/violationActions.ts +++ b/src/app/actions/violationActions.ts @@ -262,6 +262,42 @@ export async function fetchViolationStatistic() { } } +export async function fetchViolationFinalSummaryStatistic() { + const token = await getSessionData('token'); + + try { + const response = await fetch(`${API_BASE_URL}/api/v1/data`, { + method: 'POST', + body: JSON.stringify({ + version: 1, + msg_id: 30023, + message_body: { + token: token, + } + }), + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json' + } + }); + + if (response.ok) { + let parsed = await response.json(); + console.log(parsed); + + if (parsed?.message_code === 0) { + return parsed?.message_body; + } else { + throw null; + } + } else { + throw (`${response.status}`); + } + } catch (error) { + return null + } +} + interface complainBody { previousText: string, violationID: string | null, diff --git a/src/app/hooks/react-query/useViolationFinalSummaryStatistic.tsx b/src/app/hooks/react-query/useViolationFinalSummaryStatistic.tsx new file mode 100644 index 0000000..074fd2d --- /dev/null +++ b/src/app/hooks/react-query/useViolationFinalSummaryStatistic.tsx @@ -0,0 +1,27 @@ +import { useQuery } from '@tanstack/react-query'; +import { fetchViolationFinalSummaryStatistic } from '@/app/actions/violationActions'; + +export interface UseViolationFinalSummaryStatistic { + complaints_without_case: number; + total_complaints: number; + total_law_cases: number; + total_violations: number; + violations_with_complaint: number; + violations_without_complaint: number; +} + +export const useViolationFinalSummaryStatistic = () => { + return useQuery({ + queryKey: ['violationFinalSummaryStatistic'], + queryFn: () => { + return fetchViolationFinalSummaryStatistic() + }, + select: (data: UseViolationFinalSummaryStatistic | null) => { + if (!data) { + return null + } + return data; + }, + retry: false + }); +}; \ No newline at end of file diff --git a/src/app/ui/reports/final-summary.tsx b/src/app/ui/reports/final-summary.tsx index 1457404..f4a511b 100644 --- a/src/app/ui/reports/final-summary.tsx +++ b/src/app/ui/reports/final-summary.tsx @@ -2,21 +2,20 @@ import { useUserFilesInfo } from '@/app/hooks/react-query/useUserFilesInfo'; import { useTranslations } from 'next-intl'; -import { useEffect } from 'react'; -import { useViolationStatistic } from '@/app/hooks/react-query/useViolationStatistic'; -import {useMonitoringStats} from '@/app/hooks/react-query/useMonitoringStats'; +import { useMonitoringStats } from '@/app/hooks/react-query/useMonitoringStats'; +import { useViolationFinalSummaryStatistic } from '@/app/hooks/react-query/useViolationFinalSummaryStatistic'; export default function FinalSummary() { const t = useTranslations('Global'); const { data: filesInfo, isLoading, isError, error } = useUserFilesInfo(); - const { data: violationStatistic } = useViolationStatistic(); + const { data: violationStatistic } = useViolationFinalSummaryStatistic(); const { data: monitoringStats } = useMonitoringStats(); return (
{t('general-indicators-of-the-protection-system')} @@ -24,18 +23,14 @@ export default function FinalSummary() {