@@ -2,6 +2,7 @@ import React from 'react';
22import { AxiosInterceptor } from './client' ;
33import Container from "@mui/material/Container" ;
44import ErrorBoundary from "./components/error-boundary" ;
5+ import Login from "./routes/login" ;
56import { Outlet } from "react-router-dom" ;
67import TiledAppBar from "./components/tiled-app-bar" ;
78import { useEffect , useState } from "react" ;
@@ -10,10 +11,8 @@ import { SettingsContext, emptySettings } from "./context/settings"
1011import { BrowserRouter , Route , Routes } from "react-router-dom" ;
1112import { Suspense , lazy } from "react" ;
1213import Skeleton from "@mui/material/Skeleton" ;
13-
14- const Browse = lazy ( ( ) => import ( "./routes/browse" ) ) ;
1514import UserContext , { userObjectContext } from './context/user' ;
16-
15+ const Browse = lazy ( ( ) => import ( "./routes/browse" ) ) ;
1716
1817
1918function MainContainer ( ) {
@@ -27,31 +26,28 @@ function MainContainer() {
2726 )
2827}
2928
30- // attempt to do user contextg for authentication
31- const [ userContext , setUserContext ] = React . useState ( userObjectContext )
3229
33- // Create funtion to update the current context, prioritizing new over old changed properties
34- const updateContext = ( contextUpdates = { } ) =>
35- setUserContext ( currentContext => ( { ...currentContext , ...contextUpdates } ) )
30+ // This is set in vite.config.js. It is the base path of the ui.
31+ const basename = import . meta. env . BASE_URL ;
3632
37- // useEffect prevents the entire context for rerendering when component rerenders
38- React . useEffect ( ( ) => {
39- if ( userContext ?. updateUser === userUpdateFunctionTemplate ) {
40- updateContext ( { < / AxiosInterceptor >
41- </UserContext. Provider >
42- updateStatus : ( value : string ) => updateContext ( { status : value } ) ,
43- } )
44- }
45- } , [ userContext ?. updateUser ] )
33+ function App ( ) {
34+ const [ userContext , setUserContext ] = React . useState ( userObjectContext )
35+ const [ user , setUser ] = React . useState ( { user : "" } ) ;
36+ const value = { user, setUser } ;
37+ // Create function to update the current context, prioritizing new over old changed properties
38+ const updateContext = ( contextUpdates = { } ) =>
39+ setUserContext ( currentContext => ( { ...currentContext , ...contextUpdates } ) )
4640
47- // end authentication
41+ // useEffect prevents the entire context for rerendering when component rerenders
42+ React . useEffect ( ( ) => {
4843
44+ updateContext ( {
45+ updateStatus : ( value : string ) => updateContext ( { user : value } ) ,
46+ } )
47+
48+ } , [ ] )
4949
50- // This is set in vite.config.js. It is the base path of the ui.
51- const basename = import . meta. env . BASE_URL ;
5250
53- function App ( ) {
54-
5551 const [ settings , setSettings ] = useState ( emptySettings )
5652 useEffect ( ( ) => {
5753 const controller = new AbortController ( )
@@ -62,26 +58,16 @@ function App() {
6258 initSettingsContext ( )
6359 } , [ ] ) ;
6460 return (
65- < Container >
66- { /* <UserContext.Provider value={user.user} > */ }
67- < AxiosInterceptor >
68- < TiledAppBar />
69- < ErrorBoundary >
70- < Outlet />
71- </ ErrorBoundary >
72- </ AxiosInterceptor >
73- { /* </UserContext.Provider> */ }
74- </ Container >
75- ) ;
7661 < UserContext . Provider value = { userContext } >
77- < AxiosInterceptor >
78- < SettingsContext . Provider value = { settings } >
79- < BrowserRouter basename = { basename } >
80- < ErrorBoundary >
81- < Suspense fallback = { < Skeleton variant = "rectangular" /> } >
62+ < SettingsContext . Provider value = { settings } >
63+ < BrowserRouter basename = { basename } >
64+ < ErrorBoundary >
65+ < Suspense fallback = { < Skeleton variant = "rectangular" /> } >
66+ < AxiosInterceptor >
8267 < Routes >
8368 < Route path = "/" element = { < MainContainer /> } >
8469 < Route path = "/browse/*" element = { < Browse /> } />
70+ < Route path = "/login" element = { < Login /> } />
8571 </ Route >
8672 < Route
8773 path = "*"
@@ -92,13 +78,13 @@ function App() {
9278 }
9379 />
9480 </ Routes >
95- </ Suspense >
96- </ ErrorBoundary >
97- </ BrowserRouter >
98- </ SettingsContext . Provider >
99- </ AxiosInterceptor >
100- </ UserContext . Provider >
81+ </ AxiosInterceptor >
82+ </ Suspense >
83+ </ ErrorBoundary >
84+ </ BrowserRouter >
85+ </ SettingsContext . Provider >
86+ </ UserContext . Provider >
10187 )
10288}
10389
104- export default App ;
90+ export default App ;
0 commit comments