import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Stars } from "@/components/Stars"; import { useState, useEffect } from "react"; import { Place } from "@/lib/types"; export interface PlaceFormData { name: string; description: string; address: string; rating: number; } interface PlaceFormProps { onSubmit: (place: Place) => void; place?: Place; submitLabel?: string; } export function PlaceForm({ onSubmit, place, submitLabel = place ? "Save Changes" : "Add Place", }: PlaceFormProps) { const [name, setName] = useState(place?.name ?? ""); const [description, setDescription] = useState(place?.description ?? ""); const [address, setAddress] = useState(place?.address ?? ""); const [rating, setRating] = useState(place?.rating ?? 0); const [hoverRating, setHoverRating] = useState(0); useEffect(() => { if (place) { setName(place.name); setDescription(place.description ?? ""); setAddress(place.address); setRating(place.rating); } }, [place]); const handleSubmit = () => { onSubmit({ id: place?.id ?? Date.now().toString(), name, description, address, rating, latitude: place?.latitude ?? 0, longitude: place?.longitude ?? 0, }); }; return (