'use client'; import { useState, useEffect, useCallback } from 'react'; import { FileText, Fuel } from 'lucide-react'; import { Card, CardContent } from '@/components/ui/card'; import { getImportsByLayoutName } from '@/app/actions/imports'; import { TerraTechImportsTable } from '@/app/components/terratech/TerraTechImportsTable'; import { TerraTechSummaryDialog } from '@/app/components/terratech/TerraTechSummaryDialog'; import { useToast } from '@/hooks/use-toast'; interface Import { id: number; name: string; importDate: string; layoutId: number; layout: { id: number; name: string; }; } interface RawImportData { id: number; name: string; importDate: Date | string; layoutId: number; layout: { id: number; name: string; }; } const LAYOUT_NAME = 'TerraTech - GasOilWater Summary'; export default function TerraTechFacilitySummariesPage() { const [imports, setImports] = useState([]); const [loading, setLoading] = useState(true); const [summaryDialogOpen, setSummaryDialogOpen] = useState(false); const [selectedImportId, setSelectedImportId] = useState(null); const { toast } = useToast(); const loadImports = useCallback(async () => { try { const result = await getImportsByLayoutName(LAYOUT_NAME); if (result.success && result.data) { const transformedImports = result.data.map((item: RawImportData) => ({ id: item.id, name: item.name, importDate: item.importDate instanceof Date ? item.importDate.toISOString() : String(item.importDate), layoutId: item.layoutId, layout: { id: item.layout.id, name: item.layout.name, }, })); setImports(transformedImports); } else { toast({ title: 'Error', description: result.error || 'Failed to load imports', variant: 'destructive', }); setImports([]); } } catch { toast({ title: 'Error', description: 'Failed to load imports', variant: 'destructive', }); } finally { setLoading(false); } }, [toast]); useEffect(() => { loadImports(); }, [loadImports]); function handleViewSummary(importRecord: Import) { setSelectedImportId(importRecord.id); setSummaryDialogOpen(true); } if (loading) { return (
); } return (

TerraTech Facility Summaries

View Gas, Oil, and Water production summaries for imported data

{imports.length === 0 ? (

No imports found

No imports using the "{LAYOUT_NAME}" layout configuration were found.
Import data using this layout to see it here.

) : (
)}
); }