mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-03-25 17:48:38 +03:00
Compare commits
2 Commits
ad1365a46d
...
463e93d36f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
463e93d36f | ||
|
|
495ee0161b |
@ -15,6 +15,7 @@ import { AuthProvider } from "@/context/auth-context";
|
||||
import useSWR from "swr";
|
||||
import { FrigateConfig } from "./types/frigateConfig";
|
||||
import ActivityIndicator from "@/components/indicators/activity-indicator";
|
||||
import { isRedirectingToLogin } from "@/api/auth-redirect";
|
||||
|
||||
const Live = lazy(() => import("@/pages/Live"));
|
||||
const Events = lazy(() => import("@/pages/Events"));
|
||||
@ -58,6 +59,16 @@ function DefaultAppView() {
|
||||
? Object.keys(config.auth.roles)
|
||||
: undefined;
|
||||
|
||||
// Show loading indicator during redirect to prevent React from attempting to render
|
||||
// lazy components, which would cause error #426 (suspension during synchronous navigation)
|
||||
if (isRedirectingToLogin()) {
|
||||
return (
|
||||
<div className="size-full overflow-hidden">
|
||||
<ActivityIndicator className="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2" />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="size-full overflow-hidden">
|
||||
{isDesktop && <Sidebar />}
|
||||
|
||||
@ -28,6 +28,14 @@ export default function ProtectedRoute({
|
||||
}
|
||||
}, [auth.isLoading, auth.isAuthenticated, auth.user]);
|
||||
|
||||
// Show loading indicator during redirect to prevent React from attempting to render
|
||||
// lazy components, which would cause error #426 (suspension during synchronous navigation)
|
||||
if (isRedirectingToLogin()) {
|
||||
return (
|
||||
<ActivityIndicator className="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2" />
|
||||
);
|
||||
}
|
||||
|
||||
if (auth.isLoading) {
|
||||
return (
|
||||
<ActivityIndicator className="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2" />
|
||||
|
||||
@ -88,7 +88,7 @@ export default function ModelTrainingView({ model }: ModelTrainingViewProps) {
|
||||
// title
|
||||
|
||||
useEffect(() => {
|
||||
document.title = `${model.name} - ${t("documentTitle")}`;
|
||||
document.title = `${model.name.toUpperCase()} - ${t("documentTitle")}`;
|
||||
}, [model.name, t]);
|
||||
|
||||
// model state
|
||||
|
||||
Loading…
Reference in New Issue
Block a user