File tree Expand file tree Collapse file tree 3 files changed +19
-46
lines changed Expand file tree Collapse file tree 3 files changed +19
-46
lines changed Original file line number Diff line number Diff line change @@ -36,6 +36,7 @@ import VerifyEmail from "./component/Verify";
36
36
import NotFound from "./component/NotFound" ;
37
37
import MiniChatbot from "./component/MiniChatbot" ;
38
38
import ProgressBar from "./component/ProgressBar/ProgressBar" ;
39
+ import ProtectedRoute from '../../client/src/component/ProtectedRoute'
39
40
40
41
// Main Layout Component
41
42
@@ -84,7 +85,7 @@ function App() {
84
85
} ;
85
86
86
87
const [ progress , setProgress ] = useState ( 0 ) ;
87
-
88
+ const [ islogged , setloggedin ] = useState ( false )
88
89
useEffect ( ( ) => {
89
90
const savedMode = localStorage . getItem ( "mode" ) ;
90
91
if ( savedMode ) {
@@ -158,39 +159,9 @@ function App() {
158
159
/>
159
160
}
160
161
/>
161
- < Route
162
- exact
163
- path = '/discussion'
164
- element = {
165
- < Discussion
166
- mode = { mode }
167
- setProgress = { setProgress }
168
- showAlert = { showAlert }
169
- />
170
- }
171
- />
172
- < Route
173
- exact
174
- path = '/community'
175
- element = {
176
- < Community
177
- mode = { mode }
178
- setProgress = { setProgress }
179
- showAlert = { showAlert }
180
- />
181
- }
182
- />
183
- < Route
184
- exact
185
- path = '/about'
186
- element = {
187
- < About
188
- mode = { mode }
189
- setProgress = { setProgress }
190
- showAlert = { showAlert }
191
- />
192
- }
193
- />
162
+ < Route exact path = "/discussion" element = { < ProtectedRoute loggedin = { islogged } > < Discussion mode = { mode } setProgress = { setProgress } showAlert = { showAlert } /> </ ProtectedRoute > } />
163
+ < Route exact path = "/community" element = { < ProtectedRoute loggedin = { islogged } > < Community mode = { mode } setProgress = { setProgress } showAlert = { showAlert } /> </ ProtectedRoute > } />
164
+ < Route exact path = "/about" element = { < ProtectedRoute loggedin = { islogged } > < About mode = { mode } setProgress = { setProgress } showAlert = { showAlert } /> </ ProtectedRoute > } />
194
165
< Route
195
166
exact
196
167
path = '/myprofile'
@@ -224,17 +195,7 @@ function App() {
224
195
/>
225
196
}
226
197
/>
227
- < Route
228
- exact
229
- path = '/login'
230
- element = {
231
- < Login
232
- mode = { mode }
233
- setProgress = { setProgress }
234
- showAlert = { showAlert }
235
- />
236
- }
237
- />
198
+ < Route exact path = "/login" element = { < Login mode = { mode } setProgress = { setProgress } showAlert = { showAlert } loggedin = { islogged } setloggedin = { setloggedin } /> } />
238
199
< Route
239
200
exact
240
201
path = '/signup'
Original file line number Diff line number Diff line change @@ -13,7 +13,7 @@ import toast from "react-hot-toast";
13
13
14
14
const VITE_SERVER_PORT = import . meta. env . VITE_SERVER_PORT || 'https://bitbox-uxbo.onrender.com' ;
15
15
16
- const Login = ( { mode, showAlert } ) => {
16
+ const Login = ( { mode, showAlert, isloggedin , setloggedin } ) => {
17
17
const [ credentials , setCredentials ] = useState ( { email : "" , password : "" } ) ;
18
18
const [ loading , setLoading ] = useState ( false ) ;
19
19
@@ -36,6 +36,7 @@ const Login = ({ mode, showAlert }) => {
36
36
localStorage . setItem ( "token" , json . authtoken ) ;
37
37
showAlert ( "Logged in Successfully" , "success" ) ;
38
38
toast . success ( "Login Successfully!" ) ;
39
+ setloggedin ( ! isloggedin )
39
40
navigate ( "/" ) ;
40
41
} else {
41
42
showAlert ( "Invalid Credentials" , "danger" ) ;
Original file line number Diff line number Diff line change
1
+
2
+ import { Navigate } from 'react-router-dom'
3
+ export default function ProtectedRoute ( { loggedin, children} ) {
4
+ console . log ( loggedin ) ;
5
+ if ( loggedin ) {
6
+ return children
7
+ }
8
+ else {
9
+ return < Navigate to = "/login" />
10
+ }
11
+ }
You can’t perform that action at this time.
0 commit comments