fix: change color according to notification settings
This commit is contained in:
parent
ff474ee507
commit
0a0efd70ab
4 changed files with 26 additions and 13 deletions
|
|
@ -21,10 +21,11 @@ const Cashbox = ({
|
||||||
labelClassName,
|
labelClassName,
|
||||||
applyColorVariant,
|
applyColorVariant,
|
||||||
applyFiatBalanceAlertsStyling,
|
applyFiatBalanceAlertsStyling,
|
||||||
omitInnerPercentage
|
omitInnerPercentage,
|
||||||
|
isLow
|
||||||
}) => {
|
}) => {
|
||||||
const classes = cashboxClasses({ percent, cashOut, applyColorVariant })
|
const classes = cashboxClasses({ percent, cashOut, applyColorVariant, isLow })
|
||||||
const threshold = 51
|
const ltHalf = percent <= 51
|
||||||
|
|
||||||
const showCashBox = {
|
const showCashBox = {
|
||||||
[classes.fiatBalanceAlertCashbox]: applyFiatBalanceAlertsStyling,
|
[classes.fiatBalanceAlertCashbox]: applyFiatBalanceAlertsStyling,
|
||||||
|
|
@ -34,12 +35,12 @@ const Cashbox = ({
|
||||||
return (
|
return (
|
||||||
<div className={classnames(className, showCashBox)}>
|
<div className={classnames(className, showCashBox)}>
|
||||||
<div className={classnames(emptyPartClassName, classes.emptyPart)}>
|
<div className={classnames(emptyPartClassName, classes.emptyPart)}>
|
||||||
{!omitInnerPercentage && percent <= threshold && (
|
{!omitInnerPercentage && ltHalf && (
|
||||||
<Label2 className={labelClassName}>{percent.toFixed(0)}%</Label2>
|
<Label2 className={labelClassName}>{percent.toFixed(0)}%</Label2>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<div className={classes.fullPart}>
|
<div className={classes.fullPart}>
|
||||||
{!omitInnerPercentage && percent > threshold && (
|
{!omitInnerPercentage && !ltHalf && (
|
||||||
<Label2 className={labelClassName}>{percent.toFixed(0)}%</Label2>
|
<Label2 className={labelClassName}>{percent.toFixed(0)}%</Label2>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -115,15 +116,22 @@ const CashOut = ({
|
||||||
currency,
|
currency,
|
||||||
notes,
|
notes,
|
||||||
className,
|
className,
|
||||||
editingMode = false
|
editingMode = false,
|
||||||
|
threshold
|
||||||
}) => {
|
}) => {
|
||||||
const percent = (100 * notes) / capacity
|
const percent = (100 * notes) / capacity
|
||||||
|
const isLow = percent < threshold
|
||||||
const classes = gridClasses()
|
const classes = gridClasses()
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className={classes.row}>
|
<div className={classes.row}>
|
||||||
<div className={classes.col}>
|
<div className={classes.col}>
|
||||||
<Cashbox className={className} percent={percent} cashOut />
|
<Cashbox
|
||||||
|
className={className}
|
||||||
|
percent={percent}
|
||||||
|
cashOut
|
||||||
|
isLow={isLow}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
{!editingMode && (
|
{!editingMode && (
|
||||||
<div className={classes.col2}>
|
<div className={classes.col2}>
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,9 @@ const colors = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const colorPicker = ({ percent, cashOut, applyColorVariant }) => {
|
const colorPicker = ({ cashOut, applyColorVariant, isLow }) => {
|
||||||
if (applyColorVariant) return colors[cashOut ? 'cashOut' : 'cashIn'].full
|
|
||||||
return colors[cashOut ? 'cashOut' : 'cashIn'][
|
return colors[cashOut ? 'cashOut' : 'cashIn'][
|
||||||
percent >= 50 ? 'full' : 'empty'
|
applyColorVariant || !isLow ? 'full' : 'empty'
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ const useStyles = makeStyles({
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const CashCassetteInput = memo(({ decimalPlaces, ...props }) => {
|
const CashCassetteInput = memo(({ decimalPlaces, threshold, ...props }) => {
|
||||||
const classes = useStyles()
|
const classes = useStyles()
|
||||||
const { name, onChange, onBlur, value } = props.field
|
const { name, onChange, onBlur, value } = props.field
|
||||||
const { touched, errors } = props.form
|
const { touched, errors } = props.form
|
||||||
|
|
@ -27,6 +27,7 @@ const CashCassetteInput = memo(({ decimalPlaces, ...props }) => {
|
||||||
className={classes.cashCassette}
|
className={classes.cashCassette}
|
||||||
notes={notes}
|
notes={notes}
|
||||||
editingMode={true}
|
editingMode={true}
|
||||||
|
threshold={threshold}
|
||||||
/>
|
/>
|
||||||
<NumberInput
|
<NumberInput
|
||||||
name={name}
|
name={name}
|
||||||
|
|
|
||||||
|
|
@ -113,6 +113,7 @@ const CashCassettes = () => {
|
||||||
|
|
||||||
const machines = R.path(['machines'])(data) ?? []
|
const machines = R.path(['machines'])(data) ?? []
|
||||||
const config = R.path(['config'])(data) ?? {}
|
const config = R.path(['config'])(data) ?? {}
|
||||||
|
const fillingPercentageSettings = fromNamespace('notifications', config)
|
||||||
const [setCassetteBills, { error }] = useMutation(SET_CASSETTE_BILLS, {
|
const [setCassetteBills, { error }] = useMutation(SET_CASSETTE_BILLS, {
|
||||||
refetchQueries: () => ['getData']
|
refetchQueries: () => ['getData']
|
||||||
})
|
})
|
||||||
|
|
@ -198,11 +199,13 @@ const CashCassettes = () => {
|
||||||
denomination={getCashoutSettings(id)?.top}
|
denomination={getCashoutSettings(id)?.top}
|
||||||
currency={{ code: fiatCurrency }}
|
currency={{ code: fiatCurrency }}
|
||||||
notes={value}
|
notes={value}
|
||||||
|
threshold={fillingPercentageSettings.fillingPercentageCassette1}
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
input: CashCassetteInput,
|
input: CashCassetteInput,
|
||||||
inputProps: {
|
inputProps: {
|
||||||
decimalPlaces: 0
|
decimalPlaces: 0,
|
||||||
|
threshold: fillingPercentageSettings.fillingPercentageCassette1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -217,12 +220,14 @@ const CashCassettes = () => {
|
||||||
denomination={getCashoutSettings(id)?.bottom}
|
denomination={getCashoutSettings(id)?.bottom}
|
||||||
currency={{ code: fiatCurrency }}
|
currency={{ code: fiatCurrency }}
|
||||||
notes={value}
|
notes={value}
|
||||||
|
threshold={fillingPercentageSettings.fillingPercentageCassette2}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
input: CashCassetteInput,
|
input: CashCassetteInput,
|
||||||
inputProps: {
|
inputProps: {
|
||||||
decimalPlaces: 0
|
decimalPlaces: 0,
|
||||||
|
threshold: fillingPercentageSettings.fillingPercentageCassette2
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue