import {CardActions, CardContent, CardMedia, Rating} from "@mui/material";
import {useAlert} from "../../hooks/useAlert";
import Typography from "@mui/material/Typography";
import List from "@mui/material/List";
import ListItem from "@mui/material/ListItem";
import ListItemText from "@mui/material/ListItemText";
import Button from "@mui/material/Button";
import Grid from "@mui/material/Grid";
import {requests} from "../../requests";
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 {api} from "../../lib/clients/api";
import Box from "@mui/material/Box";
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, editMenuBlock}) {
const {createAlert, createError} = useAlert();
const {session, user} = useUser();
function pay(cocktailId) {
api().post(`${requests.bar.pay}cocktail=${cocktailId}`)
.then(() => createAlert("Ожидайте свой заказ", "success"))
.catch(() => createError("Ошибка во время создания заказа"))
}
return (
handleSelect(row)}
component="img"
alt={row.name}
height="300"
image={`${row.image}/preview`}
/>
{renderFavouriteBadge(handleFavourite, row)}
{renderRating(handleChangeRating, row)}
{row.name}
{row.hasError && (
Имеет ошибку в рецепте или ингредиентах
)}
{"Категория: " + row.category}
{"Алкоголь: " + row.alcoholic}
{row.volume !== null && (
{"Крепость: ≈" + row.volume}
)}
{"Подача: " + row.glass}
{"Состав: " + row.components}
{(row.tags && row.tags.length > 0) && (
{"Теги: " + row.tags.replaceAll(',', ', ')}
)}
{(row.isAllowed && session.isActive && user.invited) &&
}
{editMenuBlock(row)}
)
}