Newer
Older
import { Route, Switch } from "react-router-dom";

Nico Vermaas
committed
import { BrowserRouter as Router } from "react-router-dom";
import ArchiveDetails from "../components/archives/ArchiveDetails";
import { Archives } from "../components/archives/Archives";
import MyBasketPage from "../components/basket/MyBasketPage";
import NavBar from "../components/NavBar";
import QueryCatalogs from "../components/query/QueryCatalogs";
import QueryIVOARegistry from "../components/query/QueryIVOARegistry";
import QueryMultipleArchives from "../components/query/QueryMultipleArchives";
import AladinAdvancedPage from '../components/services/aladin/AladinAdvancedPage';
import AladinSimplePage from '../components/services/aladin/AladinSimplePage';
import Batch from "../components/services/Batch";
import Interactive from "../components/services/Interactive";
import Rucio from "../components/services/Rucio";
import SampPage from '../components/services/samp/SampPage';
import { AladinAdvancedContextProvider } from "../contexts/AladinAdvancedContext";
import { AladinSimpleContextProvider } from "../contexts/AladinSimpleContext";
import { GlobalContext } from "../contexts/GlobalContext";
import { IVOAContextProvider } from "../contexts/IVOAContext";
import { COMMIT_DATE, COMMIT_URL } from "../utils/version";

Nico Vermaas
committed
const { navbar, handleLogin, handleLogout, handleError } = useContext(GlobalContext);
if (!navbar) return null;
<NavBar />
<Switch>
<Route exact path={["/", "/archives"]}>
<Archives />
</Route>
<Route exact path="/rucio">
<Rucio />
</Route>
<Route exact path="/interactive">
<Interactive />
</Route>
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<Jobs />
</Route>
<Route exact path="/batch">
<Batch />
</Route>
<Route exact path="/batch/SubmitJob">
<SubmitJob />
</Route>
<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} />
{/* specific behaviour for IVOA 'archive' to enable a 2-stage query */}
<Route exact path="/archives/ivoa/query">
<IVOAContextProvider>
<QueryIVOARegistry />
</IVOAContextProvider>
</Route>
{/* default 1-stage synchronous query behaviour for most archives */}
<Route exact path={["/archives/:uri/query"]}>
<QueryCatalogs />
</Route>
{/* query multiple archives */}
<Route exact path="/query">
<QueryMultipleArchives />
</Route>
<Route exact path="/samp" >
<SampPage />
</Route>
<Route exact path="/aladin_simple" >
<AladinSimpleContextProvider>
<AladinSimplePage />
</AladinSimpleContextProvider>
</Route>
<Route exact path="/aladin_advanced" >
<AladinAdvancedContextProvider>
<AladinAdvancedPage />
</AladinAdvancedContextProvider>
</Route>
<Route exact path="/basket" >
<MyBasketPage />
</Route>
</Switch>
<footer><small><a href={COMMIT_URL}>ESAP-GUI version {COMMIT_DATE}</a></small></footer>
</Router>
);