lamassu-server/new-lamassu-admin/src/components/inputs/formik/CashCassetteInput.jsx
2025-04-22 13:11:41 +01:00

50 lines
1.3 KiB
JavaScript

import { makeStyles } from '@mui/material'
import classNames from 'classnames'
import React, { memo, useState } from 'react'
import { CashOut } from 'src/components/inputs/cashbox/Cashbox'
import { NumberInput } from '../base'
const useStyles = makeStyles({
flex: {
display: 'flex'
},
cashCassette: {
height: 36,
marginRight: 14
}
})
const CashCassetteInput = memo(
({ decimalPlaces, width, threshold, inputClassName, ...props }) => {
const classes = useStyles()
const { name, onChange, onBlur, value } = props.field
const { touched, errors } = props.form
const [notes, setNotes] = useState(value)
const error = !!(touched[name] && errors[name])
return (
<div className={classes.flex}>
<CashOut
className={classNames(classes.cashCassette, inputClassName)}
notes={notes}
editingMode={true}
width={width}
threshold={threshold}
/>
<NumberInput
name={name}
onChange={e => {
setNotes(e.target.value)
return onChange(e)
}}
onBlur={onBlur}
value={value}
error={error}
decimalPlaces={decimalPlaces}
{...props}
/>
</div>
)
}
)
export default CashCassetteInput