From c036c0a265b18b14ddee1abe29d92bc2e3177e33 Mon Sep 17 00:00:00 2001 From: Noel Simbolon <84700640+noelsimbolon@users.noreply.github.com> Date: Fri, 17 Nov 2023 03:02:19 +0700 Subject: [PATCH] resolve merge conflicts --- src/TonalityApp.tsx | 21 +++++------ src/routes/ProtectedRoute.tsx | 18 +++++---- src/routes/RenderRoutes.tsx | 69 ++++++++++++++++++++--------------- 3 files changed, 60 insertions(+), 48 deletions(-) diff --git a/src/TonalityApp.tsx b/src/TonalityApp.tsx index 7a6f9b8..16bda2f 100644 --- a/src/TonalityApp.tsx +++ b/src/TonalityApp.tsx @@ -1,21 +1,20 @@ -import './App.css' -import React from 'react' +import "./App.css"; +import React from "react"; import { RenderRoutes } from "@/routes/RenderRoutes.tsx"; -import {routes} from "@/routes/routes.ts"; +import { routes } from "@/routes/routes.ts"; import AuthProvider from "@/context/AuthProvider.tsx"; -export const AuthContext = React.createContext(null) +export const AuthContext = React.createContext(null); -export const useAuth = () => React.useContext(AuthContext) +export const useAuth = () => React.useContext(AuthContext); -export const Routes = RenderRoutes(routes) +export const Routes: React.ReactNode = RenderRoutes(routes); const TonalityApp = () => { - return ( <AuthProvider> - <Routes/> + <Routes /> </AuthProvider> - ) -} -export default TonalityApp + ); +}; +export default TonalityApp; diff --git a/src/routes/ProtectedRoute.tsx b/src/routes/ProtectedRoute.tsx index c1e81a4..e5a0107 100644 --- a/src/routes/ProtectedRoute.tsx +++ b/src/routes/ProtectedRoute.tsx @@ -1,9 +1,13 @@ -import {Navigate, Outlet,} from 'react-router-dom'; -import {useAuth} from "@/TonalityApp.tsx"; +import { Navigate, Outlet } from "react-router-dom"; +import { useAuth } from "@/TonalityApp.tsx"; -const ProtectedRoute = ({isPublic}) => { - const isValidUser : boolean = useAuth().token === null; - return (isValidUser || isPublic) ? <Outlet/> : <Navigate to='/login'/> -} +const ProtectedRoute = ({ isPublic }) => { + const isValidUser: boolean = useAuth().token === null; + return isValidUser || isPublic ? <Outlet /> : <Navigate to="/login" />; +}; -export default ProtectedRoute; \ No newline at end of file +const ProtectedRoute = ({ isPublic, isAuthorized }) => { + return isPublic || isAuthorized ? <Outlet /> : <Navigate to="/login" />; +}; + +export default ProtectedRoute; diff --git a/src/routes/RenderRoutes.tsx b/src/routes/RenderRoutes.tsx index 5e4cf51..2c275da 100644 --- a/src/routes/RenderRoutes.tsx +++ b/src/routes/RenderRoutes.tsx @@ -1,43 +1,52 @@ -import React from 'react'; -import {Route, Routes} from 'react-router-dom'; +import React from "react"; +import { Route, Routes } from "react-router-dom"; import ProtectedRoute from "@/routes/ProtectedRoute.tsx"; -import {generateFlattenRoutes} from "@/lib/utils.ts"; -export const RenderRoutes : React.FC = (mainRoutes) => { - return ({isAuthorized}) => { - const layouts = mainRoutes.map(({layout: Layout, routes}, index) => { +import { generateFlattenRoutes } from "@/lib/utils.ts"; + +export const RenderRoutes: React.FC = (mainRoutes) => { + return ({ isAuthorized }) => { + const layouts = mainRoutes.map(({ layout: Layout, routes }, index) => { const subRoutes = generateFlattenRoutes(routes); - subRoutes.map(({component: Component, path, name}) => { - console.log('component', Component) - console.log('path', path) - console.log('name', name) - }) + subRoutes.map(({ component: Component, path, name }) => { + console.log("component", Component); + console.log("path", path); + console.log("name", name); + }); return ( - <Route key={index} element={<Layout/>}> - {subRoutes.map(({component: Component, path, name, isPublic}, index) => { - const isPublics : boolean = typeof isPublic === 'boolean' ? isPublic : false; - const componentFound = Component !== undefined; - if (!componentFound) return null; + <Route key={index} element={<Layout />}> + {subRoutes.map( + ({ component: Component, path, name, isPublic }, index) => { + const isPublics: boolean = + typeof isPublic === "boolean" ? isPublic : false; + const componentFound = Component !== undefined; + if (!componentFound) return null; - return ( - (<Route key={index} element={<ProtectedRoute isPublic={isPublics} isAuthorized={isAuthorized}/>}>) - && Component - && path - && (<Route key={name} element={<Component/>} path={path}/>) - && (</Route>) - ) - })} + return ( + <Route + key={index} + element={ + <ProtectedRoute + isPublic={isPublics} + isAuthorized={isAuthorized} + /> + } + > + ) && Component && path && ( + <Route key={name} element={<Component />} path={path} />) && ( + </Route> + ); + }, + )} </Route> - ) + ); }); - console.log('layouts', layouts) + console.log("layouts", layouts); return ( <Routes> - <> - {layouts} - </> + <>{layouts}</> </Routes> ); }; -} +}; -- GitLab