UNPKG

react-native-fbui-auth

Version:
175 lines (165 loc) 4.43 kB
/* eslint-disable react-native/no-inline-styles */ /** * Sample React Native App * https://github.com/facebook/react-native * * @format * @flow strict-local */ import React from 'react'; import type {Node} from 'react'; import { SafeAreaView, ScrollView, StatusBar, StyleSheet, Text, useColorScheme, View, Button, } from 'react-native'; import { Colors, DebugInstructions, Header, LearnMoreLinks, ReloadInstructions, } from 'react-native/Libraries/NewAppScreen'; import Auth from 'react-native-firebaseui-auth'; const Section = ({children, title}): Node => { const isDarkMode = useColorScheme() === 'dark'; return ( <View style={styles.sectionContainer}> <Text style={[ styles.sectionTitle, { color: isDarkMode ? Colors.white : Colors.black, }, ]}> {title} </Text> <Text style={[ styles.sectionDescription, { color: isDarkMode ? Colors.light : Colors.dark, }, ]}> {children} </Text> </View> ); }; const App: () => Node = () => { const isDarkMode = useColorScheme() === 'dark'; const backgroundStyle = { backgroundColor: isDarkMode ? Colors.darker : Colors.lighter, }; return ( <SafeAreaView style={backgroundStyle}> <StatusBar barStyle={isDarkMode ? 'light-content' : 'dark-content'} /> <ScrollView contentInsetAdjustmentBehavior="automatic" style={backgroundStyle}> <Header /> <View style={{alignItems: 'center'}}> <Text style={{fontWeight: 'bold', fontSize: 24}}> Firebase UI Auth Example </Text> <View style={{ flexDirection: 'row', alignItems: 'center', flexWrap: 'wrap', justifyContent: 'center', padding: 5, }}> <Button onPress={() => { const config = { providers: ['email', 'phone'], customizations: ['auth_picker', 'theme', 'logo'], tosUrl: 'https://example.com/tos.htm', privacyPolicyUrl: 'https://example.com/privacypolicy.htm', }; Auth.signIn(config) .then(user => console.log(user)) .catch(err => console.log(err)); }} title="SignIn" /> <Text> / </Text> <Button onPress={() => { Auth.getCurrentUser().then(user => console.log(user)); }} title="CurrentUser" /> <Text> / </Text> <Button onPress={() => { Auth.signOut().then(res => console.log(res)); }} title="SignOut" /> </View> <View style={{ flexDirection: 'row', alignItems: 'center', flexWrap: 'wrap', justifyContent: 'center', padding: 5, }}> <Button onPress={() => { Auth.deleteUser().then(res => console.log(res)); }} title="Delete" /> </View> <Text>Check console log</Text> </View> <View style={{ backgroundColor: isDarkMode ? Colors.black : Colors.white, }}> <Section title="Step One"> Edit <Text style={styles.highlight}>App.js</Text> to change this screen and then come back to see your edits. </Section> <Section title="See Your Changes"> <ReloadInstructions /> </Section> <Section title="Debug"> <DebugInstructions /> </Section> <Section title="Learn More"> Read the docs to discover what to do next: </Section> <LearnMoreLinks /> </View> </ScrollView> </SafeAreaView> ); }; const styles = StyleSheet.create({ sectionContainer: { marginTop: 32, paddingHorizontal: 24, }, sectionTitle: { fontSize: 24, fontWeight: '600', }, sectionDescription: { marginTop: 8, fontSize: 18, fontWeight: '400', }, highlight: { fontWeight: '700', }, }); export default App;