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...
) : (
)}
);
}