diff --git a/app/auth/callback/page.tsx b/app/auth/callback/page.tsx
index 0d452b7..363666a 100644
--- a/app/auth/callback/page.tsx
+++ b/app/auth/callback/page.tsx
@@ -5,6 +5,7 @@ import { useRouter, useSearchParams } from 'next/navigation'
import { useAuth } from '@/lib/auth/context'
import { AUTH_URL } from '@/lib/api/client'
import { exchangeAuthCode, setSessionAction } from '@/app/actions/auth'
+import LoadingOverlay from '@/components/LoadingOverlay'
function AuthCallbackContent() {
const router = useRouter()
@@ -108,26 +109,12 @@ function AuthCallbackContent() {
)
}
- return (
-
-
-
-
Completing sign in...
-
-
- )
+ return
}
export default function AuthCallback() {
return (
-
-
-
- }>
+ }>
)
diff --git a/app/page.tsx b/app/page.tsx
index f018fa8..3d58d0a 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -12,7 +12,7 @@ export default function HomePage() {
const { user, loading } = useAuth()
if (loading) {
- return
+ return
}
if (!user) {
@@ -91,7 +91,7 @@ export default function HomePage() {
// * Wait for organization context before rendering SiteList to avoid "Organization Required" flash
if (user && !user.org_id) {
- return
+ return
}
return (
diff --git a/components/LoadingOverlay.tsx b/components/LoadingOverlay.tsx
index 342cc27..9f6c9d6 100644
--- a/components/LoadingOverlay.tsx
+++ b/components/LoadingOverlay.tsx
@@ -6,11 +6,13 @@ import { createPortal } from 'react-dom'
interface LoadingOverlayProps {
logoSrc?: string
title?: string
+ portal?: boolean
}
export default function LoadingOverlay({
logoSrc = "/ciphera_icon_no_margins.png",
- title = "Pulse"
+ title = "Pulse",
+ portal = true
}: LoadingOverlayProps) {
const [mounted, setMounted] = useState(false)
@@ -19,9 +21,7 @@ export default function LoadingOverlay({
return () => setMounted(false)
}, [])
- if (!mounted) return null
-
- return createPortal(
+ const content = (
@@ -36,7 +36,13 @@ export default function LoadingOverlay({
-
,
- document.body
+
)
+
+ if (portal) {
+ if (!mounted) return null
+ return createPortal(content, document.body)
+ }
+
+ return content
}