import React from 'react';
import {
ModalContent,
ModalFooter,
ModalHeader,
ModalBody,
ModalOverlay,
} from './style';
import { useForm } from '../../hooks/useForm';
import MaskedInput from 'react-text-mask';
import createNumberMask from 'text-mask-addons/dist/createNumberMask';
import { handleTransaction } from '../../utils/api';
import { replaceCommaWithDot } from '../../utils/informationFormatters';
const defaultMaskOptions = {
prefix: 'R$',
suffix: '',
includeThousandsSeparator: true,
thousandsSeparatorSymbol: '.',
allowDecimal: true,
decimalSymbol: ',',
decimalLimit: 2,
integerLimit: 7,
allowNegative: false,
allowLeadingZeroes: false,
};
const CurrencyInput = ({ maskOptions, ...inputProps }) => {
const currencyMask = createNumberMask({
...defaultMaskOptions,
...maskOptions,
});
return ;
};
CurrencyInput.defaultProps = {
inputMode: 'numeric',
maskOptions: {},
};
function Modal(props) {
const [form, handleFormChange, resetForm] = useForm({
amount: undefined,
category: null,
});
if (!props.show) {
return null;
}
const handleTransactionFormSubmit = async (event) => {
event.preventDefault();
const formattedAmount = replaceCommaWithDot(form.amount).replace('R$', '');
const transaction = {
amount: +formattedAmount,
category: form.category,
user_id: props.userId,
};
await handleTransaction(transaction);
window.location.reload(false);
};
return (
e.stopPropagation()}>
Realizar transação
);
}
export default Modal;