import React, {useState} from "react"; import {Link, useLocation, useNavigate} from "react-router-dom"; import {Button, Card, CardActions, CardContent, Grid, Typography} from "@mui/material"; import {truncate} from "../functions"; import CreateEditMenuItemModal from "../modals/menu-item-modal"; import {DeleteMenuItem} from "../../services/menu-item-service"; import {useAuthContext} from "../../configurations/AuthContext"; import {UserRole} from "../../services/user-service"; import {AddCircle, RemoveCircle, Restaurant} from "@mui/icons-material"; import MenuItem from "../../assets/images/menuItem.jpg"; const MenuItemCard = ({item, itemchange, quantitynb, detectAdminAction, skipChanges = false}) => { const {loggedUserRole, isAuthorized} = useAuthContext(); const navigate = useNavigate(); const location = useLocation(); const [openUpdateModal, setOpenUpdateModal] = useState(false); const [quantity, setQuantity] = useState(quantitynb ?? 0); const handleMenuOrderQuantityChange = (number) => event => { if (number < 0) { return; } setQuantity(number) const orderMenuItem = {menuItemId: item?.id, quantity: number}; itemchange(orderMenuItem); } const handleDelete = async (id) => { await DeleteMenuItem(id); navigate(location.pathname); if (detectAdminAction) { detectAdminAction(true) } } const handleEdit = () => { setOpenUpdateModal(false); navigate(location.pathname); if (detectAdminAction) { detectAdminAction(true) } } return ( item != null && {"food"}/ {truncate(item.ime, 15, 30)} {item.cena} MKD {itemchange && {quantity} items {loggedUserRole?.role === UserRole.Potrosuvac && !skipChanges && } Price: {quantity * item.cena} MKD } {truncate(item.restoran.ime)} {(isAuthorized(item.restoran?.manager?.id) || loggedUserRole?.role === UserRole.Admin) && <> } {openUpdateModal && } ) } export default MenuItemCard;