import { BrowserRouter, Routes, Route, Navigate, useLocation } from 'react-router-dom'; import { BusinessProvider, useBusiness } from './context/BusinessContext'; import Sidebar from './components/Sidebar'; import Businesses from './pages/Businesses'; import Providers from './pages/Providers'; import GlobalSms from './pages/GlobalSms'; import Events from './pages/Events'; import Templates from './pages/Templates'; import { Link } from 'react-router-dom'; function SubLayout({ children }) { const { activeBusinessId, hasGlobalSms } = useBusiness(); return (
{hasGlobalSms && ( )}
{children}
); } // Guard: redirect to / if no active business in session. // Also enforce cURL-first: only the cURL profile route is available until an active profile exists. function BusinessGuard({ children, isGlobalSmsRoute }) { const { activeBusinessId, loading, isSetupComplete } = useBusiness(); const location = useLocation(); if (loading) { return (
); } if (!activeBusinessId) { return ; } if (!isSetupComplete && !isGlobalSmsRoute) { return ; } return children; } export default function App() { return ( } /> } /> } /> } /> } /> } /> ); }