'use client'; import { useState } from 'react'; import { X, Star, Loader2 } from 'lucide-react'; import { Restaurant, CreateRatingData } from '@/lib/api'; interface ReviewModalProps { restaurant: Restaurant; onClose: () => void; onSubmit: (data: CreateRatingData) => Promise; } export default function ReviewModal({ restaurant, onClose, onSubmit }: ReviewModalProps) { const [rating, setRating] = useState(5); const [review, setReview] = useState(''); const [isSubmitting, setIsSubmitting] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (!review.trim()) return; setIsSubmitting(true); try { await onSubmit({ rating, review }); onClose(); } catch (error) { // Error handling done in parent } finally { setIsSubmitting(false); } }; return (

Rate the Toast at {restaurant.name} 🍞

{restaurant.address}

{[1, 2, 3, 4, 5].map((value) => ( ))}

{rating === 1 && "Terrible toast 😞"} {rating === 2 && "Not great toast 😕"} {rating === 3 && "Decent toast 🙂"} {rating === 4 && "Good toast! 😊"} {rating === 5 && "Amazing toast! 🤩"}