From 8f0161a127416127736e0279c9936ccfed585a30 Mon Sep 17 00:00:00 2001
From: Shellishack <40737228+Shellishack@users.noreply.github.com>
Date: Mon, 6 Apr 2026 10:04:26 +0800
Subject: [PATCH 1/2] feat(auth): enhance HomeRedirect to fetch default home
page from API
---
packages/app/api/routes/auth.ts | 2 +-
packages/app/web/app/main.tsx | 21 +++++++++++++++++----
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/packages/app/api/routes/auth.ts b/packages/app/api/routes/auth.ts
index 3d581b3..d56f7b8 100644
--- a/packages/app/api/routes/auth.ts
+++ b/packages/app/api/routes/auth.ts
@@ -146,7 +146,7 @@ authRouter.get('/status', async (_req, res) => {
const tenant = await db.tenant.findFirst({ select: { name: true, settings: true } });
const settings = tenant?.settings as TenantSettings | null;
const allowRegistration = settings?.allowRegistration !== false;
- res.json({ ok: true, data: { hasProject: !!tenant, projectName: tenant?.name ?? null, allowRegistration, logoUrl: settings?.logoUrl ?? null } });
+ res.json({ ok: true, data: { hasProject: !!tenant, projectName: tenant?.name ?? null, allowRegistration, logoUrl: settings?.logoUrl ?? null, defaultHomePage: settings?.defaultHomePage ?? null } });
});
// ── POST /auth/login ─────────────────────────────────────────────────────────
diff --git a/packages/app/web/app/main.tsx b/packages/app/web/app/main.tsx
index 8d2df86..f673545 100644
--- a/packages/app/web/app/main.tsx
+++ b/packages/app/web/app/main.tsx
@@ -1,4 +1,4 @@
-import { StrictMode } from 'react';
+import { StrictMode, useEffect, useState } from 'react';
import { createRoot } from 'react-dom/client';
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
import './globals.css';
@@ -16,12 +16,25 @@ import Login from './pages/Login';
import Register from './pages/Register';
import Onboard from './pages/Onboard';
import { getTenant } from '@/lib/auth';
-import type { TenantSettings } from '@clawscale/shared';
+import { api } from '@/lib/api';
+import type { TenantSettings, ApiResponse } from '@clawscale/shared';
function HomeRedirect() {
+ // If we have tenant data in localStorage, use it directly
const tenant = getTenant();
- const defaultHomePage = (tenant?.settings as TenantSettings | undefined)?.defaultHomePage ?? '/dashboard';
- return ;
+ const localDefault = (tenant?.settings as TenantSettings | undefined)?.defaultHomePage;
+ if (localDefault) return ;
+ if (tenant) return ;
+
+ // No tenant in localStorage (unauthenticated) — fetch from public endpoint
+ const [target, setTarget] = useState(null);
+ useEffect(() => {
+ api.get>('/auth/status').then((res) => {
+ setTarget(res.ok && res.data.defaultHomePage ? res.data.defaultHomePage : '/dashboard');
+ }).catch(() => setTarget('/dashboard'));
+ }, []);
+ if (!target) return null;
+ return ;
}
createRoot(document.getElementById('root')!).render(
From 75846fa27f4bdac035faa69bef59b9facd355361 Mon Sep 17 00:00:00 2001
From: Shellishack <40737228+Shellishack@users.noreply.github.com>
Date: Mon, 6 Apr 2026 10:13:31 +0800
Subject: [PATCH 2/2] feat(routes): move HomeRedirect route to the top for
improved onboarding flow
---
packages/app/web/app/main.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/app/web/app/main.tsx b/packages/app/web/app/main.tsx
index f673545..3f2615e 100644
--- a/packages/app/web/app/main.tsx
+++ b/packages/app/web/app/main.tsx
@@ -44,8 +44,8 @@ createRoot(document.getElementById('root')!).render(
} />
} />
} />
+ } />
}>
- } />
} />
} />
} />