diff options
Diffstat (limited to 'gui/src/renderer')
| -rw-r--r-- | gui/src/renderer/components/RedeemVoucher.tsx | 14 | ||||
| -rw-r--r-- | gui/src/renderer/components/RedeemVoucherStyles.tsx | 3 |
2 files changed, 12 insertions, 5 deletions
diff --git a/gui/src/renderer/components/RedeemVoucher.tsx b/gui/src/renderer/components/RedeemVoucher.tsx index 29a84f868c..290506309e 100644 --- a/gui/src/renderer/components/RedeemVoucher.tsx +++ b/gui/src/renderer/components/RedeemVoucher.tsx @@ -106,9 +106,9 @@ export function RedeemVoucherInput() { const { value, setValue, onSubmit, submitting, response } = useContext(RedeemVoucherContext); const disabled = submitting || response?.type === 'success'; - const onChange = useCallback( - (event: React.ChangeEvent<HTMLInputElement>) => { - setValue(event.target.value); + const handleChange = useCallback( + (value: string) => { + setValue(value); }, [setValue], ); @@ -124,10 +124,16 @@ export function RedeemVoucherInput() { return ( <StyledInput + allowedCharacters="[A-Z0-9]" + separator="-" + uppercaseOnly + groupLength={4} + maxLength={16} + addTrailingSeparator disabled={disabled} value={value} placeholder={'XXXX-XXXX-XXXX-XXXX'} - onChange={onChange} + handleChange={handleChange} onKeyPress={onKeyPress} /> ); diff --git a/gui/src/renderer/components/RedeemVoucherStyles.tsx b/gui/src/renderer/components/RedeemVoucherStyles.tsx index cd7d0cc7eb..e710bfe5bf 100644 --- a/gui/src/renderer/components/RedeemVoucherStyles.tsx +++ b/gui/src/renderer/components/RedeemVoucherStyles.tsx @@ -1,5 +1,6 @@ import styled from 'styled-components'; import { colors } from '../../config.json'; +import FormattableTextInput from './FormattableTextInput'; import ImageView from './ImageView'; export const StyledLabel = styled.span({ @@ -11,7 +12,7 @@ export const StyledLabel = styled.span({ marginBottom: '9px', }); -export const StyledInput = styled.input({ +export const StyledInput = styled(FormattableTextInput)({ flex: 1, overflow: 'hidden', padding: '14px', |
