@sonarsource/gatsby-theme-marketing
Version:
Gatsby theme for Sonar projects
39 lines (38 loc) • 3.92 kB
JavaScript
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