import { Route, Routes } from "react-router-dom";
import "./App.css";
import { AuthApi } from "./api/AuthApi";
import { NotFoundRoute } from "./routes/NotFound";
import { BaseLoginPage } from "./widgets/BaseLoginpage";
import { LoginRoute } from "./routes/auth/LoginRoute";
import { OIDCCbRoute } from "./routes/auth/OIDCCbRoute";
import { useAtom } from "jotai";
import { BaseAuthenticatedPage } from "./widgets/BaseAuthenticatedPage";

function App() {
  const [signedIn] = useAtom(AuthApi.authStatus);

  return (
    <Routes>
      {signedIn ? (
        <Route path="*" element={<BaseAuthenticatedPage />} />
      ) : (
        <Route path="*" element={<BaseLoginPage />}>
          <Route path="" element={<LoginRoute />} />
          <Route path="oidc_cb" element={<OIDCCbRoute />} />
          <Route path="*" element={<NotFoundRoute />} />
        </Route>
      )}
    </Routes>
  );
}

export default App;
