From 63bb8fda2d28e11d7e60808e1e86384d48ec1b47 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Tue, 2 Jul 2024 14:43:34 -0700 Subject: Improve textinput performance in login and account creation (#4673) * Change login form to use uncontrolled inputs * Debounce state updates in account creation to reduce flicker * Refactor state-control of account creation forms to fix perf without relying on debounces * Remove canNext and enforce is13 * Re-add live validation to signup form (#4720) * Update validation in real time * Disable on invalid * Clear server error on typing * Remove unnecessary clearing of error --------- Co-authored-by: Dan Abramov --- src/screens/Signup/BackNextButtons.tsx | 73 ++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/screens/Signup/BackNextButtons.tsx (limited to 'src/screens/Signup/BackNextButtons.tsx') diff --git a/src/screens/Signup/BackNextButtons.tsx b/src/screens/Signup/BackNextButtons.tsx new file mode 100644 index 000000000..73bd428c8 --- /dev/null +++ b/src/screens/Signup/BackNextButtons.tsx @@ -0,0 +1,73 @@ +import React from 'react' +import {View} from 'react-native' +import {msg, Trans} from '@lingui/macro' +import {useLingui} from '@lingui/react' + +import {atoms as a} from '#/alf' +import {Button, ButtonIcon, ButtonText} from '#/components/Button' +import {Loader} from '#/components/Loader' + +export interface BackNextButtonsProps { + hideNext?: boolean + showRetry?: boolean + isLoading: boolean + isNextDisabled?: boolean + onBackPress: () => void + onNextPress?: () => void + onRetryPress?: () => void +} + +export function BackNextButtons({ + hideNext, + showRetry, + isLoading, + isNextDisabled, + onBackPress, + onNextPress, + onRetryPress, +}: BackNextButtonsProps) { + const {_} = useLingui() + + return ( + + + {!hideNext && + (showRetry ? ( + + ) : ( + + ))} + + ) +} -- cgit 1.4.1