import { useState } from 'react'; import { Button } from '@/components/ui/button'; import { Card, CardContent } from '@/components/ui/card'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { Star, Plus } from 'lucide-react'; import { ReviewsList } from './ReviewsList'; import { ReviewForm } from './ReviewForm'; interface ReviewsSectionProps { entityType: 'park' | 'ride'; entityId: string; entityName: string; averageRating: number; reviewCount: number; } export function ReviewsSection({ entityType, entityId, entityName, averageRating, reviewCount }: ReviewsSectionProps) { const [showForm, setShowForm] = useState(false); const [refreshKey, setRefreshKey] = useState(0); const handleReviewSubmitted = () => { setShowForm(false); setRefreshKey(prev => prev + 1); }; const renderStars = (rating: number) => { return Array.from({ length: 5 }, (_, i) => ( )); }; return (
{/* Reviews Summary */} {reviewCount > 0 && (
{averageRating.toFixed(1)}
{renderStars(averageRating)}
{reviewCount} review{reviewCount !== 1 ? 's' : ''}
)} {/* Review Form */} {showForm && ( )} {/* Show write review button if no reviews yet and form not shown */} {reviewCount === 0 && !showForm && (

No Reviews Yet

Be the first to share your experience with {entityName}!

)} {/* Reviews List */}
); }