From 70ee5300f79332d72f78b424514bd6b9a299f5be Mon Sep 17 00:00:00 2001 From: Hafid Nur <73023445+hafidnrzs@users.noreply.github.com> Date: Thu, 27 Nov 2025 23:46:52 +0700 Subject: [PATCH] add maintenance page (#66) --- apps/hackathon/src/app/layout.tsx | 21 +++++++++++++++++---- apps/hackathon/src/app/maintenance/page.tsx | 21 +++++++++++++++++++++ 2 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 apps/hackathon/src/app/maintenance/page.tsx diff --git a/apps/hackathon/src/app/layout.tsx b/apps/hackathon/src/app/layout.tsx index cb034c0..c17b781 100644 --- a/apps/hackathon/src/app/layout.tsx +++ b/apps/hackathon/src/app/layout.tsx @@ -1,4 +1,9 @@ -import { Outlet, ScrollRestoration, useLocation, useNavigate } from 'react-router-dom'; +import { + Outlet, + ScrollRestoration, + useLocation, + useNavigate, +} from 'react-router-dom'; import { useEffect, useState } from 'react'; import { supabase } from '@imphnen-frontend-service/service'; @@ -27,14 +32,21 @@ export default function RootLayout() { } // Check Supabase session - const { data: { session }, error } = await supabase.auth.getSession(); + const { + data: { session }, + error, + } = await supabase.auth.getSession(); if (error) { console.error('[Layout] Session error:', error); } // Public auth pages (login, signup, forgot-password, reset-password) - allow unauthenticated access - const isPublicAuthPage = pathname === '/auth/login' || pathname === '/auth/signup' || pathname === '/auth/forgot-password' || pathname === '/auth/reset-password'; + const isPublicAuthPage = pathname === '/maintenance'; + // pathname === '/auth/login' || + // pathname === '/auth/signup' || + // pathname === '/auth/forgot-password' || + // pathname === '/auth/reset-password'; if (isPublicAuthPage) { // If already authenticated and not on password reset pages, redirect to dashboard @@ -56,7 +68,8 @@ export default function RootLayout() { // Require authentication for all other routes if (!session) { - navigate('/auth/login', { replace: true }); + navigate('/maintenance', { replace: true }); + // navigate('/auth/login', { replace: true }); setIsChecking(false); return; } diff --git a/apps/hackathon/src/app/maintenance/page.tsx b/apps/hackathon/src/app/maintenance/page.tsx new file mode 100644 index 0000000..8ab57f5 --- /dev/null +++ b/apps/hackathon/src/app/maintenance/page.tsx @@ -0,0 +1,21 @@ +export default function MaintenancePage() { + return ( +
+ Our site is currently undergoing scheduled maintenance.
+
+ Thank you for your patience.
+