diff --git a/src/App.tsx b/src/App.tsx
index d827e18..4d87f50 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,8 +1,10 @@
import { lazy, Suspense } from 'react'
import { Routes, Route, Navigate, useLocation } from 'react-router-dom'
import { useAuthStore } from './store/auth'
+import { useBlockingStore } from './store/blocking'
import Layout from './components/layout/Layout'
import PageLoader from './components/common/PageLoader'
+import { MaintenanceScreen, ChannelSubscriptionScreen } from './components/blocking'
import { saveReturnUrl } from './utils/token'
// Auth pages - load immediately (small)
@@ -89,9 +91,25 @@ function LazyPage({ children }: { children: React.ReactNode }) {
)
}
+function BlockingOverlay() {
+ const { blockingType } = useBlockingStore()
+
+ if (blockingType === 'maintenance') {
+ return
+ }
+
+ if (blockingType === 'channel_subscription') {
+ return
+ }
+
+ return null
+}
+
function App() {
return (
-
+ <>
+
+
{/* Public routes */}
} />
} />
@@ -316,6 +334,7 @@ function App() {
{/* Catch all */}
} />
+ >
)
}