BrowserRouter.jsxjavascript
import { BrowserRouter } from "react-router";
import Pages from "./Routes";
import { ContentProvider } from "./services/content";
import { ScreensaverProvider } from "./services/screensaver";
import { Screensaver } from "./components/Screensaver/Screensaver";
import { RotateOverlay } from "./components/RotateOverlay/RotateOverlay";
import { ErrorBoundary } from "./components/ErrorBoundary";

const basename = import.meta.env.VITE_BASE_URL || "/";

/**
 * History-API router variant - use when the deploy path is known (basename
 * from VITE_BASE_URL). Mirrors HashRouter.jsx: content + screensaver
 * providers around the routes, pages guarded by the ErrorBoundary. App.jsx
 * picks one of the two.
 */
const Router = () => {
  return (
    <BrowserRouter basename={basename}>
      <ContentProvider>
        <ScreensaverProvider>
          <ErrorBoundary>
            <Pages />
          </ErrorBoundary>
          <Screensaver />
          <RotateOverlay />
        </ScreensaverProvider>
      </ContentProvider>
    </BrowserRouter>
  );
};

export default Router;