Skip to content

Commit ae4a3d6

Browse files
johnebgoodclaude
andcommitted
Switch to hash routing for S3 static hosting compatibility
- createHashRouter replaces createBrowserRouter — no server-side routing needed - Routes are now /#/login, /#/app, /#/viewer, /#/cct - Safetoken redirects to /#/app or /#/viewer - Removed unused CallbackPage route Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent edb9796 commit ae4a3d6

13 files changed

Lines changed: 38 additions & 27 deletions

react-app/public/safetokenXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.html

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,11 @@
1010
let page = localStorage.getItem("page");
1111
localStorage.setItem("access_token", access_token);
1212
if (access_token) {
13-
if(page == "streamer") {
14-
window.location.href = "https://"+location.hostname+"/app";
15-
}
16-
else if(page == "viewer") {
17-
window.location.href = "https://"+location.hostname+"/viewer";
18-
}
19-
else if(page == "moderator"){
20-
window.location.href = "https://"+location.hostname+"/app";
13+
if(page == "viewer") {
14+
window.location.href = "https://"+location.hostname+"/#/viewer";
2115
}
2216
else {
23-
window.location.href = "https://"+location.hostname+"/app";
17+
window.location.href = "https://"+location.hostname+"/#/app";
2418
}
2519
}
2620
</script>

react-app/src/App.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import React, { Suspense, lazy, useEffect } from 'react';
2-
import { createBrowserRouter, RouterProvider, Navigate } from 'react-router-dom';
2+
import { createHashRouter, RouterProvider, Navigate } from 'react-router-dom';
33
import { useAuthStore } from './store';
44

55
const LoginPage = lazy(() => import('./pages/LoginPage'));
6-
const CallbackPage = lazy(() => import('./pages/CallbackPage'));
76
const StreamerDashboard = lazy(() => import('./pages/StreamerDashboard'));
87
const CCTOverlay = lazy(() => import('./pages/CCTOverlay'));
98
const ViewerPage = lazy(() => import('./pages/ViewerPage'));
@@ -22,11 +21,9 @@ function ProtectedRoute({ children }: { children: React.ReactNode }) {
2221
return <>{children}</>;
2322
}
2423

25-
const router = createBrowserRouter([
24+
const router = createHashRouter([
2625
{ path: '/', element: <Navigate to="/login" replace /> },
27-
{ path: '/index.html', element: <Navigate to="/app" replace /> },
2826
{ path: '/login', element: <LoginPage /> },
29-
{ path: '/callback', element: <CallbackPage /> },
3027
{
3128
path: '/app',
3229
element: (
@@ -37,7 +34,6 @@ const router = createBrowserRouter([
3734
},
3835
{ path: '/cct', element: <CCTOverlay /> },
3936
{ path: '/viewer', element: <ViewerPage /> },
40-
{ path: '/viewer-callback', element: <ViewerPage /> },
4137
]);
4238

4339
export default function App() {

webfront/assets/CCTOverlay-D4UvG9dA.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webfront/assets/LoginPage-VLSuvtVQ.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webfront/assets/StreamerDashboard-CmO0xRdT.js

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webfront/assets/ViewerPage-lba6nUxL.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webfront/assets/VoiceSelect-CslJFXSZ.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)