diff --git a/src/components/AccountList.tsx b/src/components/AccountList.tsx index 5132efe22c..e33fb981fd 100644 --- a/src/components/AccountList.tsx +++ b/src/components/AccountList.tsx @@ -182,7 +182,11 @@ function AccountItem({ {isCurrentAccount ? ( - + TODO diff --git a/src/screens/Authentication/PasswordUpdatedScreen.tsx b/src/screens/Authentication/PasswordUpdatedScreen.tsx index 631d6642a0..fcfad9b896 100644 --- a/src/screens/Authentication/PasswordUpdatedScreen.tsx +++ b/src/screens/Authentication/PasswordUpdatedScreen.tsx @@ -3,6 +3,7 @@ import { type NativeStackScreenProps, } from '#/lib/routes/types' import {Logo} from '#/view/icons/Logo' +import {atoms as a} from '#/alf' import {Text} from '#/components/Typography' import * as Layout from './components/Layout' @@ -21,7 +22,7 @@ export function PasswordUpdatedScreenInner() { - + TODO diff --git a/src/screens/Authentication/SetNewPasswordScreen.tsx b/src/screens/Authentication/SetNewPasswordScreen.tsx index dd441ca849..03c1cdde9c 100644 --- a/src/screens/Authentication/SetNewPasswordScreen.tsx +++ b/src/screens/Authentication/SetNewPasswordScreen.tsx @@ -3,6 +3,7 @@ import { type NativeStackScreenProps, } from '#/lib/routes/types' import {Logo} from '#/view/icons/Logo' +import {atoms as a} from '#/alf' import {Text} from '#/components/Typography' import * as Layout from './components/Layout' @@ -21,7 +22,7 @@ export function SetNewPasswordScreenInner() { - + TODO diff --git a/src/screens/Authentication/SignInScreen.tsx b/src/screens/Authentication/SignInScreen.tsx index 8b258a0e17..709719b037 100644 --- a/src/screens/Authentication/SignInScreen.tsx +++ b/src/screens/Authentication/SignInScreen.tsx @@ -1,8 +1,10 @@ import {useEffect, useRef, useState} from 'react' +import {KeyboardAvoidingView} from 'react-native-keyboard-controller' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {DEFAULT_SERVICE} from '#/lib/constants' +import {useEnableKeyboardControllerScreen} from '#/lib/hooks/useEnableKeyboardController' import { type AuthNavigatorParams, type NativeStackScreenProps, @@ -87,6 +89,8 @@ export function SignInScreenInner({ failedAttemptCountRef.current += 1 } + useEnableKeyboardControllerScreen(true) + return ( @@ -96,34 +100,38 @@ export function SignInScreenInner({ - - - Log in - - - - - New to Bluesky?{' '} - - Create account - - - - + + + + Log in + + + + + New to Bluesky?{' '} + + Create account + + + + + ) } diff --git a/src/screens/Authentication/SignUpCaptchaScreen.tsx b/src/screens/Authentication/SignUpCaptchaScreen.tsx index c912fda71b..951411d1ba 100644 --- a/src/screens/Authentication/SignUpCaptchaScreen.tsx +++ b/src/screens/Authentication/SignUpCaptchaScreen.tsx @@ -3,6 +3,7 @@ import { type NativeStackScreenProps, } from '#/lib/routes/types' import {Logo} from '#/view/icons/Logo' +import {atoms as a} from '#/alf' import {Text} from '#/components/Typography' import * as Layout from './components/Layout' @@ -21,7 +22,7 @@ export function SignUpCaptchaScreenInner() { - + TODO diff --git a/src/screens/Authentication/SignUpHandleScreen.tsx b/src/screens/Authentication/SignUpHandleScreen.tsx index 54fb01b586..1424987428 100644 --- a/src/screens/Authentication/SignUpHandleScreen.tsx +++ b/src/screens/Authentication/SignUpHandleScreen.tsx @@ -3,6 +3,7 @@ import { type NativeStackScreenProps, } from '#/lib/routes/types' import {Logo} from '#/view/icons/Logo' +import {atoms as a} from '#/alf' import {Text} from '#/components/Typography' import * as Layout from './components/Layout' @@ -21,7 +22,7 @@ export function SignUpHandleScreenInner() { - + TODO diff --git a/src/screens/Authentication/SignUpInfoScreen.tsx b/src/screens/Authentication/SignUpInfoScreen.tsx index fc404b94f8..5b78cb805e 100644 --- a/src/screens/Authentication/SignUpInfoScreen.tsx +++ b/src/screens/Authentication/SignUpInfoScreen.tsx @@ -1,9 +1,21 @@ +import {useState} from 'react' +import {View} from 'react-native' +import {KeyboardAvoidingView} from 'react-native-keyboard-controller' +import {useSafeAreaInsets} from 'react-native-safe-area-context' +import {msg, Trans} from '@lingui/macro' +import {useLingui} from '@lingui/react' + +import {useEnableKeyboardControllerScreen} from '#/lib/hooks/useEnableKeyboardController' import { type AuthNavigatorParams, type NativeStackScreenProps, } from '#/lib/routes/types' import {Logo} from '#/view/icons/Logo' -import {Text} from '#/components/Typography' +import {atoms as a, native, platform, tokens} from '#/alf' +import {Button, ButtonText} from '#/components/Button' +import * as TextField from '#/components/forms/TextField' +import {Envelope_Stroke2_Corner0_Rounded as EnvelopeIcon} from '#/components/icons/Envelope' +import {Policies} from '../Signup/StepInfo/Policies' import * as Layout from './components/Layout' type Props = NativeStackScreenProps @@ -12,6 +24,13 @@ export function SignUpInfoScreen({}: Props) { } export function SignUpInfoScreenInner() { + const {_} = useLingui() + const [email, setEmail] = useState('') + + const {bottom} = useSafeAreaInsets() + + useEnableKeyboardControllerScreen(true) + return ( @@ -21,9 +40,104 @@ export function SignUpInfoScreenInner() { - - TODO - + + + + Email + + + + + { + // emailValueRef.current = value.trim() + // if (hasWarnedEmail) { + // setHasWarnedEmail(false) + // } + // if ( + // state.errorField === 'email' && + // value.trim().length > 0 && + // EmailValidator.validate(value.trim()) + // ) { + // dispatch({type: 'clearError'}) + // } + setEmail(value) + }} + label={_(msg`name@email.com`)} + autoFocus + autoCapitalize="none" + autoComplete="email" + keyboardType="email-address" + returnKeyType="next" + submitBehavior={native('submit')} + onSubmitEditing={ + // TODO + () => console.log('submit') + } + /> + + + + + + + + ) } diff --git a/src/screens/Authentication/components/SignInForm.tsx b/src/screens/Authentication/components/SignInForm.tsx index 31b69bb513..4bf0c8e3d3 100644 --- a/src/screens/Authentication/components/SignInForm.tsx +++ b/src/screens/Authentication/components/SignInForm.tsx @@ -172,7 +172,7 @@ export function SignInForm({ } return ( - + Username or email address @@ -245,7 +245,7 @@ export function SignInForm({ accessibilityHint={_(msg`Opens password reset form`)} variant="ghost" color="secondary"> - + Forgot password?