import React, { useEffect } from 'react';
import { useSelector } from 'react-redux';
import { useTranslation } from 'react-i18next';
import { Grid, InputAdornment, Divider } from '@material-ui/core';
import { useValidation, LightenColor, fromUsersSelectors } from '@energyweb/origin-ui-core';
import { FormInput, FormikDatePickerWithMonthArrowsFilled } from '../Form';
import { useOriginConfiguration } from '../../utils/configuration';
export const OneTimePurchase = (props) => {
const { fieldDisabled, currency, setFieldValue, energyUnit, setValidationSchema } = props;
const { t } = useTranslation();
const { Yup } = useValidation();
const user = useSelector(fromUsersSelectors.getUserOffchain);
const originConfiguration = useOriginConfiguration();
const originBgColor = originConfiguration?.styleConfig?.MAIN_BACKGROUND_COLOR;
const bgColorLighten = LightenColor(originBgColor, 5);
const VALIDATION_SCHEMA = Yup.object().shape({
generationDateStart: Yup.date().label(t('exchange.properties.generationDateStart')),
generationDateEnd: Yup.date().label(t('exchange.properties.generationDateEnd')),
energy: Yup.number().positive().integer().label(t('exchange.properties.energy')),
price: Yup.number().positive().min(0.01).label(t('exchange.properties.price'))
});
useEffect(() => {
setValidationSchema(VALIDATION_SCHEMA);
}, []);
return (
<>
{energyUnit}
)
}}
/>
{currency}
}}
wrapperProps={{
onBlur: (e) => {
const parsedValue = parseFloat((e.target as any)?.value);
if (!isNaN(parsedValue) && parsedValue > 0) {
setFieldValue('price', parsedValue.toFixed(2));
}
}
}}
/>
>
);
};