refactor: update route related simplifications

This commit is contained in:
ramvignesh-b
2026-04-29 23:12:05 +05:30
parent df96cead93
commit d9e1febfee
3 changed files with 12 additions and 13 deletions
+5 -5
View File
@@ -4,8 +4,9 @@ import { useAuth } from "../hooks/useAuth";
import SplashScreen from "./SplashScreen";
/**
* Post-login routes.
* Redirects to /login if not already authenticated.
* Private route guard.
* If not authenticated, capture the current url in route
* state so the Login component can link them back after sign-in
*/
export function ProtectedRoute({ children }: { children: React.ReactNode }) {
const { isAuthenticated, isInitializing } = useAuth();
@@ -14,7 +15,6 @@ export function ProtectedRoute({ children }: { children: React.ReactNode }) {
if (isInitializing) return <SplashScreen />;
if (!isAuthenticated) {
// Save the intended location to redirect back after login
return <Navigate to={ROUTES.LOGIN} state={{ from: location }} replace />;
}
@@ -22,8 +22,8 @@ export function ProtectedRoute({ children }: { children: React.ReactNode }) {
}
/**
* Pre-login flows.
* Redirects to /drawer if already authenticated.
* Public - auth route guard.
* If authenticated, redirect all the auth related flows to the drawer
*/
export function PublicRoute({ children }: { children: React.ReactNode }) {
const { isAuthenticated, isInitializing } = useAuth();
+4 -4
View File
@@ -9,14 +9,14 @@ export const endpoints = {
LETTERS: "/api/letters/",
};
// simple utility to handle path params
// constructs dynamic path params for activate flow
export const replacePathParams = (
url: string,
params: Record<string, string>,
): string => {
let result = url;
let constructedUrl = url;
for (const [key, value] of Object.entries(params)) {
result = result.replace(`:${key}`, value);
constructedUrl = constructedUrl.replace(`:${key}`, value);
}
return result;
return constructedUrl;
};
+3 -4
View File
@@ -1,4 +1,4 @@
// Route PATTERNS
// Page Route PATTERNS
export const ROUTES = {
HOME: "/",
ONBOARD: "/onboard",
@@ -6,13 +6,12 @@ export const ROUTES = {
ACTIVATE: "/activate/:uidb64/:token",
LOGIN: "/login",
DRAWER: "/drawer",
WRITE: "/quill/:public_id?", // ← static pattern
WRITE: "/quill/:public_id?",
READ: "/read/:public_id",
};
// Path BUILDERS
// Dynamic path BUILDERS
export const PATHS = {
write: (public_id?: string) => `/quill/${public_id ?? ""}`,
read: (public_id: string) => `/read/${public_id}`,
activate: (uidb64: string, token: string) => `/activate/${uidb64}/${token}`,
};