From 0ddd77671acd7303e995757ec97562f3eed2c053 Mon Sep 17 00:00:00 2001 From: Vishnu Kothakapu Date: Sun, 12 Oct 2025 18:14:29 +0530 Subject: [PATCH 1/2] fix: prevent logged-in users from accessing login/signup pages --- frontend/src/App.jsx | 7 ++++--- frontend/src/components/PublicRoute.jsx | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 frontend/src/components/PublicRoute.jsx diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 3ba7157..eb09995 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -15,6 +15,7 @@ import Layout from './components/Layout'; import ProtectedRoute from './components/ProtectedRoute'; import SetupProtectedRoute from './components/SetupProtectedRoute'; import RecurringTransactions from './pages/RecurringTransactions'; +import { PublicRoute } from './components/gaurds'; function App() { return ( @@ -22,8 +23,8 @@ function App() { {/* Public Routes */} } /> - } /> - } /> + } /> + } /> } /> {/* Protected Routes */} } > - } /> + } /> } /> } /> } /> diff --git a/frontend/src/components/PublicRoute.jsx b/frontend/src/components/PublicRoute.jsx new file mode 100644 index 0000000..a6f920b --- /dev/null +++ b/frontend/src/components/PublicRoute.jsx @@ -0,0 +1,24 @@ +import React from 'react'; +import { Navigate } from 'react-router-dom'; +import useAuth from '../hooks/useAuth'; +import Spinner from './Spinner'; + +const PublicRoute = ({ children }) => { + const { user, loading } = useAuth(); + + if (loading) { + return ( +
+ +
+ ); + } + + if (user) { + return ; + } + + return children; +}; + +export default PublicRoute; From 762b2566a800526eecd4c11063f5e1aa8ec60020 Mon Sep 17 00:00:00 2001 From: Vishnu Kothakapu Date: Tue, 21 Oct 2025 13:34:46 +0530 Subject: [PATCH 2/2] fix: correct import path for PublicRoute.jsx --- frontend/src/App.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index eb09995..983d264 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -15,7 +15,7 @@ import Layout from './components/Layout'; import ProtectedRoute from './components/ProtectedRoute'; import SetupProtectedRoute from './components/SetupProtectedRoute'; import RecurringTransactions from './pages/RecurringTransactions'; -import { PublicRoute } from './components/gaurds'; +import { PublicRoute } from './components/PublicRoute'; function App() { return (