import React, { useState } from "react"; import { base44 } from "@/api/base44Client"; import { useMutation, useQueryClient, useQuery } from "@tanstack/react-query"; import { useNavigate } from "react-router-dom"; import { createPageUrl } from "@/utils"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { MapPin, ArrowLeft, Save, Loader2 } from "lucide-react"; import PageHeader from "../components/common/PageHeader"; import { useToast } from "@/components/ui/use-toast"; export default function EditSector() { const navigate = useNavigate(); const queryClient = useQueryClient(); const { toast } = useToast(); const urlParams = new URLSearchParams(window.location.search); const sectorId = urlParams.get('id'); const { data: sectors = [] } = useQuery({ queryKey: ['sectors'], queryFn: () => base44.entities.Sector.list(), initialData: [], }); const { data: enterprises = [] } = useQuery({ queryKey: ['enterprises'], queryFn: () => base44.entities.Enterprise.list(), initialData: [], }); const sector = sectors.find(s => s.id === sectorId); const [sectorData, setSectorData] = useState({ sector_number: "", sector_name: "", sector_code: "", parent_enterprise_id: "", parent_enterprise_name: "", sector_type: "Food Service", sector_policies: { uniform_requirements: "", certification_requirements: [], special_training: [] }, is_active: true }); React.useEffect(() => { if (sector) { setSectorData({ sector_number: sector.sector_number || "", sector_name: sector.sector_name || "", sector_code: sector.sector_code || "", parent_enterprise_id: sector.parent_enterprise_id || "", parent_enterprise_name: sector.parent_enterprise_name || "", sector_type: sector.sector_type || "Food Service", sector_policies: sector.sector_policies || { uniform_requirements: "", certification_requirements: [], special_training: [] }, is_active: sector.is_active !== undefined ? sector.is_active : true }); } }, [sector]); const updateSectorMutation = useMutation({ mutationFn: ({ id, data }) => base44.entities.Sector.update(id, data), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['sectors'] }); toast({ title: "Sector Updated", description: "Sector has been successfully updated", }); navigate(createPageUrl("SectorManagement")); }, }); const handleSubmit = (e) => { e.preventDefault(); updateSectorMutation.mutate({ id: sectorId, data: sectorData }); }; const handleEnterpriseChange = (enterpriseId) => { const enterprise = enterprises.find(e => e.id === enterpriseId); setSectorData({ ...sectorData, parent_enterprise_id: enterpriseId, parent_enterprise_name: enterprise?.enterprise_name || "" }); }; if (!sector) { return (