UNPKG

@sonarsource/gatsby-theme-marketing

Version:

Gatsby theme for Sonar projects

39 lines (38 loc) 3.92 kB
import { graphql, useStaticQuery } from 'gatsby'; import React, { useMemo } from 'react'; import { jsx as _jsx } from "@emotion/react/jsx-runtime"; export const PageLinksContext = /*#__PURE__*/React.createContext({ links: {} }); /* istanbul ignore next: No need to test a component that just takes links from Gatsby */ const PageLinksProvider = ({ children }) => { const { allKenticoLink } = useStaticQuery(graphql` query PageLinksProvider { allKenticoLink { nodes { codename url } } } `); const values = useMemo(() => { const links = allKenticoLink?.nodes.reduce((all, current) => ({ ...all, [current.codename]: current.url }), {}) || {}; return { links }; }, [allKenticoLink]); return _jsx(PageLinksContext.Provider, { value: values, children: children }); }; export default PageLinksProvider; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJncmFwaHFsIiwidXNlU3RhdGljUXVlcnkiLCJSZWFjdCIsInVzZU1lbW8iLCJqc3giLCJfanN4IiwiUGFnZUxpbmtzQ29udGV4dCIsImNyZWF0ZUNvbnRleHQiLCJsaW5rcyIsIlBhZ2VMaW5rc1Byb3ZpZGVyIiwiY2hpbGRyZW4iLCJhbGxLZW50aWNvTGluayIsInZhbHVlcyIsIm5vZGVzIiwicmVkdWNlIiwiYWxsIiwiY3VycmVudCIsImNvZGVuYW1lIiwidXJsIiwiUHJvdmlkZXIiLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIlBhZ2VMaW5rc0NvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdyYXBocWwsIHVzZVN0YXRpY1F1ZXJ5IH0gZnJvbSAnZ2F0c2J5JztcbmltcG9ydCBSZWFjdCwgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG50eXBlIFBhZ2VMaW5rc0NvbnRleHRUeXBlID0ge1xuICBsaW5rczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG5cbmV4cG9ydCBjb25zdCBQYWdlTGlua3NDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dDxQYWdlTGlua3NDb250ZXh0VHlwZT4oeyBsaW5rczoge30gfSk7XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBObyBuZWVkIHRvIHRlc3QgYSBjb21wb25lbnQgdGhhdCBqdXN0IHRha2VzIGxpbmtzIGZyb20gR2F0c2J5ICovXG5jb25zdCBQYWdlTGlua3NQcm92aWRlciA9ICh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9KSA9PiB7XG4gIGNvbnN0IHsgYWxsS2VudGljb0xpbmsgfSA9IHVzZVN0YXRpY1F1ZXJ5PFF1ZXJpZXMuUGFnZUxpbmtzUHJvdmlkZXJRdWVyeT4oZ3JhcGhxbGBcbiAgICBxdWVyeSBQYWdlTGlua3NQcm92aWRlciB7XG4gICAgICBhbGxLZW50aWNvTGluayB7XG4gICAgICAgIG5vZGVzIHtcbiAgICAgICAgICBjb2RlbmFtZVxuICAgICAgICAgIHVybFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBgKTtcblxuICBjb25zdCB2YWx1ZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBsaW5rczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9XG4gICAgICBhbGxLZW50aWNvTGluaz8ubm9kZXMucmVkdWNlKFxuICAgICAgICAoYWxsLCBjdXJyZW50KSA9PiAoe1xuICAgICAgICAgIC4uLmFsbCxcbiAgICAgICAgICBbY3VycmVudC5jb2RlbmFtZV06IGN1cnJlbnQudXJsLFxuICAgICAgICB9KSxcbiAgICAgICAge31cbiAgICAgICkgfHwge307XG5cbiAgICByZXR1cm4geyBsaW5rcyB9O1xuICB9LCBbYWxsS2VudGljb0xpbmtdKTtcblxuICByZXR1cm4gPFBhZ2VMaW5rc0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlc30+e2NoaWxkcmVufTwvUGFnZUxpbmtzQ29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBQYWdlTGlua3NQcm92aWRlcjtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsT0FBTyxFQUFFQyxjQUFjLFFBQVEsUUFBUTtBQUNoRCxPQUFPQyxLQUFLLElBQUlDLE9BQU8sUUFBUSxPQUFPO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBTXZDLE9BQU8sTUFBTUMsZ0JBQWdCLGdCQUFHSixLQUFLLENBQUNLLGFBQWEsQ0FBdUI7RUFBRUMsS0FBSyxFQUFFLENBQUM7QUFBRSxDQUFDLENBQUM7O0FBRXhGO0FBQ0EsTUFBTUMsaUJBQWlCLEdBQUdBLENBQUM7RUFBRUM7QUFBd0MsQ0FBQyxLQUFLO0VBQ3pFLE1BQU07SUFBRUM7RUFBZSxDQUFDLEdBQUdWLGNBQWMsQ0FBaUNELE9BQU87QUFDbkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsQ0FBQztFQUVGLE1BQU1ZLE1BQU0sR0FBR1QsT0FBTyxDQUFDLE1BQU07SUFDM0IsTUFBTUssS0FBNkIsR0FDakNHLGNBQWMsRUFBRUUsS0FBSyxDQUFDQyxNQUFNLENBQzFCLENBQUNDLEdBQUcsRUFBRUMsT0FBTyxNQUFNO01BQ2pCLEdBQUdELEdBQUc7TUFDTixDQUFDQyxPQUFPLENBQUNDLFFBQVEsR0FBR0QsT0FBTyxDQUFDRTtJQUM5QixDQUFDLENBQUMsRUFDRixDQUFDLENBQ0gsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVULE9BQU87TUFBRVY7SUFBTSxDQUFDO0VBQ2xCLENBQUMsRUFBRSxDQUFDRyxjQUFjLENBQUMsQ0FBQztFQUVwQixPQUFPTixJQUFBLENBQUNDLGdCQUFnQixDQUFDYSxRQUFRO0lBQUNDLEtBQUssRUFBRVIsTUFBTztJQUFBRixRQUFBLEVBQUVBO0VBQVEsQ0FBNEIsQ0FBQztBQUN6RixDQUFDO0FBRUQsZUFBZUQsaUJBQWlCIiwiaWdub3JlTGlzdCI6W119