-
Notifications
You must be signed in to change notification settings - Fork 0
/
App.js
52 lines (47 loc) · 1.23 KB
/
App.js
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
import React, { useEffect } from 'react';
import './App.css';
import HomeScreen from './screens/HomeScreen';
import {BrowserRouter as Router,
Route, Routes} from "react-router-dom";
import LoginScreen from './screens/LoginScreen';
import { auth } from './firebase';
import { useDispatch, useSelector } from 'react-redux';
import { login, logout, selectUser } from './features/userSlice';
import ProfileScreen from './screens/ProfileScreen';
function App() {
const user = useSelector(selectUser);
const dispatch = useDispatch();
//Log in state ma rakhva mate
useEffect(()=>{
const unsubscribe = auth.onAuthStateChanged((userAuth)=>{
if(userAuth){
// console.log(userAuth);
dispatch(
login({
uid: userAuth.uid,
email: userAuth.email
})
);
}
else{
dispatch(logout());
}
});
return unsubscribe;
},[dispatch]);
return (
<div className="App">
<Router>
{!user? (
<LoginScreen/>
):(
<Routes>
<Route exact path="/profile" element={<ProfileScreen/>} />
<Route exact path="/" element={<HomeScreen />} />
</Routes>
)}
</Router>
</div>
);
}
export default App;