import React, { useState } from 'react'; import { Card, CardHeader, CardContent, CardFooter, } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Badge } from '@/components/ui/badge'; import { Separator } from '@/components/ui/separator'; import ImageCarousel from './ImageCarousel'; import { buyHandler } from '@/lib/buyHandler'; import { useToast } from '@/hooks/use-toast'; import NumberPicker from './TicketButton'; export interface EventDescriptionProps { eventDetails: { EventID: number; name: string; date: string; location: string; ticketPrice: number; description: string; capacity: number; ticketsSold: number; imageUrl: string[]; host: string; }; } const EventDescription: React.FC = ({ eventDetails, }) => { const { toast } = useToast(); const [numTickets, setNumTickets] = useState(1); const eventDate = new Date(Number(eventDetails.date) * 1000).toLocaleString(); const handleBuyNow = () => { buyHandler(eventDetails.EventID, numTickets, toast); }; return (

{eventDetails.name}

{/*Show price and format by separating triplets of digits*/} Price: $ {eventDetails.ticketPrice.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2, })}

{eventDetails.description}

Location:
{eventDetails.location}


Date:
{eventDate}


Host:
{eventDetails.host}

{eventDetails.ticketsSold / eventDetails.capacity >= 0.9 && (
Limited Tickets Remaining!
)}
); }; export default EventDescription;