import React, { useEffect, useState } from 'react'; import { DataProvider, useReportData } from './ReportEditor/DataContext'; import { BandProvider } from './ReportEditor/BandContext'; import EditorCanvas from './ReportEditor/EditorCanvas'; import api from '../services/api'; import './ReportPreviewModal.css'; function PreviewContent({ vehicleData, elements }) { const { setData } = useReportData(); useEffect(() => { setData(vehicleData); }, [vehicleData]); return ( {}} onSelectMultiple={() => {}} onDeselectAll={() => {}} onElementUpdate={() => {}} onElementDelete={() => {}} onAddElement={() => {}} /> ); } export default function ReportPreviewModal({ vehicleData, onClose }) { const [elements, setElements] = useState(null); const [error, setError] = useState(''); useEffect(() => { api.get('/api/reports/') .then(res => { const reports = res.data.results || res.data; const report = reports.find(r => r.name === 'notice_report'); if (report) { setElements(report.elements || []); } else { setError('Report "notice_report" not found. Create it in the Report Editor first.'); } }) .catch(() => setError('Failed to load report')); }, []); return (
e.stopPropagation()}>
Notice Report — {vehicleData.vehicle.vehicle_number}
{error ? (
{error}
) : elements === null ? (
Loading...
) : ( )}
); }