import React from 'react'; import { useTranslation } from 'react-i18next'; import { react2angular } from 'react2angular'; import { Loader } from '../base/loader'; import { IApplication } from '../../models/application'; import { FabButton } from '../base/fab-button'; import useCart from '../../hooks/use-cart'; import FormatLib from '../../lib/format'; import CartAPI from '../../api/cart'; declare const Application: IApplication; interface StoreCartProps { onError: (message: string) => void, } /** * This component shows user's cart */ const StoreCart: React.FC = ({ onError }) => { const { t } = useTranslation('public'); const { loading, cart, setCart } = useCart(); /** * Remove the product from cart */ const removeProductFromCart = (item) => { return (e: React.BaseSyntheticEvent) => { e.preventDefault(); e.stopPropagation(); CartAPI.removeItem(cart, item.orderable_id).then(data => { setCart(data); }); }; }; return (
{loading &&

loading

} {cart && cart.order_items_attributes.map(item => (
{item.orderable_name}
{FormatLib.price(item.amount)}
{item.quantity}
{FormatLib.price(item.quantity * item.amount)}
{t('app.public.store_cart.remove_item')}
))} {cart &&

{cart.amount}

}
); }; const StoreCartWrapper: React.FC = ({ onError }) => { return ( ); }; Application.Components.component('storeCart', react2angular(StoreCartWrapper, ['onError']));