import {CardActions, CardContent, CardMedia, Rating} from "@mui/material"; import Typography from "@mui/material/Typography"; import Grid from "@mui/material/Grid"; import {CocktailItemStyled} from "./CocktailItemStyled"; import IconButton from "@mui/material/IconButton"; import FavoriteBorderIcon from '@mui/icons-material/FavoriteTwoTone'; import FavoriteIcon from '@mui/icons-material/Favorite'; import Box from "@mui/material/Box"; import {CocktailDescription} from "./CocktailDescription"; import EditIcon from '@mui/icons-material/Edit'; import DeleteIcon from '@mui/icons-material/Delete'; import LocalBarIcon from '@mui/icons-material/LocalBar'; import {paths} from "../../path"; import {useAlert} from "../../hooks/useAlert"; import {useUser} from "../../hooks/useUser"; function renderFavouriteBadge(handleFavourite, row) { const childIcon = row.rating.favourite ? : ; return ( handleFavourite(row)}> {childIcon} ) } function renderRating(handleChangeRating, row) { return ( handleChangeRating(row, newValue)} /> ) } export function Cocktail({row, handleFavourite, handleChangeRating, handleSelect, deleteHandler}) { const {notImplement} = useAlert(); const {user} = useUser(); return ( handleSelect(row)} component="img" alt={row.name} height="300" image={row.image.includes("thecocktaildb") ? (row.image + "/preview") : row.image} /> notImplement()}> {renderFavouriteBadge(handleFavourite, row)} {renderRating(handleChangeRating, row)} { (user.role && user.role !== 'USER') && <> deleteHandler(row)}> } {row.name} ) }