Skip to content
Snippets Groups Projects
Routes.js 2.44 KiB
Newer Older
Zheng Meyer's avatar
Zheng Meyer committed
import React, { useContext } from "react";
import { Switch, Route, Redirect } from "react-router-dom";
Zheng Meyer's avatar
Zheng Meyer committed
import { Archives } from "../components/archives/Archives";
import ArchiveDetails from "../components/archives/ArchiveDetails";
import { GlobalContext } from "../contexts/GlobalContext";
import QueryCatalogs from "../components/query/QueryCatalogs";
import QueryIVOARegistry from "../components/query/QueryIVOARegistry";
Zheng Meyer's avatar
Zheng Meyer committed
import { BrowserRouter as Router } from "react-router-dom";
import NavBar from "../components/NavBar";
import Rucio from "../components/Rucio";
import Interactive from "../components/Interactive";
import MyBasketPage from "../components/basket/MyBasketPage";
import { IVOAContextProvider } from "../contexts/IVOAContext";
import { IDAContext } from "../contexts/IDAContext";
import SampPage from '../components/query/samp/SampPage';
Zheng Meyer's avatar
Zheng Meyer committed

export default function Routes() {
  const { navbar, handleLogin, handleLogout, handleError } = useContext(GlobalContext);
  const { jhubURL } = useContext(IDAContext);
  if (!navbar) return null;
Zheng Meyer's avatar
Zheng Meyer committed

  return (
    <Router basename={navbar.frontend_basename}>
        <Switch>
          <Route exact path={["/", "/archives"]}>
            <Archives />
          </Route>
          <Route exact path="/rucio">
            <Rucio />
          </Route>
          <Route exact path="/interactive">
            <Interactive />
          </Route>
          <Route exact path="/vo-query">
            <Redirect to="/archives/ivoa/query" />
          </Route>
          <Route exact path="/jhub" render={() => (window.location = {jhubURL})} />
          <Route exact path="/login" component={handleLogin} />
          <Route exact path="/logout" component={handleLogout} />
          <Route exact path="/error" component={handleError} />
          <Route exact path="/archives/:uri" component={ArchiveDetails} />
          <Route exact path="/archives/ivoa/query">
            <IVOAContextProvider>
              <QueryIVOARegistry />
            </IVOAContextProvider>
          </Route>
          <Route exact path={["/adex-query", "/archives/:uri/query"]}>
            <QueryCatalogs />
          </Route>
          <Route exact path="/samp"  >
              <SampPage/>
          </Route>
          <Route exact path="/basket"  >
              <MyBasketPage/>
          </Route>
        </Switch>
      <footer><small>esap-gui version 29 jun 2021 - 16:00</small></footer>
Zheng Meyer's avatar
Zheng Meyer committed
    </Router>
  );
}