diff --git a/packages/docusaurus/src/client/App.tsx b/packages/docusaurus/src/client/App.tsx index d7d4cd4eb78e0..c3a313d5943cb 100644 --- a/packages/docusaurus/src/client/App.tsx +++ b/packages/docusaurus/src/client/App.tsx @@ -17,6 +17,35 @@ import PendingNavigation from './PendingNavigation'; import './client-lifecycles-dispatcher'; +function isAnyCSSLoaded() { + const stylesheets = document.styleSheets; + for (let i = 0; i < stylesheets.length; i += 1) { + try { + if ( + stylesheets[i].cssRules != null && + stylesheets[i].cssRules.length >= 0 + ) { + return true; + } + } catch (e) {} + } + return false; +} + +function CSSLoadingWarningMessage({isClient}) { + if (isClient && (typeof window === 'undefined' || !isAnyCSSLoaded())) { + return ( +
+ + You site CSS did not load properly. Your baseUrl setting is probably + bad. + +
+ ); + } + return null; +} + function App(): JSX.Element { const [isClient, setIsClient] = useState(false); @@ -27,6 +56,7 @@ function App(): JSX.Element { return ( + {renderRoutes(routes)}