Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
8824ee9b
Commit
8824ee9b
authored
Sep 15, 2023
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: fix user state loader
parent
936fe5ac
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
45 deletions
+25
-45
index.tsx
web/src/router/index.tsx
+25
-45
No files found.
web/src/router/index.tsx
View file @
8824ee9b
import
{
lazy
}
from
"react"
;
import
{
lazy
}
from
"react"
;
import
{
createBrowserRouter
,
redirect
}
from
"react-router-dom"
;
import
{
createBrowserRouter
,
redirect
}
from
"react-router-dom"
;
import
App
from
"@/App"
;
import
App
from
"@/App"
;
import
{
isNullorUndefined
}
from
"@/helpers/utils"
;
import
Archived
from
"@/pages/Archived"
;
import
Archived
from
"@/pages/Archived"
;
import
DailyReview
from
"@/pages/DailyReview"
;
import
DailyReview
from
"@/pages/DailyReview"
;
import
ResourcesDashboard
from
"@/pages/ResourcesDashboard"
;
import
ResourcesDashboard
from
"@/pages/ResourcesDashboard"
;
import
Setting
from
"@/pages/Setting"
;
import
Setting
from
"@/pages/Setting"
;
import
store
from
"@/store"
;
import
{
initialGlobalState
,
initialUserState
}
from
"@/store/module"
;
import
{
initialGlobalState
,
initialUserState
}
from
"@/store/module"
;
const
Root
=
lazy
(()
=>
import
(
"@/layouts/Root"
));
const
Root
=
lazy
(()
=>
import
(
"@/layouts/Root"
));
...
@@ -35,6 +33,18 @@ const initialGlobalStateLoader = (() => {
...
@@ -35,6 +33,18 @@ const initialGlobalStateLoader = (() => {
};
};
})();
})();
const
userStateLoader
=
async
()
=>
{
try
{
const
user
=
await
initialUserState
();
if
(
!
user
)
{
return
redirect
(
"/explore"
);
}
}
catch
(
error
)
{
// do nothing.
}
return
null
;
};
const
router
=
createBrowserRouter
([
const
router
=
createBrowserRouter
([
{
{
path
:
"/"
,
path
:
"/"
,
...
@@ -55,73 +65,43 @@ const router = createBrowserRouter([
...
@@ -55,73 +65,43 @@ const router = createBrowserRouter([
{
{
path
:
"/"
,
path
:
"/"
,
element
:
<
Root
/>,
element
:
<
Root
/>,
loader
:
async
()
=>
{
try
{
await
initialUserState
();
}
catch
(
error
)
{
// do nth
}
return
null
;
},
children
:
[
children
:
[
{
{
path
:
""
,
path
:
""
,
element
:
<
Home
/>,
element
:
<
Home
/>,
loader
:
async
()
=>
{
loader
:
userStateLoader
,
const
{
user
}
=
store
.
getState
().
user
;
if
(
isNullorUndefined
(
user
))
{
return
redirect
(
"/explore"
);
}
},
},
},
{
{
path
:
"explore"
,
path
:
"explore"
,
element
:
<
Explore
/>,
element
:
<
Explore
/>,
loader
:
async
()
=>
{
try
{
await
initialUserState
();
}
catch
(
error
)
{
// do nothing.
}
return
null
;
},
},
},
{
{
path
:
"review"
,
path
:
"review"
,
element
:
<
DailyReview
/>,
element
:
<
DailyReview
/>,
loader
:
async
()
=>
{
loader
:
userStateLoader
,
const
{
user
}
=
store
.
getState
().
user
;
if
(
isNullorUndefined
(
user
))
{
return
redirect
(
"/explore"
);
}
},
},
},
{
{
path
:
"resources"
,
path
:
"resources"
,
element
:
<
ResourcesDashboard
/>,
element
:
<
ResourcesDashboard
/>,
loader
:
async
()
=>
{
loader
:
userStateLoader
,
const
{
user
}
=
store
.
getState
().
user
;
if
(
isNullorUndefined
(
user
))
{
return
redirect
(
"/explore"
);
}
},
},
},
{
{
path
:
"archived"
,
path
:
"archived"
,
element
:
<
Archived
/>,
element
:
<
Archived
/>,
loader
:
async
()
=>
{
loader
:
userStateLoader
,
const
{
user
}
=
store
.
getState
().
user
;
if
(
isNullorUndefined
(
user
))
{
return
redirect
(
"/explore"
);
}
},
},
},
{
{
path
:
"setting"
,
path
:
"setting"
,
element
:
<
Setting
/>,
element
:
<
Setting
/>,
loader
:
async
()
=>
{
loader
:
userStateLoader
,
const
{
user
}
=
store
.
getState
().
user
;
if
(
isNullorUndefined
(
user
))
{
return
redirect
(
"/explore"
);
}
},
},
},
],
],
},
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment