import './style.css' import Box from '@mui/material/Box' import FormControl from '@mui/material/FormControl' import MenuItem from '@mui/material/MenuItem' import Select from '@mui/material/Select' import _get from 'lodash/get' import React from 'react' import { defineIsSalesClosed, getTicketSelectOptions } from './utils' interface ITicketRowProps { ticketTier: any; prevTicketTier: any; selectedTickets: any; handleTicketSelect: any; event: any; isSeatMapAllowed?: boolean; tableType?: boolean; } export const TicketRow = ({ ticketTier, prevTicketTier, selectedTickets, handleTicketSelect, event, isSeatMapAllowed, tableType, }: ITicketRowProps) => { const soldOutMessage = ticketTier.soldOutMessage ? `${ticketTier.soldOutMessage}`.toUpperCase() : 'SOLD OUT' const isSalesClosed = defineIsSalesClosed({ salesStarted: ticketTier.salesStarted, salesEnded: ticketTier.salesEnded, presalesStarted: event?.presalesStarted, presalesEnded: event?.presalesEnded, presalesEnabled: event?.presales_enabled, }) const maxCount = tableType ? ticketTier.maxGuests : ticketTier.maxQuantity const minCount = tableType ? ticketTier.minGuests : ticketTier.minQuantity const { multiplier } = ticketTier const options = getTicketSelectOptions(maxCount, minCount, multiplier) const ticketsClosedMessage = !ticketTier.salesStarted ? 'Sales not started' : 'Sales Ended' const canPurchaseTicket = ticketTier.displayTicket && ticketTier.maxQuantity const isDirectPurchaseAllowed = _get(ticketTier, 'allowDirectPurchase', false) const onSaleContent = (