import { __ } from '@wordpress/i18n' import { useMemo } from 'react' import { useBookingContext } from '../../providers/BookingFormProvider/BookingFormProvider' import { useWording } from '../../hooks/useWording' import { IExtraProps } from './types' import { ExtraItem } from './ExtraItem' import './Extras.scss' interface IExtrasProps { extras: Array> } export const Extras = ({ extras }: IExtrasProps) => { const wording = useWording() const { extras: formExtras } = useBookingContext() const allowedExtraIds = useMemo( () => new Set((extras || []).map((extra) => Number(extra.id))), [extras] ) const extrasToView = useMemo( () => (formExtras || []).filter((extra) => allowedExtraIds.has(Number(extra.id)) ), [formExtras, allowedExtraIds] ) return (
{extrasToView.map((extra: IExtraProps, index: number) => (
))} {extrasToView.length === 0 && (

{wording.no_extras_found || wording.no_services_found || __('No extras found!', 'webba-booking-lite')}

)}
) }