-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathApp.js
More file actions
88 lines (83 loc) · 2.77 KB
/
Copy pathApp.js
File metadata and controls
88 lines (83 loc) · 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import React, { useState, useEffect } from "react";
import { NavigationContainer } from "@react-navigation/native";
import { createStackNavigator } from "@react-navigation/stack";
import Home from "./screens/Home";
import ToDoList from "./screens/ToDoList";
import EditList from "./screens/EditList";
import Login from "./screens/Login";
import Settings from "./screens/Settings";
import Colors from "./constants/Colors";
import firebase from "firebase/app";
import "firebase/firestore";
const Stack = createStackNavigator();
const AuthStack = createStackNavigator();
const AuthScreens = () => {
return (
<AuthStack.Navigator>
<AuthStack.Screen name="Login" component={Login} />
</AuthStack.Navigator>
);
};
const Screens = () => {
return (
<Stack.Navigator>
<Stack.Screen name="Fire App" component={Home} />
<Stack.Screen name="Settings" component={Settings} />
<Stack.Screen
name="ToDoList"
component={ToDoList}
options={({ route }) => {
return {
title: route.params.title,
headerStyle: {
backgroundColor: route.params.color,
},
headerTintColor: "white",
};
}}
/>
<Stack.Screen
name="Edit"
component={EditList}
options={({ route }) => {
return {
title: route.params.title
? `Edit ${route.params.title} list`
: "Create new list",
headerStyle: {
backgroundColor: route.params.color || Colors.blue,
},
headerTintColor: "white",
};
}}
/>
</Stack.Navigator>
);
};
export default function App() {
const [isAuthenticated, setIsAuthenticated] = useState(false);
useEffect(() => {
if (firebase.auth().currentUser) {
setIsAuthenticated(true);
}
firebase.auth().onAuthStateChanged((user) => {
console.log("Checking auth state...");
if (user) {
setIsAuthenticated(true);
} else {
setIsAuthenticated(false);
}
});
}, []);
return (
<NavigationContainer>
{isAuthenticated ? <Screens /> : <AuthScreens />}
</NavigationContainer>
);
}
//const firebaseConfig = YOUR_FIREBASE_CONFIG;
if (!firebase.apps.length) {
firebase.initializeApp(firebaseConfig);
} else {
firebase.app(); // if already initialized, use that one
}