import React, {useState} from 'react' import { StyleSheet, TouchableOpacity, View, useWindowDimensions, } from 'react-native' import Svg, {Line} from 'react-native-svg' import {observer} from 'mobx-react-lite' import {Signin} from '../com/login/Signin' import {Logo} from '../com/login/Logo' import {CreateAccount} from '../com/login/CreateAccount' import {Text} from '../com/util/text/Text' import {s, colors} from '../lib/styles' enum ScreenState { SigninOrCreateAccount, Signin, CreateAccount, } const SigninOrCreateAccount = ({ onPressSignin, onPressCreateAccount, }: { onPressSignin: () => void onPressCreateAccount: () => void }) => { const winDim = useWindowDimensions() const halfWidth = winDim.width / 2 return ( <> Bluesky [ private beta ] Create a new account or Sign in ) } export const Login = observer( (/*{navigation}: RootTabsScreenProps<'Login'>*/) => { const [screenState, setScreenState] = useState( ScreenState.SigninOrCreateAccount, ) return ( {screenState === ScreenState.SigninOrCreateAccount ? ( setScreenState(ScreenState.Signin)} onPressCreateAccount={() => setScreenState(ScreenState.CreateAccount) } /> ) : undefined} {screenState === ScreenState.Signin ? ( setScreenState(ScreenState.SigninOrCreateAccount) } /> ) : undefined} {screenState === ScreenState.CreateAccount ? ( setScreenState(ScreenState.SigninOrCreateAccount) } /> ) : undefined} ) }, ) const styles = StyleSheet.create({ outer: { flex: 1, }, hero: { flex: 2, justifyContent: 'center', }, title: { textAlign: 'center', color: colors.white, fontSize: 68, fontWeight: 'bold', }, subtitle: { textAlign: 'center', color: colors.white, fontSize: 18, }, btn: { borderWidth: 1, borderColor: colors.white, borderRadius: 10, paddingVertical: 16, marginBottom: 20, marginHorizontal: 20, backgroundColor: colors.blue3, }, btnLabel: { textAlign: 'center', color: colors.white, fontSize: 18, fontWeight: 'bold', }, or: { marginBottom: 20, }, orLine: { position: 'absolute', top: 10, }, orLabel: { textAlign: 'center', color: colors.white, fontSize: 16, }, })