import React from "react"; import { base44 } from "@/api/base44Client"; import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query"; import { useNavigate } from "react-router-dom"; import { createPageUrl } from "@/utils"; import { Button } from "@/components/ui/button"; import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Textarea } from "@/components/ui/textarea"; import { ArrowLeft, Save, Loader2 } from "lucide-react"; export default function EditBusiness() { const navigate = useNavigate(); const queryClient = useQueryClient(); const urlParams = new URLSearchParams(window.location.search); const businessId = urlParams.get('id'); const { data: allBusinesses, isLoading } = useQuery({ queryKey: ['businesses'], queryFn: () => base44.entities.Business.list(), initialData: [], }); const business = allBusinesses.find(b => b.id === businessId); const [formData, setFormData] = React.useState({ business_name: "", company_logo: "", contact_name: "", email: "", phone: "", address: "", notes: "" }); React.useEffect(() => { if (business) { setFormData({ business_name: business.business_name || "", company_logo: business.company_logo || "", contact_name: business.contact_name || "", email: business.email || "", phone: business.phone || "", address: business.address || "", notes: business.notes || "" }); } }, [business]); const updateBusinessMutation = useMutation({ mutationFn: ({ id, data }) => base44.entities.Business.update(id, data), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['businesses'] }); navigate(createPageUrl("Business")); }, }); const handleChange = (field, value) => { setFormData(prev => ({ ...prev, [field]: value })); }; const handleSubmit = (e) => { e.preventDefault(); updateBusinessMutation.mutate({ id: businessId, data: formData }); }; if (isLoading) { return (
Update information for {business.business_name}