/** @jsxRuntime classic */ /** @jsx jsx */ import React, { useState, useEffect, Fragment } from 'react'; import { css, jsx } from '@emotion/react'; import { useTheme } from '@emotion/react'; import { IAddon, IPackage } from '../../types/entities/addon'; import { ResourcesToProduct } from '../../types/entities/resources-to-products'; import { AddonContainerCss, footerCss, headerCss, mainCss } from './style'; import { Icons } from '../../types/theme'; import { BnIcon, Button, Checkbox } from '../../components'; import { useTypography } from '../../hooks/useTypography'; import { Pricify } from '../../lib/price'; import { DateAddon } from './dateAddon'; const dateOptions = [ { title: 'some title', subTitle: 'some sub title', }, ]; export const Addon = ({ addonItem, events, handleAddToCart, handleRemoveFromCart, }: IAddon) => { const colors = useTheme(); const { typography } = useTypography(); const [checked, setChecked] = useState(false); const [selected, setSelected] = useState([]); const [isAddedToCart, setAddedToCart] = useState(false); const [isFirst, setFirst] = useState(true); const [clearTrigger, setClearTrigger] = useState(false); const [eventToWorkWith, setEvents] = useState({ quantity: 0, resourceType: '', resources: [], }); useEffect(() => { if (!isFirst) { if (checked) { clickAddToCart(); } else { clickRemoveFromCart(); } } setFirst(false); }, [checked]); const clickAddToCart = () => { setAddedToCart(true); handleAddToCart(selected, addonItem, eventToWorkWith); }; const clickRemoveFromCart = () => { setAddedToCart(false); setSelected([]); setClearTrigger(!clearTrigger); handleRemoveFromCart(addonItem); }; useEffect(() => { setEvents(events); }, [events]); return (
{(addonItem?.package as IPackage)?.timePeriod === 'event' ? (

{addonItem.name}

Add product to cart now!

Price Per Unit
{addonItem.price ? Pricify(addonItem.price) : 'N/A'}
) : (
setChecked(val)} />

{addonItem.name}

Add product to cart now!

)}
); };