import React, { useState } from 'react'; import Dialog, { DialogContent, DialogFooter, DialogButton } from '@material/react-dialog'; import { GetMeasure, Convert, Measure } from 'services/measurements'; import Button from 'components/Button'; import '@material/react-dialog/dist/dialog.min.css'; import './styles.scss'; type Data = { unit: string, quantity: number } interface DialogProps { measure: Data, onConvert: (result: Data) => void } const CBKDialog = ({measure, onConvert}: DialogProps) => { const { name, values } = GetMeasure(measure.unit); const [ isOpen, setOpen ] = useState(false); const [ result, setResult ] = useState({ unit: measure.unit, quantity: measure.quantity }) const convert = (qty: number, from: string, to: string) => { setResult({unit: to, quantity: Convert(qty, from, to, name as Measure)}) } return ( <> setOpen(true)} disabled={measure.unit === ''} className='cbk-convert__button' > { if (action === 'confirm') { onConvert(result) } setOpen(false) }} open={isOpen} > Converting {measure.quantity + ' ' + measure.unit} to: { convert(measure.quantity, measure.unit, e.target.value); }}> { values.map(option => ( {option} )) } {`${result.quantity} ${result.unit}`} cancel ok > ) } export default CBKDialog;
Converting {measure.quantity + ' ' + measure.unit} to: