Skip to content

Commit 6feebdc

Browse files
authored
Merge pull request #238 from 2004vivek/main
Issue #202 -Ensure Protection to all the routes of the website such about us and discussion
2 parents d2b078f + 1bd702c commit 6feebdc

File tree

3 files changed

+19
-46
lines changed

3 files changed

+19
-46
lines changed

client/src/App.jsx

Lines changed: 6 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import VerifyEmail from "./component/Verify";
3636
import NotFound from "./component/NotFound";
3737
import MiniChatbot from "./component/MiniChatbot";
3838
import ProgressBar from "./component/ProgressBar/ProgressBar";
39+
import ProtectedRoute from '../../client/src/component/ProtectedRoute'
3940

4041
// Main Layout Component
4142

@@ -84,7 +85,7 @@ function App() {
8485
};
8586

8687
const [progress, setProgress] = useState(0);
87-
88+
const [islogged,setloggedin]=useState(false)
8889
useEffect(() => {
8990
const savedMode = localStorage.getItem("mode");
9091
if (savedMode) {
@@ -158,39 +159,9 @@ function App() {
158159
/>
159160
}
160161
/>
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>} />
194165
<Route
195166
exact
196167
path='/myprofile'
@@ -224,17 +195,7 @@ function App() {
224195
/>
225196
}
226197
/>
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}/>} />
238199
<Route
239200
exact
240201
path='/signup'

client/src/component/Login.jsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import toast from "react-hot-toast";
1313

1414
const VITE_SERVER_PORT = import.meta.env.VITE_SERVER_PORT || 'https://bitbox-uxbo.onrender.com';
1515

16-
const Login = ({ mode, showAlert }) => {
16+
const Login = ({ mode, showAlert,isloggedin,setloggedin }) => {
1717
const [credentials, setCredentials] = useState({ email: "", password: "" });
1818
const [loading, setLoading] = useState(false);
1919

@@ -36,6 +36,7 @@ const Login = ({ mode, showAlert }) => {
3636
localStorage.setItem("token", json.authtoken);
3737
showAlert("Logged in Successfully", "success");
3838
toast.success("Login Successfully!");
39+
setloggedin(!isloggedin)
3940
navigate("/");
4041
} else {
4142
showAlert("Invalid Credentials", "danger");
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
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+
}

0 commit comments

Comments
 (0)