@times-components/ts-components 1.36.1 → 1.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/components/article-header/ArticleHeader.js +15 -14
  3. package/dist/components/article-header/__tests__/ArticleHeader.test.js +24 -170
  4. package/dist/components/recommended-articles/RecommendedArticles.d.ts +4 -5
  5. package/dist/components/recommended-articles/RecommendedArticles.js +15 -26
  6. package/dist/components/recommended-articles/RecommendedArticles.stories.d.ts +5 -1
  7. package/dist/components/recommended-articles/RecommendedArticles.stories.js +26 -52
  8. package/dist/components/recommended-articles/RecommendedFetch.d.ts +6 -0
  9. package/dist/components/recommended-articles/RecommendedFetch.js +12 -0
  10. package/dist/components/recommended-articles/__tests__/RecommendedArticles.test.js +26 -60
  11. package/dist/components/recommended-articles/__tests__/RecommendedFetch.test.d.ts +1 -0
  12. package/dist/components/recommended-articles/__tests__/RecommendedFetch.test.js +14 -0
  13. package/dist/components/recommended-articles/formatters.d.ts +41 -0
  14. package/dist/components/recommended-articles/formatters.js +57 -0
  15. package/dist/fixtures/preview-data/recommended-articles.d.ts +84 -0
  16. package/dist/fixtures/preview-data/recommended-articles.js +351 -0
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.js +2 -2
  19. package/package.json +6 -6
  20. package/rnw.js +1 -1
  21. package/src/components/article-header/ArticleHeader.tsx +16 -16
  22. package/src/components/article-header/__tests__/ArticleHeader.test.tsx +23 -170
  23. package/src/components/recommended-articles/RecommendedArticles.stories.tsx +41 -58
  24. package/src/components/recommended-articles/RecommendedArticles.tsx +26 -55
  25. package/src/components/recommended-articles/RecommendedFetch.tsx +25 -0
  26. package/src/components/recommended-articles/__tests__/RecommendedArticles.test.tsx +45 -75
  27. package/src/components/recommended-articles/__tests__/RecommendedFetch.test.tsx +23 -0
  28. package/src/components/recommended-articles/__tests__/__snapshots__/RecommendedArticles.test.tsx.snap +10 -55
  29. package/src/components/recommended-articles/__tests__/__snapshots__/RecommendedFetch.test.tsx.snap +9 -0
  30. package/src/components/recommended-articles/formatters.ts +100 -0
  31. package/src/fixtures/preview-data/recommended-articles.ts +385 -0
  32. package/src/index.ts +2 -2
  33. package/src/types/externs.d.ts +0 -7
  34. package/src/components/article-header/__tests__/__snapshots__/ArticleHeader.test.tsx.snap +0 -68
package/CHANGELOG.md CHANGED
@@ -3,6 +3,39 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.37.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.36.3...@times-components/ts-components@1.37.0) (2022-06-08)
7
+
8
+
9
+ ### Features
10
+
11
+ * **TDP-1935:** Recommended articles ([#2969](https://github.com/newsuk/times-components/issues/2969)) ([9b6b9b0](https://github.com/newsuk/times-components/commit/9b6b9b09c918433ad5b2945d5fe2fc4c13002c13))
12
+
13
+
14
+
15
+
16
+
17
+ ## [1.36.3](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.36.2...@times-components/ts-components@1.36.3) (2022-06-07)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **TDP-1825:** timezone tests ([#2968](https://github.com/newsuk/times-components/issues/2968)) ([bb09b71](https://github.com/newsuk/times-components/commit/bb09b713793c254cfc7e3ff9c69592060097baf4))
23
+
24
+
25
+
26
+
27
+
28
+ ## [1.36.2](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.36.1...@times-components/ts-components@1.36.2) (2022-06-07)
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * **TDP-1825:** Live News: Update Timestamp Logic ([#2958](https://github.com/newsuk/times-components/issues/2958)) ([df2b594](https://github.com/newsuk/times-components/commit/df2b59401188d08389719f7aec75b4deebe530d8))
34
+
35
+
36
+
37
+
38
+
6
39
  ## [1.36.1](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.36.0...@times-components/ts-components@1.36.1) (2022-05-26)
7
40
 
8
41
 
@@ -1,10 +1,6 @@
1
- import React from 'react';
2
- import {
3
- // parse,
4
- format, differenceInSeconds, differenceInCalendarDays, formatDistanceStrict } from 'date-fns';
5
- import {
6
- // zonedTimeToUtc,
7
- utcToZonedTime } from 'date-fns-tz';
1
+ import React, { useState, useEffect } from 'react';
2
+ import { differenceInSeconds, differenceInCalendarDays, formatDistanceStrict } from 'date-fns';
3
+ import { format, utcToZonedTime } from 'date-fns-tz';
8
4
  import { BreakingArticleFlag } from '../article-flag/LiveArticleFlag';
9
5
  import safeDecodeURIComponent from '../../utils/safeDecodeURIComponent';
10
6
  import { Container, Divider, Headline, TimeSincePublishing, TimeSincePublishingContainer, UpdatedDate, UpdatedTime, UpdatedTimeItems, UpdatesContainer, FlagContainer } from './styles';
@@ -17,12 +13,17 @@ const anchorString = (updateTxt = '', headlineTxt = '') => {
17
13
  return `u_${onlyNumbers}${acronym}`;
18
14
  };
19
15
  const ArticleHeader = ({ updated, breaking, headline }) => {
16
+ const [timezone, setTimezone] = useState('');
20
17
  const currentDateTime = new Date();
21
- // const updated = `${date} ${time}`;
22
- // const parsedDate = parse(updated, 'dd/MM/yyyy HH:mm', new Date());
23
- // const updatedDate = zonedTimeToUtc(parsedDate, 'Europe/London');
24
18
  const updatedDate = new Date(updated);
25
- const parsedDate = utcToZonedTime(updatedDate, 'Europe/London');
19
+ const timeZone = 'Europe/London';
20
+ const parsedDate = utcToZonedTime(updatedDate, timeZone);
21
+ useEffect(() => {
22
+ const currentTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
23
+ if (currentTimezone !== timeZone) {
24
+ setTimezone(format(parsedDate, 'zzz', { timeZone }));
25
+ }
26
+ });
26
27
  const timeSincePublishing = formatDistanceStrict(updatedDate, currentDateTime, {
27
28
  roundingMethod: 'floor'
28
29
  }) + ' ago';
@@ -43,9 +44,9 @@ const ArticleHeader = ({ updated, breaking, headline }) => {
43
44
  !isLessThan1Minute && isLessThan13Hours ? (React.createElement(TimeSincePublishingContainer, null,
44
45
  React.createElement(TimeSincePublishing, { "data-testId": "TimeSincePublishing" }, timeSincePublishing),
45
46
  React.createElement(Divider, null))) : null,
46
- React.createElement(UpdatedTime, { isLessThan13Hours: !isLessThan1Minute && isLessThan13Hours }, format(parsedDate, 'h.mmaaa'))),
47
- isDaysAgo ? (React.createElement(UpdatedDate, null, format(parsedDate, 'MMMM d yyyy'))) : null),
47
+ React.createElement(UpdatedTime, { isLessThan13Hours: !isLessThan1Minute && isLessThan13Hours }, `${format(parsedDate, 'h.mmaaa')} ${timezone}`)),
48
+ isDaysAgo ? (React.createElement(UpdatedDate, null, format(parsedDate, 'MMMM d'))) : null),
48
49
  headline && React.createElement(Headline, null, safeDecodeURIComponent(headline))));
49
50
  };
50
51
  export default ArticleHeader;
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZUhlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FydGljbGUtaGVhZGVyL0FydGljbGVIZWFkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPO0FBQ0wsU0FBUztBQUNULE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNyQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPO0FBQ0wsa0JBQWtCO0FBQ2xCLGNBQWMsRUFDZixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLHNCQUFzQixNQUFNLG9DQUFvQyxDQUFDO0FBRXhFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFFBQVEsRUFDUixtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLFdBQVcsRUFDWCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixhQUFhLEVBQ2QsTUFBTSxVQUFVLENBQUM7QUFFbEIsTUFBTSxZQUFZLEdBQUcsQ0FBQyxTQUFTLEdBQUcsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQUUsRUFBRTtJQUN4RCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDOUIsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUQsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzdCLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkQsTUFBTSxPQUFPLEdBQUcsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FB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
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZUhlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2FydGljbGUtaGVhZGVyL0FydGljbGVIZWFkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNuRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDckIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxzQkFBc0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUV4RSxPQUFPLEVBQ0wsU0FBUyxFQUNULE9BQU8sRUFDUCxRQUFRLEVBQ1IsbUJBQW1CLEVBQ25CLDRCQUE0QixFQUM1QixXQUFXLEVBQ1gsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNkLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE1BQU0sWUFBWSxHQUFHLENBQUMsU0FBUyxHQUFHLEVBQUUsRUFBRSxXQUFXLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDO0lBQzlCLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFELE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUM3QixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sT0FBTyxHQUFHLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxF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
@@ -6,44 +6,44 @@ import ArticleHeader from '../ArticleHeader';
6
6
  describe('ArticleHeader', () => {
7
7
  describe('Same calendar day during GMT', () => {
8
8
  afterEach(() => MockDate.reset());
9
- const updated = '2021-12-31T06:30:00Z';
9
+ const updated = '2021-12-31T06:30:00+00:00';
10
10
  it('Within a minute of updating', () => {
11
- MockDate.set('2021-12-31T06:30:10Z');
11
+ MockDate.set('2021-12-31T06:30:10+00:00');
12
12
  const { getByText, queryByTestId } = render(React.createElement(ArticleHeader, { updated: updated }));
13
- expect(getByText('6.30am')).toBeVisible();
13
+ expect(getByText(/6.30am/i)).toBeVisible();
14
14
  expect(queryByTestId('TimeSincePublishing')).toBeFalsy();
15
15
  });
16
16
  it('Within an hour of updating', () => {
17
- MockDate.set('2021-12-31T07:00:00Z');
17
+ MockDate.set('2021-12-31T07:00:00+00:00');
18
18
  const { getByText } = render(React.createElement(ArticleHeader, { updated: updated }));
19
- expect(getByText('6.30am')).toBeVisible();
19
+ expect(getByText(/6.30am/i)).toBeVisible();
20
20
  expect(getByText('30 minutes ago')).toBeVisible();
21
21
  });
22
22
  it('Between 1 and 12 hours after updating', () => {
23
- MockDate.set('2021-12-31T08:30:00Z');
23
+ MockDate.set('2021-12-31T08:30:00+00:00');
24
24
  const { getByText } = render(React.createElement(ArticleHeader, { updated: updated }));
25
- expect(getByText('6.30am')).toBeVisible();
25
+ expect(getByText(/6.30am/i)).toBeVisible();
26
26
  expect(getByText('2 hours ago')).toBeVisible();
27
27
  });
28
28
  it('After 12 hours but same calendar day', () => {
29
- MockDate.set('2021-12-20T20:30:00Z');
29
+ MockDate.set('2021-12-20T20:30:00+00:00');
30
30
  const { getByText, queryByTestId } = render(React.createElement(ArticleHeader, { updated: updated }));
31
- expect(getByText('6.30am')).toBeVisible();
31
+ expect(getByText(/6.30am/i)).toBeVisible();
32
32
  expect(queryByTestId('TimeSincePublishing')).toBeFalsy();
33
33
  });
34
34
  it('With breaking flag and headline', () => {
35
- MockDate.set('2021-12-31T07:00:00Z');
36
- const { baseElement, getByText } = render(React.createElement(ArticleHeader, { updated: updated, breaking: "true", headline: "This%20is%20the%20headline" }));
37
- expect(getByText('6.30am')).toBeVisible();
35
+ MockDate.set('2021-12-31T07:00:00+00:00');
36
+ const { getByText } = render(React.createElement(ArticleHeader, { updated: updated, breaking: "true", headline: "This%20is%20the%20headline" }));
37
+ expect(getByText(/6.30am/i)).toBeVisible();
38
38
  expect(getByText('30 minutes ago')).toBeVisible();
39
39
  expect(getByText('BREAKING')).toBeVisible();
40
40
  expect(getByText('This is the headline')).toBeVisible();
41
- expect(baseElement).toMatchSnapshot();
41
+ // expect(baseElement).toMatchSnapshot();
42
42
  });
43
43
  it('With breaking flag expired', () => {
44
- MockDate.set('2021-12-31T08:30:00Z');
44
+ MockDate.set('2021-12-31T08:30:00+00:00');
45
45
  const { getByText, queryByText } = render(React.createElement(ArticleHeader, { updated: updated, breaking: "true" }));
46
- expect(getByText('6.30am')).toBeVisible();
46
+ expect(getByText(/6.30am/i)).toBeVisible();
47
47
  expect(getByText('2 hours ago')).toBeVisible();
48
48
  expect(queryByText('BREAKING')).toBeFalsy();
49
49
  });
@@ -54,184 +54,38 @@ describe('ArticleHeader', () => {
54
54
  it('Within a minute of updating', () => {
55
55
  MockDate.set('2022-04-20T06:30:10+01:00');
56
56
  const { getByText, queryByTestId } = render(React.createElement(ArticleHeader, { updated: updated }));
57
- expect(getByText('6.30am')).toBeVisible();
57
+ expect(getByText(/6.30am/i)).toBeVisible();
58
58
  expect(queryByTestId('TimeSincePublishing')).toBeFalsy();
59
59
  });
60
60
  it('Within an hour of updating', () => {
61
61
  MockDate.set('2022-04-20T07:00:00+01:00');
62
62
  const { getByText } = render(React.createElement(ArticleHeader, { updated: updated }));
63
- expect(getByText('6.30am')).toBeVisible();
63
+ expect(getByText(/6.30am/i)).toBeVisible();
64
64
  expect(getByText('30 minutes ago')).toBeVisible();
65
65
  });
66
66
  it('Between 1 and 12 hours after updating', () => {
67
67
  MockDate.set('2022-04-20T08:30:00+01:00');
68
68
  const { getByText } = render(React.createElement(ArticleHeader, { updated: updated }));
69
- expect(getByText('6.30am')).toBeVisible();
69
+ expect(getByText(/6.30am/i)).toBeVisible();
70
70
  expect(getByText('2 hours ago')).toBeVisible();
71
71
  });
72
72
  it('After 12 hours but same calendar day', () => {
73
73
  MockDate.set('2022-04-20T20:30:00+01:00');
74
74
  const { getByText, queryByTestId } = render(React.createElement(ArticleHeader, { updated: updated }));
75
- expect(getByText('6.30am')).toBeVisible();
75
+ expect(getByText(/6.30am/i)).toBeVisible();
76
76
  expect(queryByTestId('TimeSincePublishing')).toBeFalsy();
77
77
  });
78
78
  });
79
79
  describe('Different calendar days', () => {
80
80
  afterEach(() => MockDate.reset());
81
- const updated = '2021-12-31T22:30:00Z';
81
+ const updated = '2021-12-31T22:30:00+00:00';
82
82
  it('Between 1 and 12 hours after updating', () => {
83
- MockDate.set('2022-01-01T02:30:00Z');
83
+ MockDate.set('2022-01-01T02:30:00+00:00');
84
84
  const { getByText } = render(React.createElement(ArticleHeader, { updated: updated }));
85
- expect(getByText('10.30pm')).toBeVisible();
85
+ expect(getByText(/10.30pm/i)).toBeVisible();
86
86
  expect(getByText('4 hours ago')).toBeVisible();
87
- expect(getByText('December 31 2021')).toBeVisible();
87
+ expect(getByText('December 31')).toBeVisible();
88
88
  });
89
89
  });
90
90
  });
91
- /*
92
- describe('ArticleHeader', () => {
93
- describe('Same calendar day during GMT', () => {
94
- afterEach(() => MockDate.reset());
95
-
96
- const date = '31/12/2021';
97
- const time = '06:30';
98
-
99
- it('Within a minute of updating', () => {
100
- MockDate.set('2021-12-31T06:30:10Z');
101
-
102
- const { getByText, queryByTestId } = render(
103
- <ArticleHeader date={date} time={time} />
104
- );
105
-
106
- expect(getByText('6.30am')).toBeVisible();
107
- expect(queryByTestId('TimeSincePublishing')).toBeFalsy();
108
- });
109
-
110
- it('Within an hour of updating', () => {
111
- MockDate.set('2021-12-31T07:00:00Z');
112
-
113
- const { getByText } = render(<ArticleHeader date={date} time={time} />);
114
-
115
- expect(getByText('6.30am')).toBeVisible();
116
- expect(getByText('30 minutes ago')).toBeVisible();
117
- });
118
-
119
- it('Between 1 and 12 hours after updating', () => {
120
- MockDate.set('2021-12-31T08:30:00Z');
121
-
122
- const { getByText } = render(<ArticleHeader date={date} time={time} />);
123
-
124
- expect(getByText('6.30am')).toBeVisible();
125
- expect(getByText('2 hours ago')).toBeVisible();
126
- });
127
-
128
- it('After 12 hours but same calendar day', () => {
129
- MockDate.set('2021-12-20T20:30:00Z');
130
-
131
- const { getByText, queryByTestId } = render(
132
- <ArticleHeader date={date} time={time} />
133
- );
134
-
135
- expect(getByText('6.30am')).toBeVisible();
136
- expect(queryByTestId('TimeSincePublishing')).toBeFalsy();
137
- });
138
-
139
- it('With breaking flag and headline', () => {
140
- MockDate.set('2021-12-31T07:00:00Z');
141
-
142
- const { baseElement, getByText } = render(
143
- <ArticleHeader
144
- date={date}
145
- time={time}
146
- breaking="true"
147
- headline="This%20is%20the%20headline"
148
- />
149
- );
150
-
151
- expect(getByText('6.30am')).toBeVisible();
152
- expect(getByText('30 minutes ago')).toBeVisible();
153
- expect(getByText('BREAKING')).toBeVisible();
154
- expect(getByText('This is the headline')).toBeVisible();
155
-
156
- expect(baseElement).toMatchSnapshot();
157
- });
158
-
159
- it('With breaking flag expired', () => {
160
- MockDate.set('2021-12-31T08:30:00Z');
161
-
162
- const { getByText, queryByText } = render(
163
- <ArticleHeader date={date} time={time} breaking="true" />
164
- );
165
-
166
- expect(getByText('6.30am')).toBeVisible();
167
- expect(getByText('2 hours ago')).toBeVisible();
168
- expect(queryByText('BREAKING')).toBeFalsy();
169
- });
170
- });
171
-
172
- describe('Same calendar day during BST', () => {
173
- afterEach(() => MockDate.reset());
174
-
175
- const date = '20/04/2022';
176
- const time = '06:30';
177
-
178
- it('Within a minute of updating', () => {
179
- MockDate.set('2022-04-20T06:30:10+01:00');
180
-
181
- const { getByText, queryByTestId } = render(
182
- <ArticleHeader date={date} time={time} />
183
- );
184
-
185
- expect(getByText('6.30am')).toBeVisible();
186
- expect(queryByTestId('TimeSincePublishing')).toBeFalsy();
187
- });
188
-
189
- it('Within an hour of updating', () => {
190
- MockDate.set('2022-04-20T07:00:00+01:00');
191
-
192
- const { getByText } = render(<ArticleHeader date={date} time={time} />);
193
-
194
- expect(getByText('6.30am')).toBeVisible();
195
- expect(getByText('30 minutes ago')).toBeVisible();
196
- });
197
-
198
- it('Between 1 and 12 hours after updating', () => {
199
- MockDate.set('2022-04-20T08:30:00+01:00');
200
-
201
- const { getByText } = render(<ArticleHeader date={date} time={time} />);
202
-
203
- expect(getByText('6.30am')).toBeVisible();
204
- expect(getByText('2 hours ago')).toBeVisible();
205
- });
206
-
207
- it('After 12 hours but same calendar day', () => {
208
- MockDate.set('2022-04-20T20:30:00+01:00');
209
-
210
- const { getByText, queryByTestId } = render(
211
- <ArticleHeader date={date} time={time} />
212
- );
213
-
214
- expect(getByText('6.30am')).toBeVisible();
215
- expect(queryByTestId('TimeSincePublishing')).toBeFalsy();
216
- });
217
- });
218
-
219
- describe('Different calendar days', () => {
220
- afterEach(() => MockDate.reset());
221
-
222
- const date = '31/12/2021';
223
- const time = '22:30';
224
-
225
- it('Between 1 and 12 hours after updating', () => {
226
- MockDate.set('2022-01-01T02:30:00Z');
227
-
228
- const { getByText } = render(<ArticleHeader date={date} time={time} />);
229
-
230
- expect(getByText('10.30pm')).toBeVisible();
231
- expect(getByText('4 hours ago')).toBeVisible();
232
- expect(getByText('December 31 2021')).toBeVisible();
233
- });
234
- });
235
- });
236
- */
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZUhlYWRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXJ0aWNsZS1oZWFkZXIvX190ZXN0c19fL0FydGljbGVIZWFkZXIudGVzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUVoQyxPQUFPLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QyxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUM3QixRQUFRLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO1FBQzVDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVsQyxNQUFNLE9BQU8sR0FBRyxzQkFBc0IsQ0FBQztRQUV2QyxFQUFFLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO1lBQ3JDLFFBQVEsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUVyQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FDekMsb0JBQUMsYUFBYSxJQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FDcEMsQ0FBQztZQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxNQUFNLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7WUFDcEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBRXJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsb0JBQUMsYUFBYSxJQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FBQyxDQUFDO1lBRWxFLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxNQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRSxHQUFHLEVBQUU7WUFDL0MsUUFBUSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBRXJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsb0JBQUMsYUFBYSxJQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FBQyxDQUFDO1lBRWxFLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsc0NBQXNDLEVBQUUsR0FBRyxFQUFFO1lBQzlDLFFBQVEsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUVyQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FDekMsb0JBQUMsYUFBYSxJQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FDcEMsQ0FBQztZQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxNQUFNLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRSxHQUFHLEVBQUU7WUFDekMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBRXJDLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUN2QyxvQkFBQyxhQUFhLElBQ1osT0FBTyxFQUFFLE9BQU8sRUFDaEIsUUFBUSxFQUFDLE1BQU0sRUFDZixRQUFRLEVBQUMsNEJBQTRCLEdBQ3JDLENBQ0gsQ0FBQztZQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxNQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsRCxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFeEQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsRUFBRTtZQUNwQyxRQUFRLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFFckMsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQ3ZDLG9CQUFDLGFBQWEsSUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLEdBQUcsQ0FDcEQsQ0FBQztZQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDL0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO1FBQzVDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVsQyxNQUFNLE9BQU8sR0FBRywyQkFBMkIsQ0FBQztRQUU1QyxFQUFFLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO1lBQ3JDLFFBQVEsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUUxQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FDekMsb0JBQUMsYUFBYSxJQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FDcEMsQ0FBQztZQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxNQUFNLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7WUFDcEMsUUFBUSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1lBRTFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsb0JBQUMsYUFBYSxJQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FBQyxDQUFDO1lBRWxFLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxNQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRSxHQUFHLEVBQUU7WUFDL0MsUUFBUSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1lBRTFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsb0JBQUMsYUFBYSxJQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FBQyxDQUFDO1lBRWxFLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsc0NBQXNDLEVBQUUsR0FBRyxFQUFFO1lBQzlDLFFBQVEsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUUxQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FDekMsb0JBQUMsYUFBYSxJQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FDcEMsQ0FBQztZQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxNQUFNLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtRQUN2QyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFbEMsTUFBTSxPQUFPLEdBQUcsc0JBQXNCLENBQUM7UUFFdkMsRUFBRSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRTtZQUMvQyxRQUFRLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFFckMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxvQkFBQyxhQUFhLElBQUMsT0FBTyxFQUFFLE9BQU8sR0FBSSxDQUFDLENBQUM7WUFFbEUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMvQyxNQUFNLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWlKRSJ9
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZUhlYWRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXJ0aWNsZS1oZWFkZXIvX190ZXN0c19fL0FydGljbGVIZWFkZXIudGVzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUVoQyxPQUFPLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QyxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUM3QixRQUFRLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO1FBQzVDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVsQyxNQUFNLE9BQU8sR0FBRywyQkFBMkIsQ0FBQztRQUU1QyxFQUFFLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO1lBQ3JDLFFBQVEsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUUxQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FDekMsb0JBQUMsYUFBYSxJQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FDcEMsQ0FBQztZQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQyxNQUFNLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7WUFDcEMsUUFBUSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxD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
@@ -1,7 +1,6 @@
1
- declare type RecommendedArticlesProps = {
2
- articleId: string;
1
+ import React from 'react';
2
+ export declare const RecommendedArticles: React.FC<{
3
3
  section: string;
4
+ isVisible?: boolean;
4
5
  analyticsStream?: (evt: any) => void;
5
- };
6
- export declare const RecommendedArticles: ({ articleId, section, analyticsStream }: RecommendedArticlesProps) => JSX.Element | null;
7
- export {};
6
+ }>;
@@ -1,30 +1,19 @@
1
- import React, { useEffect, useState } from 'react';
2
- import RelatedArticles from '@times-components/related-articles';
3
- import { GetRecommendedArticles } from '@times-components/provider';
1
+ import React from 'react';
4
2
  import { Placeholder } from '@times-components/image';
5
- export const RecommendedArticles = ({ articleId, section, analyticsStream }) => {
6
- const [isReady, setIsReady] = useState(false);
7
- useEffect(() => {
8
- setIsReady(true);
9
- }, []);
10
- if (!isReady) {
3
+ import RelatedArticles from '@times-components/related-articles';
4
+ import { useFetch } from '../../helpers/fetch/FetchProvider';
5
+ import { getRelatedArticlesSlice } from './formatters';
6
+ import { PlaceholderContainer } from '../common-styles';
7
+ export const RecommendedArticles = ({ section, isVisible, analyticsStream }) => {
8
+ const { loading, error, data } = useFetch();
9
+ if (loading && isVisible) {
10
+ return (React.createElement(PlaceholderContainer, null,
11
+ React.createElement(Placeholder, null)));
12
+ }
13
+ if (error || data === undefined) {
11
14
  return null;
12
15
  }
13
- return (React.createElement(GetRecommendedArticles, { publisher: 'TIMES', recomArgs: { userId: '1234', articleId }, ssr: false, debounceTimeMs: 0 }, ({ isLoading, error, recommendations }) => {
14
- if (error) {
15
- return null;
16
- }
17
- if (isLoading || !recommendations) {
18
- return (React.createElement("div", { className: "placeholder" },
19
- React.createElement(Placeholder, null)));
20
- }
21
- const slice = {
22
- sliceName: 'StandardSlice',
23
- items: recommendations
24
- ? recommendations.articles.map((article) => ({ article }))
25
- : []
26
- };
27
- return (React.createElement(RelatedArticles, { heading: `Today's ${section}`, slice: slice, isVisible: true, analyticsStream: analyticsStream }));
28
- }));
16
+ return (React.createElement("div", { style: { display: isVisible ? 'block' : 'none' } },
17
+ React.createElement(RelatedArticles, { heading: `Today's ${section}`, slice: getRelatedArticlesSlice(data.recommendations), isVisible: true, analyticsStream: analyticsStream })));
29
18
  };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb21tZW5kZWRBcnRpY2xlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JlY29tbWVuZGVkLWFydGljbGVzL1JlY29tbWVuZGVkQXJ0aWNsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVuRCxPQUFPLGVBQWUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUlwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFRdEQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxFQUNsQyxTQUFTLEVBQ1QsT0FBTyxFQUNQLGVBQWUsRUFDVSxFQUFFLEVBQUU7SUFDN0IsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFdkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE9BQU8sQ0FDTCxvQkFBQyxzQkFBc0IsSUFDckIsU0FBUyxFQUFFLE9BQU8sRUFDbEIsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFDeEMsR0FBRyxFQUFFLEtBQUssRUFDVixjQUFjLEVBQUUsQ0FBQyxJQUVoQixDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQU8sRUFBRSxFQUFFO1FBQzlDLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksU0FBUyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ2pDLE9BQU8sQ0FDTCw2QkFBSyxTQUFTLEVBQUMsYUFBYTtnQkFDMUIsb0JBQUMsV0FBVyxPQUFHLENBQ1gsQ0FDUCxDQUFDO1NBQ0g7UUFFRCxNQUFNLEtBQUssR0FBNEI7WUFDckMsU0FBUyxFQUFFLGVBQWU7WUFDMUIsS0FBSyxFQUFFLGVBQWU7Z0JBQ3BCLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQy9ELENBQUMsQ0FBQyxFQUFFO1NBQ1AsQ0FBQztRQUVGLE9BQU8sQ0FDTCxvQkFBQyxlQUFlLElBQ2QsT0FBTyxFQUFFLFdBQVcsT0FBTyxFQUFFLEVBQzdCLEtBQUssRUFBRSxLQUFLLEVBQ1osU0FBUyxRQUNULGVBQWUsRUFBRSxlQUFlLEdBQ2hDLENBQ0gsQ0FBQztJQUNKLENBQUMsQ0FDc0IsQ0FDMUIsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb21tZW5kZWRBcnRpY2xlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JlY29tbWVuZGVkLWFydGljbGVzL1JlY29tbWVuZGVkQXJ0aWNsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxlQUFlLE1BQU0sb0NBQW9DLENBQUM7QUFFakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FJM0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtJQUMvQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxRQUFRLEVBQU8sQ0FBQztJQUVqRCxJQUFJLE9BQU8sSUFBSSxTQUFTLEVBQUU7UUFDeEIsT0FBTyxDQUNMLG9CQUFDLG9CQUFvQjtZQUNuQixvQkFBQyxXQUFXLE9BQUcsQ0FDTSxDQUN4QixDQUFDO0tBQ0g7SUFFRCxJQUFJLEtBQUssSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxPQUFPLENBQ0wsNkJBQUssS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7UUFDbkQsb0JBQUMsZUFBZSxJQUNkLE9BQU8sRUFBRSxXQUFXLE9BQU8sRUFBRSxFQUM3QixLQUFLLEVBQUUsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUNwRCxTQUFTLFFBQ1QsZUFBZSxFQUFFLGVBQWUsR0FDaEMsQ0FDRSxDQUNQLENBQUM7QUFDSixDQUFDLENBQUMifQ==
@@ -1 +1,5 @@
1
- export {};
1
+ export declare const getArticles: (data: any, numOfArticles: number) => {
2
+ recommendations: {
3
+ articles: any;
4
+ };
5
+ };
@@ -1,65 +1,39 @@
1
1
  import React from 'react';
2
2
  import { showcaseConverter } from '@times-components/storybook';
3
- import { MockedProvider } from '@times-components/provider-test-tools';
4
- import { recommendations } from '@times-components/provider-queries';
3
+ import { FetchProvider } from '../../helpers/fetch/FetchProvider';
4
+ import previewData from '../../fixtures/preview-data/recommended-articles';
5
5
  import analyticsStream from '../../fixtures/analytics-actions/analytics-actions';
6
6
  import { RecommendedArticles } from './RecommendedArticles';
7
- const mocks = [
8
- {
9
- delay: 1000,
10
- request: {
11
- query: recommendations,
12
- variables: {
13
- publisher: 'TIMES',
14
- recomArgs: {
15
- userId: '1234',
16
- articleId: '94a01926-719a-11ec-aacf-0736e08b15cd'
17
- }
18
- }
19
- },
20
- result: {
21
- data: {
22
- recommendations: {
23
- __typename: 'Recommendations',
24
- leadAsset: 'null',
25
- articles: [
26
- {
27
- __typename: 'UniversalArticle',
28
- headline: 'Whole world is against us, says top Russian strategist',
29
- id: 'a9ffb7cc-d5d1-11ec-bb99-1bcd45646516',
30
- media: {
31
- __typename: 'Image'
32
- },
33
- slug: 'were-no-match-for-ukrainian-grit-and-firepower-says-retired-russian-colonel',
34
- url: 'https://www.staging-thetimes.co.uk/article/were-no-match-for-ukrainian-grit-and-firepower-says-retired-russian-colonel-lhnvsfj33'
35
- },
36
- {
37
- __typename: 'UniversalArticle',
38
- headline: 'Vardys leave court with swipe at Wayne Rooney',
39
- id: 'f3d730a0-d5c2-11ec-8585-951ab3afb4d2',
40
- media: {
41
- __typename: 'Image'
42
- },
43
- slug: 'wayne-rooney-to-give-evidence-in-wagatha-christie-trial-as-jamie-vardy-attends-court-for-first-time',
44
- url: 'https://www.staging-thetimes.co.uk/article/wayne-rooney-to-give-evidence-in-wagatha-christie-trial-as-jamie-vardy-attends-court-for-first-time-wlzvxklc6'
45
- }
46
- ]
47
- }
48
- }
49
- }
7
+ export const getArticles = (data, numOfArticles) => ({
8
+ recommendations: {
9
+ articles: data.recommendations.articles.slice(0, numOfArticles)
50
10
  }
51
- ];
52
- const recarticles = {
11
+ });
12
+ const recommArticles = {
53
13
  children: [
54
14
  {
55
- component: () => (React.createElement(MockedProvider, { mocks: mocks },
56
- React.createElement(RecommendedArticles, { articleId: "94a01926-719a-11ec-aacf-0736e08b15cd", section: "News", analyticsStream: analyticsStream }))),
57
- name: 'Recommended Articles',
15
+ component: () => (React.createElement(FetchProvider, { previewData: getArticles(previewData, 1) },
16
+ React.createElement(RecommendedArticles, { section: "News", isVisible: true, analyticsStream: analyticsStream }))),
17
+ name: 'Recommended Articles - 1 Article',
18
+ platform: 'web',
19
+ type: 'story'
20
+ },
21
+ {
22
+ component: () => (React.createElement(FetchProvider, { previewData: getArticles(previewData, 2) },
23
+ React.createElement(RecommendedArticles, { section: "Business", isVisible: true, analyticsStream: analyticsStream }))),
24
+ name: 'Recommended Articles - 2 Article',
25
+ platform: 'web',
26
+ type: 'story'
27
+ },
28
+ {
29
+ component: () => (React.createElement(FetchProvider, { previewData: previewData },
30
+ React.createElement(RecommendedArticles, { section: "Sport", isVisible: true, analyticsStream: analyticsStream }))),
31
+ name: 'Recommended Articles - 3 Article',
58
32
  platform: 'web',
59
33
  type: 'story'
60
34
  }
61
35
  ],
62
36
  name: 'Typescript Component/Recommended Articles'
63
37
  };
64
- showcaseConverter(module, recarticles);
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb21tZW5kZWRBcnRpY2xlcy5zdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVjb21tZW5kZWQtYXJ0aWNsZXMvUmVjb21tZW5kZWRBcnRpY2xlcy5zdG9yaWVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVyRSxPQUFPLGVBQWUsTUFBTSxvREFBb0QsQ0FBQztBQUNqRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCxNQUFNLEtBQUssR0FBRztJQUNaO1FBQ0UsS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUU7WUFDUCxLQUFLLEVBQUUsZUFBZTtZQUN0QixTQUFTLEVBQUU7Z0JBQ1QsU0FBUyxFQUFFLE9BQU87Z0JBQ2xCLFNBQVMsRUFBRTtvQkFDVCxNQUFNLEVBQUUsTUFBTTtvQkFDZCxTQUFTLEVBQUUsc0NBQXNDO2lCQUNsRDthQUNGO1NBQ0Y7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUU7Z0JBQ0osZUFBZSxFQUFFO29CQUNmLFVBQVUsRUFBRSxpQkFBaUI7b0JBQzdCLFNBQVMsRUFBRSxNQUFNO29CQUNqQixRQUFRLEVBQUU7d0JBQ1I7NEJBQ0UsVUFBVSxFQUFFLGtCQUFrQjs0QkFDOUIsUUFBUSxFQUNOLHdEQUF3RDs0QkFDMUQsRUFBRSxFQUFFLHNDQUFzQzs0QkFDMUMsS0FBSyxFQUFFO2dDQUNMLFVBQVUsRUFBRSxPQUFPOzZCQUNwQjs0QkFDRCxJQUFJLEVBQ0YsNkVBQTZFOzRCQUMvRSxHQUFHLEVBQ0Qsa0lBQWtJO3lCQUNySTt3QkFDRDs0QkFDRSxVQUFVLEVBQUUsa0JBQWtCOzRCQUM5QixRQUFRLEVBQUUsK0NBQStDOzRCQUN6RCxFQUFFLEVBQUUsc0NBQXNDOzRCQUMxQyxLQUFLLEVBQUU7Z0NBQ0wsVUFBVSxFQUFFLE9BQU87NkJBQ3BCOzRCQUNELElBQUksRUFDRixxR0FBcUc7NEJBQ3ZHLEdBQUcsRUFDRCwwSkFBMEo7eUJBQzdKO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLFFBQVEsRUFBRTtRQUNSO1lBQ0UsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQ2Ysb0JBQUMsY0FBYyxJQUFDLEtBQUssRUFBRSxLQUFLO2dCQUMxQixvQkFBQyxtQkFBbUIsSUFDbEIsU0FBUyxFQUFDLHNDQUFzQyxFQUNoRCxPQUFPLEVBQUMsTUFBTSxFQUNkLGVBQWUsRUFBRSxlQUFlLEdBQ2hDLENBQ2EsQ0FDbEI7WUFFRCxJQUFJLEVBQUUsc0JBQXNCO1lBQzVCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsSUFBSSxFQUFFLE9BQU87U0FDZDtLQUNGO0lBQ0QsSUFBSSxFQUFFLDJDQUEyQztDQUNsRCxDQUFDO0FBRUYsaUJBQWlCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDIn0=
38
+ showcaseConverter(module, recommArticles);
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb21tZW5kZWRBcnRpY2xlcy5zdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVjb21tZW5kZWQtYXJ0aWNsZXMvUmVjb21tZW5kZWRBcnRpY2xlcy5zdG9yaWVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sV0FBVyxNQUFNLGtEQUFrRCxDQUFDO0FBQzNFLE9BQU8sZUFBZSxNQUFNLG9EQUFvRCxDQUFDO0FBRWpGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQVMsRUFBRSxhQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQztLQUNoRTtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sY0FBYyxHQUFHO0lBQ3JCLFFBQVEsRUFBRTtRQUNSO1lBQ0UsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQ2Ysb0JBQUMsYUFBYSxJQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDckQsb0JBQUMsbUJBQW1CLElBQ2xCLE9BQU8sRUFBQyxNQUFNLEVBQ2QsU0FBUyxRQUNULGVBQWUsRUFBRSxlQUFlLEdBQ2hDLENBQ1ksQ0FDakI7WUFDRCxJQUFJLEVBQUUsa0NBQWtDO1lBQ3hDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQ2Ysb0JBQUMsYUFBYSxJQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDckQsb0JBQUMsbUJBQW1CLElBQ2xCLE9BQU8sRUFBQyxVQUFVLEVBQ2xCLFNBQVMsUUFDVCxlQUFlLEVBQUUsZUFBZSxHQUNoQyxDQUNZLENBQ2pCO1lBQ0QsSUFBSSxFQUFFLGtDQUFrQztZQUN4QyxRQUFRLEVBQUUsS0FBSztZQUNmLElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUNmLG9CQUFDLGFBQWEsSUFBQyxXQUFXLEVBQUUsV0FBVztnQkFDckMsb0JBQUMsbUJBQW1CLElBQ2xCLE9BQU8sRUFBQyxPQUFPLEVBQ2YsU0FBUyxRQUNULGVBQWUsRUFBRSxlQUFlLEdBQ2hDLENBQ1ksQ0FDakI7WUFDRCxJQUFJLEVBQUUsa0NBQWtDO1lBQ3hDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsSUFBSSxFQUFFLE9BQU87U0FDZDtLQUNGO0lBQ0QsSUFBSSxFQUFFLDJDQUEyQztDQUNsRCxDQUFDO0FBRUYsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export declare const RecommendedFetch: React.FC<{
3
+ articleId: string;
4
+ section: string;
5
+ analyticsStream?: (evt: any) => void;
6
+ }>;
@@ -0,0 +1,12 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { FetchProvider } from '../../helpers/fetch/FetchProvider';
3
+ import { RecommendedArticles } from './RecommendedArticles';
4
+ export const RecommendedFetch = ({ articleId, section, analyticsStream }) => {
5
+ const [isClientSide, setIsClientSide] = useState(false);
6
+ useEffect(() => {
7
+ setIsClientSide(true);
8
+ });
9
+ return isClientSide ? (React.createElement(FetchProvider, { url: `/api/recommended-articles/${articleId}` },
10
+ React.createElement(RecommendedArticles, { section: section, analyticsStream: analyticsStream }))) : null;
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb21tZW5kZWRGZXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JlY29tbWVuZGVkLWFydGljbGVzL1JlY29tbWVuZGVkRmV0Y2gudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFNUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBSXhCLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7SUFDL0MsTUFBTSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFakUsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUNwQixvQkFBQyxhQUFhLElBQUMsR0FBRyxFQUFFLDZCQUE2QixTQUFTLEVBQUU7UUFDMUQsb0JBQUMsbUJBQW1CLElBQ2xCLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLGVBQWUsRUFBRSxlQUFlLEdBQ2hDLENBQ1ksQ0FDakIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ1gsQ0FBQyxDQUFDIn0=