import React from "react"; import CancelIcon from "@mui/icons-material/Cancel"; import CheckCircleIcon from "@mui/icons-material/CheckCircle"; import DeleteOutlineOutlinedIcon from "@mui/icons-material/DeleteOutlineOutlined"; import IconButton from "@mui/material/IconButton"; import InputAdornment from "@mui/material/InputAdornment"; import MenuItem from "@mui/material/MenuItem"; import Select from "@mui/material/Select"; import TableCell from "@mui/material/TableCell"; import TableRow from "@mui/material/TableRow"; import TextField from "@mui/material/TextField"; import { ArticlePriceListSerializer, ArticlePriceSerializer } from "../types/contrib"; export interface ArticlePriceRowProps { price: ArticlePriceSerializer; isEditing: boolean; isDisabled: boolean; onChangeAmount: (amount: string) => void; priceLists?: ArticlePriceListSerializer[]; onChangePriceList?: (priceList: number) => void; onDelete: () => void; } export const ArticlePriceRow: React.FC = ({ price, isEditing, isDisabled, onChangeAmount, onChangePriceList, onDelete, priceLists, }) => { const priceListOptions = priceLists ?? []; const hasPriceListSelector = isEditing && Boolean(onChangePriceList) && priceListOptions.length > 0; return ( {hasPriceListSelector ? ( ) : ( price.price_list.name )} {!hasPriceListSelector && ( <> {price.price_list.channel} {price.price_list.site_code} )} {isEditing ? ( {price.price_list.currency} ), }} size="small" sx={{ ".MuiInputBase-input": { textAlign: "right" } }} value={price.amount} onChange={(event) => onChangeAmount?.(event.target.value)} /> ) : ( <> {price.amount} {price.price_list.currency && ` ${price.price_list.currency}`} )} {price.price_list.is_active ? ( ) : ( )} {isEditing && ( onDelete?.()}> )} ); };