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 }: Readonly) { const auth = useAuth(); const [isFeeModalOpen, setIsFeeModalOpen] = useState(false); const saveFees = (customer: string, text?: string, price?: number) => { onFeeModalSave(customer, text, price); setIsFeeModalOpen(false); } return <> {order.customer} {order.pizzaList!.map(pizzaOrder => {`${pizzaOrder.name}, ${pizzaOrder.size} (${pizzaOrder.price} Kč)`} {auth?.login === order.customer && state === PizzaDayState.CREATED && { onDelete(pizzaOrder); }} 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 && { setIsFeeModalOpen(true) }} className='action-icon' icon={faMoneyBill1} />} setIsFeeModalOpen(false)} onSave={saveFees} initialValues={{ text: order.fee?.text, price: order.fee?.price?.toString() }} /> }