-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp.jsx
More file actions
35 lines (31 loc) · 838 Bytes
/
App.jsx
File metadata and controls
35 lines (31 loc) · 838 Bytes
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
import { useState, useEffect } from 'react'
import { useDispatch } from 'react-redux'
import authService from './appwrite/auth'
import { login, logout } from './Store/AuthSlice'
import { Outlet } from 'react-router-dom'
import { Header, Footer } from './Components'
function App() {
const [loading, setLoading] = useState(true)
const dispatch = useDispatch()
useEffect(() => {
authService.getcurrentUser()
.then((userData) => {
if (userData) {
dispatch(login(userData))
} else {
dispatch(logout())
}
})
.finally(() => setLoading(false))
}, [])
return !loading ? (
<div className='min-h-screen flex flex-col'>
<Header />
<main className='flex-grow'>
<Outlet />
</main>
<Footer />
</div>
) : null
}
export default App