mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-09 05:27:57 -05:00
61 lines
1.6 KiB
TypeScript
61 lines
1.6 KiB
TypeScript
import React, { useState } from 'react';
|
|
import { Dimensions, View } from 'react-native';
|
|
import { Input } from 'react-native-elements';
|
|
import { Button, Centered, Column, Row, Text } from './ui';
|
|
import { Theme } from './ui/styleUtils';
|
|
import { useTranslation } from 'react-i18next';
|
|
|
|
export const TextEditOverlay: React.FC<EditOverlayProps> = (props) => {
|
|
const { t } = useTranslation('common');
|
|
const [value, setValue] = useState(props.value);
|
|
|
|
return (
|
|
<View style={Theme.TextEditOverlayStyles.viewContainer}>
|
|
<Centered fill>
|
|
<Column
|
|
width={Dimensions.get('screen').width * 0.8}
|
|
style={Theme.TextEditOverlayStyles.boxContainer}>
|
|
<Text weight="semibold" margin="0 0 16 0">
|
|
{props.label}
|
|
</Text>
|
|
<Input
|
|
autoFocus
|
|
value={value}
|
|
maxLength={props.maxLength}
|
|
selectionColor={Theme.Colors.Cursor}
|
|
onChangeText={setValue}
|
|
/>
|
|
<Row>
|
|
<Button
|
|
fill
|
|
type="clear"
|
|
title={t('cancel')}
|
|
onPress={dismiss}
|
|
margin="0 8 0 0"
|
|
/>
|
|
<Button
|
|
fill
|
|
title={t('save')}
|
|
onPress={() => props.onSave(value)}
|
|
/>
|
|
</Row>
|
|
</Column>
|
|
</Centered>
|
|
</View>
|
|
);
|
|
|
|
function dismiss() {
|
|
setValue(props.value);
|
|
props.onDismiss();
|
|
}
|
|
};
|
|
|
|
interface EditOverlayProps {
|
|
isVisible: boolean;
|
|
label: string;
|
|
value: string;
|
|
onSave: (value: string) => void;
|
|
onDismiss: () => void;
|
|
maxLength?: number | undefined;
|
|
}
|