"use client"; import { useState } from "react"; import { useQuery } from "@tanstack/react-query"; import { TransmittalList } from "@/components/transmittal/transmittal-list"; import { transmittalService } from "@/lib/services/transmittal.service"; import { projectService } from "@/lib/services/project.service"; import { Button } from "@/components/ui/button"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { Plus, RefreshCw } from "lucide-react"; import Link from "next/link"; import { TransmittalListResponse } from "@/types/transmittal"; export default function TransmittalPage() { // ADR-019: Dynamic project selection via UUID const [selectedProjectUuid, setSelectedProjectUuid] = useState(""); const { data: projectsData } = useQuery({ queryKey: ["projects-for-transmittals"], queryFn: () => projectService.getAll(), }); const projects = projectsData?.data || projectsData || []; const { data, isLoading, error, refetch, } = useQuery({ queryKey: ["transmittals", selectedProjectUuid], queryFn: () => transmittalService.getAll({ projectId: selectedProjectUuid }), enabled: !!selectedProjectUuid, }); return (

Transmittals

Manage document transmittal slips

{/* ADR-019: Project filter */}
Project:
{error && (
Failed to load transmittals.
)} {isLoading ? (
) : ( )}
); }