'use client' import React, { useEffect } from 'react' import { useRouter, useSearchParams } from 'next/navigation' import Sidebar from '../../../components/ui/Sidebar' import useNavigationStore from '../../store/navigationStore' import ReportsList from '../../../components/reports/ReportsList' import ExportMenu from '../../../components/ui/ExportMenu' import detectorsData from '../../../data/detectors.json' import axios from 'axios' const ReportsPage: React.FC = () => { const router = useRouter() const searchParams = useSearchParams() const { currentObject, setCurrentObject } = useNavigationStore() const urlObjectId = searchParams.get('objectId') const urlObjectTitle = searchParams.get('objectTitle') const objectId = currentObject.id || urlObjectId const objectTitle = currentObject.title || urlObjectTitle useEffect(() => { if (urlObjectId && urlObjectTitle && (!currentObject.id || currentObject.id !== urlObjectId)) { setCurrentObject(urlObjectId, urlObjectTitle) } }, [urlObjectId, urlObjectTitle, currentObject.id, setCurrentObject]) const handleBackClick = () => { router.push('/dashboard') } const handleExport = async (format: 'csv' | 'pdf') => { try { const response = await axios.post( `${process.env.NEXT_PUBLIC_API_URL}/account/get-reports/`, { report_format: format }, { responseType: 'blob', headers: { 'Content-Type': 'application/json', }, } ) const contentDisposition = response.headers['content-disposition'] const filenameMatch = contentDisposition?.match(/filename="(.+)"/) const timestamp = new Date().toISOString().replace(/[:.]/g, '-').replace(/T/g, '_') const filename = filenameMatch ? filenameMatch[1] : `alerts_report_${timestamp}.${format}` const url = window.URL.createObjectURL(new Blob([response.data])) const link = document.createElement('a') link.href = url link.download = filename document.body.appendChild(link) link.click() document.body.removeChild(link) window.URL.revokeObjectURL(url) } catch (error) { console.error('Error:', error) } } return (

Отчеты по датчикам

) } export default ReportsPage