import React, { useState } from "react"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faMoneyBill1, faTrashCan } from "@fortawesome/free-regular-svg-icons"; import { useAuth } from "../context/auth"; import PizzaAdditionalFeeModal from "./modals/PizzaAdditionalFeeModal"; import { PizzaDayState, PizzaOrder, PizzaVariant } from "../../../types"; type Props = { creator: string, order: PizzaOrder, state: PizzaDayState, onDelete: (order: PizzaVariant) => void, onFeeModalSave: (customer: string, name?: string, price?: number) => void, } export default function PizzaOrderRow({ creator, order, state, onDelete, onFeeModalSave }: Props) { const auth = useAuth(); const [isFeeModalOpen, setFeeModalOpen] = useState(false); const saveFees = (customer: string, text?: string, price?: number) => { onFeeModalSave(customer, text, price); setFeeModalOpen(false); } return <> {order.customer} {order.pizzaList!.map((pizzaOrder, index) => {`${pizzaOrder.name}, ${pizzaOrder.size} (${pizzaOrder.price} Kč)`} {auth?.login === order.customer && state === PizzaDayState.CREATED && { onDelete(pizzaOrder); }} title='Odstranit' className='action-icon' icon={faTrashCan} /> } ) .reduce((prev, curr, index) => [prev,
, curr])} {order.note || '-'} {order.fee?.price ? `${order.fee.price} Kč${order.fee.text ? ` (${order.fee.text})` : ''}` : '-'} {order.totalPrice} Kč{auth?.login === creator && state === PizzaDayState.CREATED && { setFeeModalOpen(true) }} title='Nastavit příplatek' className='action-icon' icon={faMoneyBill1} />} setFeeModalOpen(false)} onSave={saveFees} initialValues={{ text: order.fee?.text, price: order.fee?.price?.toString() }} /> }