@@ -6,20 +6,16 @@ import GlobalErrorBoundary from "./GlobalErrorBoundary";
6
6
import PrivateRoute from "./components/common/route/PrivateRoute" ;
7
7
import PublicRoute from "./components/common/route/PublicRoute" ;
8
8
9
- const createPrivateRouter = ( children : RouteObject [ ] ) => {
10
- const privateRoute = {
11
- element : < PrivateRoute /> ,
12
- children,
13
- } ;
14
- return privateRoute ;
15
- } ;
9
+ type RouteType = "PRIVATE" | "PUBLIC" ;
16
10
17
- const createPublicRouter = ( children : RouteObject [ ] ) => {
18
- const publicRoute = {
19
- element : < PublicRoute /> ,
20
- children,
21
- } ;
22
- return publicRoute ;
11
+ const createAuthCheckRouter = ( routeType : RouteType , children : RouteObject [ ] ) => {
12
+ const authCheckRouter = children . map ( ( child : RouteObject ) => {
13
+ return {
14
+ element : routeType === "PRIVATE" ? < PrivateRoute /> : < PublicRoute /> ,
15
+ children : [ child ] ,
16
+ } ;
17
+ } ) ;
18
+ return authCheckRouter ;
23
19
} ;
24
20
25
21
const router = createBrowserRouter ( [
@@ -35,25 +31,21 @@ const router = createBrowserRouter([
35
31
index : true ,
36
32
element : < TempHomepage /> ,
37
33
} ,
38
- createPublicRouter ( [
34
+ ... createAuthCheckRouter ( "PUBLIC" , [
39
35
{
40
36
path : ROUTER_URL . LOGIN ,
41
37
element : < LoginPage /> ,
42
38
} ,
43
- ] ) ,
44
- createPublicRouter ( [
45
39
{
46
40
path : ROUTER_URL . SIGNUP ,
47
41
element : < SignupPage /> ,
48
42
} ,
49
- ] ) ,
50
- createPublicRouter ( [
51
43
{
52
44
path : `${ ROUTER_URL . AUTH } /*` ,
53
45
element : < AuthPage /> ,
54
46
} ,
55
47
] ) ,
56
- createPrivateRouter ( [
48
+ ... createAuthCheckRouter ( "PRIVATE" , [
57
49
{
58
50
path : ROUTER_URL . PROJECTS ,
59
51
element : < ProjectsPage /> ,
0 commit comments