-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp.js
More file actions
80 lines (71 loc) · 1.94 KB
/
App.js
File metadata and controls
80 lines (71 loc) · 1.94 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
import React , {lazy, Suspense, useState} from 'react';
import ReactDOM from 'react-dom/client';
import Header from './src/component/Header';
import Footer from './src/component/Footer';
import Body from './src/component/Body';
import About from './src/component/About.js';
import Error from './src/component/Error.js';
import { createBrowserRouter, Outlet, RouterProvider} from 'react-router-dom';
import Contact from './src/component/Contact.js';
import RestaurantMenu from './src/component/RestaurantMenu.js';
import { useEffect } from 'react';
import UserContext from './utils/UserContext.js';
import { Provider } from 'react-redux';
import appStore from './utils/appStore.js';
import Cart from './src/component/Cart.js';
const Grocery = lazy(()=>import('./src/component/Grocery.js'));
const Applayout = () => {
const [UserName , setUserName] = useState();
useEffect(()=>{
const data = {
name : "Satyam Kumar",
};
setUserName(data.name)
},[]);
return (
<Provider store = {appStore}>
<UserContext.Provider value={{loggedInUser : UserName , setUserName}}>
<div className=''>
<Header />
<Outlet/>
</div>
<Footer />
</UserContext.Provider>
</Provider>
);
};
const appRouter = createBrowserRouter([
{
path: "/",
element: <Applayout />,
errorElement:<Error/>,
children : [
{
index: true,
element: <Body />,
},
{
path: "/about",
element: <About />,
},
{
path: "/Contact Us",
element: <Contact />,
},
{
path: "/grocery",
element: <Suspense fallback={<h1>Loading....</h1>}><Grocery /></Suspense>,
},
{
path: "/restraunt/:resId",
element:<RestaurantMenu/>,
},
{
path : "/cart",
element: <Cart/>,
},
],
},
]);
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<RouterProvider router={appRouter} />);