@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.
- package/CHANGELOG.md +33 -0
- package/dist/components/article-header/ArticleHeader.js +15 -14
- package/dist/components/article-header/__tests__/ArticleHeader.test.js +24 -170
- package/dist/components/recommended-articles/RecommendedArticles.d.ts +4 -5
- package/dist/components/recommended-articles/RecommendedArticles.js +15 -26
- package/dist/components/recommended-articles/RecommendedArticles.stories.d.ts +5 -1
- package/dist/components/recommended-articles/RecommendedArticles.stories.js +26 -52
- package/dist/components/recommended-articles/RecommendedFetch.d.ts +6 -0
- package/dist/components/recommended-articles/RecommendedFetch.js +12 -0
- package/dist/components/recommended-articles/__tests__/RecommendedArticles.test.js +26 -60
- package/dist/components/recommended-articles/__tests__/RecommendedFetch.test.d.ts +1 -0
- package/dist/components/recommended-articles/__tests__/RecommendedFetch.test.js +14 -0
- package/dist/components/recommended-articles/formatters.d.ts +41 -0
- package/dist/components/recommended-articles/formatters.js +57 -0
- package/dist/fixtures/preview-data/recommended-articles.d.ts +84 -0
- package/dist/fixtures/preview-data/recommended-articles.js +351 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/package.json +6 -6
- package/rnw.js +1 -1
- package/src/components/article-header/ArticleHeader.tsx +16 -16
- package/src/components/article-header/__tests__/ArticleHeader.test.tsx +23 -170
- package/src/components/recommended-articles/RecommendedArticles.stories.tsx +41 -58
- package/src/components/recommended-articles/RecommendedArticles.tsx +26 -55
- package/src/components/recommended-articles/RecommendedFetch.tsx +25 -0
- package/src/components/recommended-articles/__tests__/RecommendedArticles.test.tsx +45 -75
- package/src/components/recommended-articles/__tests__/RecommendedFetch.test.tsx +23 -0
- package/src/components/recommended-articles/__tests__/__snapshots__/RecommendedArticles.test.tsx.snap +10 -55
- package/src/components/recommended-articles/__tests__/__snapshots__/RecommendedFetch.test.tsx.snap +9 -0
- package/src/components/recommended-articles/formatters.ts +100 -0
- package/src/fixtures/preview-data/recommended-articles.ts +385 -0
- package/src/index.ts +2 -2
- package/src/types/externs.d.ts +0 -7
- 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
|
-
|
|
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
|
|
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
|
|
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,
|
|
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:
|
|
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:
|
|
11
|
+
MockDate.set('2021-12-31T06:30:10+00:00');
|
|
12
12
|
const { getByText, queryByTestId } = render(React.createElement(ArticleHeader, { updated: updated }));
|
|
13
|
-
expect(getByText(
|
|
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:
|
|
17
|
+
MockDate.set('2021-12-31T07:00:00+00:00');
|
|
18
18
|
const { getByText } = render(React.createElement(ArticleHeader, { updated: updated }));
|
|
19
|
-
expect(getByText(
|
|
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:
|
|
23
|
+
MockDate.set('2021-12-31T08:30:00+00:00');
|
|
24
24
|
const { getByText } = render(React.createElement(ArticleHeader, { updated: updated }));
|
|
25
|
-
expect(getByText(
|
|
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:
|
|
29
|
+
MockDate.set('2021-12-20T20:30:00+00:00');
|
|
30
30
|
const { getByText, queryByTestId } = render(React.createElement(ArticleHeader, { updated: updated }));
|
|
31
|
-
expect(getByText(
|
|
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:
|
|
36
|
-
const {
|
|
37
|
-
expect(getByText(
|
|
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:
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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:
|
|
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:
|
|
83
|
+
MockDate.set('2022-01-01T02:30:00+00:00');
|
|
84
84
|
const { getByText } = render(React.createElement(ArticleHeader, { updated: updated }));
|
|
85
|
-
expect(getByText(
|
|
85
|
+
expect(getByText(/10.30pm/i)).toBeVisible();
|
|
86
86
|
expect(getByText('4 hours ago')).toBeVisible();
|
|
87
|
-
expect(getByText('December 31
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZUhlYWRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXJ0aWNsZS1oZWFkZXIvX190ZXN0c19fL0FydGljbGVIZWFkZXIudGVzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUVoQyxPQUFPLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QyxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUM3QixRQUFRLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO1FBQzVDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVsQyxNQUFNLE9BQU8sR0FBRyxzQkFBc0IsQ0FBQztRQUV2QyxFQUFFLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO1lBQ3JDLFFBQVEsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUVyQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FDekMsb0JBQUMsYUFBYSxJQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FDcEMsQ0FBQztZQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQyxNQUFNLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7WUFDcEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxD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
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZUhlYWRlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXJ0aWNsZS1oZWFkZXIvX190ZXN0c19fL0FydGljbGVIZWFkZXIudGVzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUVoQyxPQUFPLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUU3QyxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUM3QixRQUFRLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO1FBQzVDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVsQyxNQUFNLE9BQU8sR0FBRywyQkFBMkIsQ0FBQztRQUU1QyxFQUFFLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO1lBQ3JDLFFBQVEsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUUxQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FDekMsb0JBQUMsYUFBYSxJQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUksQ0FDcEMsQ0FBQztZQUVGLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQyxNQUFNLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7WUFDcEMsUUFBUSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxD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
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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(
|
|
14
|
-
|
|
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,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb21tZW5kZWRBcnRpY2xlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JlY29tbWVuZGVkLWFydGljbGVzL1JlY29tbWVuZGVkQXJ0aWNsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxlQUFlLE1BQU0sb0NBQW9DLENBQUM7QUFFakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FJM0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtJQUMvQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxRQUFRLEVBQU8sQ0FBQztJQUVqRCxJQUFJLE9BQU8sSUFBSSxTQUFTLEVBQUU7UUFDeEIsT0FBTyxDQUNMLG9CQUFDLG9CQUFvQjtZQUNuQixvQkFBQyxXQUFXLE9BQUcsQ0FDTSxDQUN4QixDQUFDO0tBQ0g7SUFFRCxJQUFJLEtBQUssSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxPQUFPLENBQ0wsNkJBQUssS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7UUFDbkQsb0JBQUMsZUFBZSxJQUNkLE9BQU8sRUFBRSxXQUFXLE9BQU8sRUFBRSxFQUM3QixLQUFLLEVBQUUsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUNwRCxTQUFTLFFBQ1QsZUFBZSxFQUFFLGVBQWUsR0FDaEMsQ0FDRSxDQUNQLENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
|
@@ -1,65 +1,39 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { showcaseConverter } from '@times-components/storybook';
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
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
|
|
8
|
-
{
|
|
9
|
-
|
|
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
|
|
11
|
+
});
|
|
12
|
+
const recommArticles = {
|
|
53
13
|
children: [
|
|
54
14
|
{
|
|
55
|
-
component: () => (React.createElement(
|
|
56
|
-
React.createElement(RecommendedArticles, {
|
|
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,
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
showcaseConverter(module, recommArticles);
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb21tZW5kZWRBcnRpY2xlcy5zdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVjb21tZW5kZWQtYXJ0aWNsZXMvUmVjb21tZW5kZWRBcnRpY2xlcy5zdG9yaWVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sV0FBVyxNQUFNLGtEQUFrRCxDQUFDO0FBQzNFLE9BQU8sZUFBZSxNQUFNLG9EQUFvRCxDQUFDO0FBRWpGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQVMsRUFBRSxhQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQztLQUNoRTtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sY0FBYyxHQUFHO0lBQ3JCLFFBQVEsRUFBRTtRQUNSO1lBQ0UsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQ2Ysb0JBQUMsYUFBYSxJQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDckQsb0JBQUMsbUJBQW1CLElBQ2xCLE9BQU8sRUFBQyxNQUFNLEVBQ2QsU0FBUyxRQUNULGVBQWUsRUFBRSxlQUFlLEdBQ2hDLENBQ1ksQ0FDakI7WUFDRCxJQUFJLEVBQUUsa0NBQWtDO1lBQ3hDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQ2Ysb0JBQUMsYUFBYSxJQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDckQsb0JBQUMsbUJBQW1CLElBQ2xCLE9BQU8sRUFBQyxVQUFVLEVBQ2xCLFNBQVMsUUFDVCxlQUFlLEVBQUUsZUFBZSxHQUNoQyxDQUNZLENBQ2pCO1lBQ0QsSUFBSSxFQUFFLGtDQUFrQztZQUN4QyxRQUFRLEVBQUUsS0FBSztZQUNmLElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUNmLG9CQUFDLGFBQWEsSUFBQyxXQUFXLEVBQUUsV0FBVztnQkFDckMsb0JBQUMsbUJBQW1CLElBQ2xCLE9BQU8sRUFBQyxPQUFPLEVBQ2YsU0FBUyxRQUNULGVBQWUsRUFBRSxlQUFlLEdBQ2hDLENBQ1ksQ0FDakI7WUFDRCxJQUFJLEVBQUUsa0NBQWtDO1lBQ3hDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsSUFBSSxFQUFFLE9BQU87U0FDZDtLQUNGO0lBQ0QsSUFBSSxFQUFFLDJDQUEyQztDQUNsRCxDQUFDO0FBRUYsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDIn0=
|
|
@@ -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=
|