@@ -268,11 +265,7 @@ export const Footer: React.FC<{
frameBorder="0"
/>
-
+
diff --git a/packages/frontend/web/components/Header/Header.tsx b/packages/frontend/web/components/Header/Header.tsx
index e1cf2d13716..7f331900a12 100644
--- a/packages/frontend/web/components/Header/Header.tsx
+++ b/packages/frontend/web/components/Header/Header.tsx
@@ -18,9 +18,8 @@ const header = css`
export const Header: React.FC<{
nav: NavType;
pillar: Pillar;
- edition: Edition;
-}> = ({ nav, pillar, edition }) => (
+}> = ({ nav, pillar }) => (
);
diff --git a/packages/frontend/web/components/Header/Nav/EditionDropdown.tsx b/packages/frontend/web/components/Header/Nav/EditionDropdown.tsx
index 3219c07232e..fcbcb0d98de 100644
--- a/packages/frontend/web/components/Header/Nav/EditionDropdown.tsx
+++ b/packages/frontend/web/components/Header/Nav/EditionDropdown.tsx
@@ -1,10 +1,11 @@
-import React from 'react';
+import React, { useContext } from 'react';
import { css } from 'emotion';
import { Dropdown } from '@guardian/guui';
import { desktop, wide } from '@guardian/pasteup/breakpoints';
import { Link } from '@guardian/guui/components/Dropdown/Dropdown';
import { palette } from '@guardian/pasteup/palette';
+import { EditionContext } from '@frontend/web/context/EditionContext';
const editionDropdown = css`
display: none;
@@ -71,9 +72,9 @@ const lookUpEditionLink = (edition: Edition): Link => {
};
export const EditionDropdown: React.FC<{
- edition: Edition;
dataLinkName: string;
-}> = ({ edition, dataLinkName }) => {
+}> = ({ dataLinkName }) => {
+ const edition = useContext(EditionContext);
const activeEditionLink = lookUpEditionLink(edition);
const links = [
ukEditionLink,
diff --git a/packages/frontend/web/components/Header/Nav/Nav.tsx b/packages/frontend/web/components/Header/Nav/Nav.tsx
index ec972d1c317..1c93059b6b8 100644
--- a/packages/frontend/web/components/Header/Nav/Nav.tsx
+++ b/packages/frontend/web/components/Header/Nav/Nav.tsx
@@ -54,7 +54,6 @@ const readerRevenueLinks = css`
interface Props {
nav: NavType;
pillar: Pillar;
- edition: Edition;
}
export class Nav extends Component<
@@ -83,7 +82,7 @@ export class Nav extends Component<
}
public render() {
- const { nav, pillar, edition } = this.props;
+ const { nav, pillar } = this.props;
const toggleMainMenu = () => {
this.toggleMainMenu();
};
@@ -101,7 +100,6 @@ export class Nav extends Component<
data-component="nav2"
>
@@ -113,7 +111,6 @@ export class Nav extends Component<
diff --git a/packages/frontend/web/components/Header/Nav/ReaderRevenueLinks.test.tsx b/packages/frontend/web/components/Header/Nav/ReaderRevenueLinks.test.tsx
index 5e486f9b707..e8542dee874 100644
--- a/packages/frontend/web/components/Header/Nav/ReaderRevenueLinks.test.tsx
+++ b/packages/frontend/web/components/Header/Nav/ReaderRevenueLinks.test.tsx
@@ -5,6 +5,7 @@ import {
getCookie as getCookie_,
addCookie as addCookie_,
} from '@frontend/web/browser/cookie';
+import { EditionContext } from '@frontend/web/context/EditionContext';
const getCookie: any = getCookie_;
const addCookie: any = addCookie_;
@@ -22,7 +23,6 @@ describe('ReaderRevenueLinks', () => {
subscribe: 'https://www.theguardian.com/subscribe',
support: 'https://www.theguardian.com/support',
};
- const edition: Edition = 'UK';
beforeEach(() => {
addCookie.mockReset();
@@ -38,12 +38,13 @@ describe('ReaderRevenueLinks', () => {
getCookie.mockReturnValue(contributionDate);
const { container } = render(
-
,
+
+
+ ,
);
// expect nothing to be rendered
@@ -64,12 +65,13 @@ describe('ReaderRevenueLinks', () => {
.mockReturnValueOnce('true');
const { container } = render(
-
,
+
+
+ ,
);
// expect nothing to be rendered
@@ -91,12 +93,13 @@ describe('ReaderRevenueLinks', () => {
.mockReturnValueOnce('false');
const { container, getByText } = render(
-
,
+
+
+ ,
);
// expect something to be rendered
diff --git a/packages/frontend/web/components/Header/Nav/ReaderRevenueLinks.tsx b/packages/frontend/web/components/Header/Nav/ReaderRevenueLinks.tsx
index 0ca424b9ae4..079d0c9848f 100644
--- a/packages/frontend/web/components/Header/Nav/ReaderRevenueLinks.tsx
+++ b/packages/frontend/web/components/Header/Nav/ReaderRevenueLinks.tsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { useContext } from 'react';
import { css, cx } from 'emotion';
import { serif, sans, textSans, headline } from '@guardian/pasteup/typography';
@@ -14,6 +14,7 @@ import {
import { getCookie } from '@frontend/web/browser/cookie';
import { AsyncClientComponent } from '@frontend/web/components/lib/AsyncClientComponent';
+import { EditionContext } from '@frontend/web/context/EditionContext';
const message = css`
color: ${palette.highlight.main};
@@ -112,7 +113,6 @@ export const RRButton: React.FC<{
};
export const ReaderRevenueLinks: React.FC<{
- edition: Edition;
urls: {
subscribe: string;
support: string;
@@ -120,7 +120,9 @@ export const ReaderRevenueLinks: React.FC<{
};
dataLinkNamePrefix: string;
noResponsive: boolean;
-}> = ({ edition, urls, dataLinkNamePrefix, noResponsive }) => {
+}> = ({ urls, dataLinkNamePrefix, noResponsive }) => {
+ const edition = useContext(EditionContext);
+
return (
{({ data }) => (
diff --git a/packages/frontend/web/context/EditionContext.tsx b/packages/frontend/web/context/EditionContext.tsx
new file mode 100644
index 00000000000..bddd9bc8925
--- /dev/null
+++ b/packages/frontend/web/context/EditionContext.tsx
@@ -0,0 +1,3 @@
+import React from 'react';
+
+export const EditionContext = React.createContext('UK');
diff --git a/packages/frontend/web/pages/Article.tsx b/packages/frontend/web/pages/Article.tsx
index 31161577381..38e71a8347f 100644
--- a/packages/frontend/web/pages/Article.tsx
+++ b/packages/frontend/web/pages/Article.tsx
@@ -162,11 +162,7 @@ export const Article: React.FC<{
/>
-
+