From 0f67f06d9e73fade284c8fe7381710b52c64170b Mon Sep 17 00:00:00 2001 From: meyer <meyer@astron.nl> Date: Mon, 30 Nov 2020 12:56:44 +0100 Subject: [PATCH] move navbar outside of query schema config files --- src/components/NavBar.js | 6 ++++-- src/contexts/GlobalContext.js | 13 ++++++++++++- src/routes/Routes.js | 9 +++------ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/components/NavBar.js b/src/components/NavBar.js index 10b442c..35e23b0 100644 --- a/src/components/NavBar.js +++ b/src/components/NavBar.js @@ -2,14 +2,16 @@ import React, { useContext } from "react"; import { Navbar, Nav } from "react-bootstrap"; import { NavLink } from "react-router-dom"; import AuthControl from "./auth/authControl"; - import { QueryContext } from "../contexts/QueryContext"; +import { GlobalContext } from "../contexts/GlobalContext"; export default function NavBar() { + const { navbar } = useContext(GlobalContext); const { config } = useContext(QueryContext); + if (!navbar) return null; if (!config) return null; // construct the navigation bar based on the configuration - const navlist = config.navbar; + const navlist = navbar.navbar; return ( <Navbar bg="dark" variant="dark"> diff --git a/src/contexts/GlobalContext.js b/src/contexts/GlobalContext.js index c66815d..9525edf 100644 --- a/src/contexts/GlobalContext.js +++ b/src/contexts/GlobalContext.js @@ -9,18 +9,28 @@ export function GlobalContextProvider({ children }) { const api_host = process.env.NODE_ENV === "development" - ? "https://sdc.astron.nl:5555/esap-api/" + ? "http://localhost:5555/esap-api/" : "https://sdc.astron.nl:5555/esap-api/"; // "https://sdc.astron.nl:5555/esap-api/" // "http://localhost:5555/esap-api/" const [archives, setArchives] = useState(); + const [navbar, setNavbar] = useState(); useEffect(() => { axios .get(api_host + "query/archives-uri") .then((response) => setArchives(response.data.results)); }, [api_host]); + useEffect(() => { + axios + .get(api_host + "query/configuration?name=navbar") + .then((response) => { + console.log("navbar response", response.data.configuration); + setNavbar(response.data.configuration); + }); + }, [api_host]); + // !!!!! Still need to look at sessionid and stuff const [sessionid, setSessionid] = useState(getCookie("sessionid")); console.log("waah", sessionid, getCookie("sessionid"), document.cookie); @@ -62,6 +72,7 @@ export function GlobalContextProvider({ children }) { isAuthenticated, sessionid, archives, + navbar, handleLogin, handleLogout, handleError, diff --git a/src/routes/Routes.js b/src/routes/Routes.js index afb8d4f..8166946 100644 --- a/src/routes/Routes.js +++ b/src/routes/Routes.js @@ -7,22 +7,19 @@ import QueryCatalogs from "../components/query/QueryCatalogs"; import QueryIVOARegistry from "../components/query/QueryIVOARegistry"; import { BrowserRouter as Router } from "react-router-dom"; import NavBar from "../components/NavBar"; -import { QueryContext } from "../contexts/QueryContext"; import Rucio from "../components/Rucio"; import Interactive from "../components/Interactive"; import { IVOAContextProvider } from "../contexts/IVOAContext"; import { IDAContext } from "../contexts/IDAContext"; export default function Routes() { - const { handleLogin, handleLogout, handleError } = useContext(GlobalContext); - const { config } = useContext(QueryContext); + const { navbar, handleLogin, handleLogout, handleError } = useContext(GlobalContext); const { jhubURL } = useContext(IDAContext); - if (!config) return null; + if (!navbar) return null; if (!jhubURL) return null; - console.log(jhubURL); return ( - <Router basename={config.frontend_basename}> + <Router basename={navbar.frontend_basename}> <NavBar /> <Switch> <Route exact path={["/", "/archives"]}> -- GitLab