@times-components/ts-components 1.87.0 → 1.87.1-alpha.18
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 +11 -0
- package/dist/components/opta/football/fixtures-ticker/OptaFootballFixturesTicker.js +6 -12
- package/dist/components/opta/football/fixtures-ticker/__tests__/OptaFootballFixturesTicker.test.js +18 -12
- package/dist/components/opta/football/shared-styles.js +51 -1
- package/dist/components/opta/football/standings/OptaFootballStandings.js +8 -3
- package/dist/components/opta/football/standings/OptaFootballStandings.stories.js +4 -4
- package/dist/components/opta/football/standings/__tests__/OptaFootballStandings.test.js +3 -3
- package/dist/components/opta/football/standings/styles.js +1 -1
- package/dist/components/opta/utils/__tests__/replaceNationalTeamDetails.test.js +22 -9
- package/dist/components/opta/utils/replaceNationalTeamDetails.d.ts +2 -1
- package/dist/components/opta/utils/replaceNationalTeamDetails.js +15 -22
- package/dist/components/opta/utils/useUpdateNationalTeamDetails.d.ts +2 -0
- package/dist/components/opta/utils/useUpdateNationalTeamDetails.js +10 -0
- package/package.json +16 -16
- package/rnw.js +1 -1
- package/src/components/opta/football/fixtures/__tests__/__snapshots__/OptaFootballFixtures.test.tsx.snap +2 -2
- package/src/components/opta/football/fixtures-ticker/OptaFootballFixturesTicker.tsx +5 -15
- package/src/components/opta/football/fixtures-ticker/__tests__/OptaFootballFixturesTicker.test.tsx +19 -11
- package/src/components/opta/football/fixtures-ticker/__tests__/__snapshots__/OptaFootballFixturesTicker.test.tsx.snap +15 -5
- package/src/components/opta/football/match-stats/__tests__/__snapshots__/OptaFootballMatchStats.test.tsx.snap +2 -2
- package/src/components/opta/football/shared-styles.ts +56 -0
- package/src/components/opta/football/standings/OptaFootballStandings.stories.tsx +4 -4
- package/src/components/opta/football/standings/OptaFootballStandings.tsx +31 -22
- package/src/components/opta/football/standings/__tests__/OptaFootballStandings.test.tsx +3 -3
- package/src/components/opta/football/standings/__tests__/__snapshots__/OptaFootballStandings.test.tsx.snap +2 -2
- package/src/components/opta/football/standings/styles.ts +1 -1
- package/src/components/opta/football/summary/__tests__/__snapshots__/OptaFootballSummary.test.tsx.snap +2 -2
- package/src/components/opta/utils/__tests__/replaceNationalTeamDetails.test.tsx +24 -12
- package/src/components/opta/utils/replaceNationalTeamDetails.ts +14 -28
- package/src/components/opta/utils/useUpdateNationalTeamDetails.tsx +17 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
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.88.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.87.0...@times-components/ts-components@1.88.0) (2024-05-31)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **TMRS-211:** update standings widget and replace flags function ([#3864](https://github.com/newsuk/times-components/issues/3864)) ([af29cba](https://github.com/newsuk/times-components/commit/af29cbaa1eb84dbaec158579506a9aa67ce13962))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [1.87.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.86.0...@times-components/ts-components@1.87.0) (2024-05-30)
|
|
7
18
|
|
|
8
19
|
|
|
@@ -3,13 +3,12 @@ import { Placeholder } from '@times-components/image';
|
|
|
3
3
|
import { initSettings, initStyleSheet, initScript, initElement, initComponent } from '../../utils/config';
|
|
4
4
|
import { PlaceholderContainer } from '../shared-styles';
|
|
5
5
|
import { WidgetContainer } from './styles';
|
|
6
|
-
import {
|
|
6
|
+
import { isNationalCompetition } from '../../utils/replaceNationalTeamDetails';
|
|
7
|
+
import { useUpdateNationalTeamDetails } from '../../utils/useUpdateNationalTeamDetails';
|
|
7
8
|
export const OptaFootballFixturesTicker = React.memo(({ season, competition, date_from, date_to, days_ahead, days_before, round }) => {
|
|
8
9
|
const ref = React.createRef();
|
|
9
10
|
const [isReady, setIsReady] = useState(false);
|
|
10
|
-
const
|
|
11
|
-
const nationalCompetitions = ['3', '5', '6', '235', '941', '1125'];
|
|
12
|
-
const isNationalCompetition = nationalCompetitions.includes(competition);
|
|
11
|
+
const isNationalComp = isNationalCompetition(competition);
|
|
13
12
|
useEffect(() => {
|
|
14
13
|
const sport = 'football';
|
|
15
14
|
initSettings();
|
|
@@ -33,25 +32,20 @@ export const OptaFootballFixturesTicker = React.memo(({ season, competition, dat
|
|
|
33
32
|
match_status: 'all',
|
|
34
33
|
order_by: 'date_ascending',
|
|
35
34
|
show_grouping: true,
|
|
36
|
-
show_crests: !
|
|
35
|
+
show_crests: !isNationalComp,
|
|
37
36
|
show_date: true,
|
|
38
37
|
show_live: true,
|
|
39
38
|
date_format: 'ddd Do MMM'
|
|
40
39
|
}).outerHTML;
|
|
41
40
|
initComponent();
|
|
42
41
|
setIsReady(true);
|
|
43
|
-
if (isNationalCompetition) {
|
|
44
|
-
const TeamNameContainers = ref.current &&
|
|
45
|
-
ref.current.getElementsByClassName('Opta-TeamName');
|
|
46
|
-
TeamNameContainers && setOptaImages(TeamNameContainers);
|
|
47
|
-
}
|
|
48
42
|
}
|
|
49
43
|
});
|
|
50
44
|
}, [ref]);
|
|
51
|
-
|
|
45
|
+
isNationalComp && useUpdateNationalTeamDetails(ref, 'Opta-TeamName');
|
|
52
46
|
return (React.createElement(React.Fragment, null,
|
|
53
47
|
React.createElement(WidgetContainer, { ref: ref }),
|
|
54
48
|
!isReady && (React.createElement(PlaceholderContainer, { height: 100 },
|
|
55
49
|
React.createElement(Placeholder, null)))));
|
|
56
50
|
});
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsRml4dHVyZXNUaWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcHRhL2Zvb3RiYWxsL2ZpeHR1cmVzLXRpY2tlci9PcHRhRm9vdGJhbGxGaXh0dXJlc1RpY2tlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRW5ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxVQUFVLEVBQ1YsV0FBVyxFQUNYLGFBQWEsRUFDZCxNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFeEYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBUWxDLEtBQUssQ0FBQyxJQUFJLENBQ2IsQ0FBQyxFQUNDLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULE9BQU8sRUFDUCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTixFQUFFLEVBQUU7SUFDSCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFrQixDQUFDO0lBRTlDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTFELFNBQVMsQ0FDUCxHQUFHLEVBQUU7UUFDSCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUM7UUFFekIsWUFBWSxFQUFFLENBQUM7UUFDZixjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEIsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLGFBQWEsRUFBRTtvQkFDakQsS0FBSztvQkFDTCxNQUFNLEVBQUUsVUFBVTtvQkFDbEIsTUFBTTtvQkFDTixXQUFXO29CQUNYLFNBQVM7b0JBQ1QsT0FBTztvQkFDUCxVQUFVO29CQUNWLFdBQVc7b0JBQ1gsS0FBSztvQkFDTCxJQUFJLEVBQUUsSUFBSTtvQkFDVixnQkFBZ0IsRUFBRSxJQUFJO29CQUN0QixRQUFRLEVBQUUsT0FBTztvQkFDakIsV0FBVyxFQUFFLE9BQU87b0JBQ3BCLFlBQVksRUFBRSxLQUFLO29CQUNuQixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixhQUFhLEVBQUUsSUFBSTtvQkFDbkIsV0FBVyxFQUFFLENBQUMsY0FBYztvQkFDNUIsU0FBUyxFQUFFLElBQUk7b0JBQ2YsU0FBUyxFQUFFLElBQUk7b0JBQ2YsV0FBVyxFQUFFLFlBQVk7aUJBQzFCLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBRWIsYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUNELENBQUMsR0FBRyxDQUFDLENBQ04sQ0FBQztJQUVGLGNBQWMsSUFBSSw0QkFBNEIsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFFckUsT0FBTyxDQUNMO1FBQ0Usb0JBQUMsZUFBZSxJQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUk7UUFFNUIsQ0FBQyxPQUFPLElBQUksQ0FDWCxvQkFBQyxvQkFBb0IsSUFBQyxNQUFNLEVBQUUsR0FBRztZQUMvQixvQkFBQyxXQUFXLE9BQUcsQ0FDTSxDQUN4QixDQUNBLENBQ0osQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDIn0=
|
package/dist/components/opta/football/fixtures-ticker/__tests__/OptaFootballFixturesTicker.test.js
CHANGED
|
@@ -7,7 +7,8 @@ jest.mock('@times-components/image', () => ({
|
|
|
7
7
|
const mockInitSettings = jest.fn();
|
|
8
8
|
const mockInitStyleSheet = jest.fn();
|
|
9
9
|
const mockInitComponent = jest.fn();
|
|
10
|
-
const
|
|
10
|
+
const mockIsNationalComp = jest.fn();
|
|
11
|
+
const mockUseUpdateNationalTeamDetails = jest.fn();
|
|
11
12
|
const mockInitElement = () => {
|
|
12
13
|
const element = document.createElement('div');
|
|
13
14
|
element.appendChild(document.createTextNode('Widget'));
|
|
@@ -21,23 +22,30 @@ jest.mock('../../../utils/config', () => ({
|
|
|
21
22
|
initComponent: mockInitComponent
|
|
22
23
|
}));
|
|
23
24
|
jest.mock('../../../utils/replaceNationalTeamDetails', () => ({
|
|
24
|
-
|
|
25
|
+
isNationalCompetition: mockIsNationalComp
|
|
26
|
+
}));
|
|
27
|
+
jest.mock('../../../utils/useUpdateNationalTeamDetails', () => ({
|
|
28
|
+
useUpdateNationalTeamDetails: mockUseUpdateNationalTeamDetails
|
|
25
29
|
}));
|
|
26
30
|
import { OptaFootballFixturesTicker } from '../OptaFootballFixturesTicker';
|
|
31
|
+
import { isNationalCompetition } from '../../../utils/replaceNationalTeamDetails';
|
|
27
32
|
const requiredProps = {
|
|
28
33
|
season: '2020',
|
|
29
34
|
competition: '8',
|
|
30
35
|
date_from: '2021-06-20',
|
|
31
36
|
date_to: '2021-07-11'
|
|
32
37
|
};
|
|
38
|
+
afterEach(() => {
|
|
39
|
+
jest.clearAllMocks();
|
|
40
|
+
});
|
|
33
41
|
describe('OptaFootballFixturesTicker with flags', () => {
|
|
34
42
|
it('should render correctly', async () => {
|
|
35
43
|
const { asFragment, getByText } = render(React.createElement(OptaFootballFixturesTicker, Object.assign({}, requiredProps)));
|
|
36
44
|
expect(asFragment()).toMatchSnapshot();
|
|
37
45
|
await waitForElementToBeRemoved(getByText('Placeholder'));
|
|
38
|
-
expect(mockInitSettings).
|
|
39
|
-
expect(mockInitStyleSheet).
|
|
40
|
-
expect(mockInitComponent).
|
|
46
|
+
expect(mockInitSettings).toHaveBeenCalled();
|
|
47
|
+
expect(mockInitStyleSheet).toHaveBeenCalled();
|
|
48
|
+
expect(mockInitComponent).toHaveBeenCalled();
|
|
41
49
|
expect(asFragment()).toMatchSnapshot();
|
|
42
50
|
});
|
|
43
51
|
});
|
|
@@ -46,17 +54,15 @@ describe('OptaFootballFixturesTicker without flags', () => {
|
|
|
46
54
|
jest.clearAllTimers();
|
|
47
55
|
});
|
|
48
56
|
it('should render correctly', async () => {
|
|
49
|
-
|
|
50
|
-
React.
|
|
51
|
-
.fn()
|
|
52
|
-
.mockReturnValue([document.createElement('div'), () => React.useState]);
|
|
53
|
-
const { asFragment } = render(React.createElement(OptaFootballFixturesTicker, { season: "2023", competition: "3" }));
|
|
57
|
+
isNationalCompetition.mockReturnValue(true);
|
|
58
|
+
const { asFragment, getByText } = render(React.createElement(OptaFootballFixturesTicker, { season: "2023", competition: "3" }));
|
|
54
59
|
expect(asFragment()).toMatchSnapshot();
|
|
60
|
+
await waitForElementToBeRemoved(getByText('Placeholder'));
|
|
55
61
|
expect(mockInitSettings).toHaveBeenCalled();
|
|
56
62
|
expect(mockInitStyleSheet).toHaveBeenCalled();
|
|
57
63
|
expect(mockInitComponent).toHaveBeenCalled();
|
|
58
|
-
expect(
|
|
64
|
+
expect(mockUseUpdateNationalTeamDetails).toHaveBeenCalled();
|
|
59
65
|
expect(asFragment()).toMatchSnapshot();
|
|
60
66
|
});
|
|
61
67
|
});
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsRml4dHVyZXNUaWNrZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvZm9vdGJhbGwvZml4dHVyZXMtdGlja2VyL19fdGVzdHNfXy9PcHRhRm9vdGJhbGxGaXh0dXJlc1RpY2tlci50ZXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNFLE9BQU8sMkJBQTJCLENBQUM7QUFFbkMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyx3REFBZ0I7Q0FDcEMsQ0FBQyxDQUFDLENBQUM7QUFFSixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNuQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNyQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNwQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNyQyxNQUFNLGdDQUFnQyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUVuRCxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN2RCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDeEMsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixjQUFjLEVBQUUsa0JBQWtCO0lBQ2xDLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyRCxXQUFXLEVBQUUsZUFBZTtJQUM1QixhQUFhLEVBQUUsaUJBQWlCO0NBQ2pDLENBQUMsQ0FBQyxDQUFDO0FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQywyQ0FBMkMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzVELHFCQUFxQixFQUFFLGtCQUFrQjtDQUMxQyxDQUFDLENBQUMsQ0FBQztBQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsNkNBQTZDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM5RCw0QkFBNEIsRUFBRSxnQ0FBZ0M7Q0FDL0QsQ0FBQyxDQUFDLENBQUM7QUFFSixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVsRixNQUFNLGFBQWEsR0FBRztJQUNwQixNQUFNLEVBQUUsTUFBTTtJQUNkLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCLE9BQU8sRUFBRSxZQUFZO0NBQ3RCLENBQUM7QUFFRixTQUFTLENBQUMsR0FBRyxFQUFFO0lBQ2IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRTtJQUNyRCxFQUFFLENBQUMseUJBQXlCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdkMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQ3RDLG9CQUFDLDBCQUEwQixvQkFBSyxhQUFhLEVBQUksQ0FDbEQsQ0FBQztRQUNGLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZDLE1BQU0seUJBQXlCLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFMUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1QyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFN0MsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQywwQ0FBMEMsRUFBRSxHQUFHLEVBQUU7SUFDeEQsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUNaLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN0QyxxQkFBbUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0QsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQ3RDLG9CQUFDLDBCQUEwQixJQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsV0FBVyxFQUFDLEdBQUcsR0FBRyxDQUM3RCxDQUFDO1FBQ0YsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFdkMsTUFBTSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUUxRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDOUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRTVELE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
|
|
@@ -1,5 +1,51 @@
|
|
|
1
1
|
import styled from 'styled-components';
|
|
2
2
|
import { breakpoints, colours, fonts } from '@times-components/ts-styleguide';
|
|
3
|
+
const countries = {
|
|
4
|
+
'119': 'Italy',
|
|
5
|
+
'357': 'Germany',
|
|
6
|
+
'115': 'Scotland',
|
|
7
|
+
'538': 'Hungary',
|
|
8
|
+
'497': 'Switzerland',
|
|
9
|
+
'118': 'Spain',
|
|
10
|
+
'535': 'Croatia',
|
|
11
|
+
'534': 'Albania',
|
|
12
|
+
'511': 'Poland',
|
|
13
|
+
'366': 'Netherlands',
|
|
14
|
+
'365': 'Slovenia',
|
|
15
|
+
'369': 'Denmark',
|
|
16
|
+
'364': 'Serbia',
|
|
17
|
+
'114': 'England',
|
|
18
|
+
'358': 'Romania',
|
|
19
|
+
'510': 'Ukraine',
|
|
20
|
+
'360': 'Belgium',
|
|
21
|
+
'507': 'Slovakia',
|
|
22
|
+
'515': 'Austria',
|
|
23
|
+
'368': 'France',
|
|
24
|
+
'362': 'Turkey',
|
|
25
|
+
'520': 'Georgia',
|
|
26
|
+
'359': 'Portugal',
|
|
27
|
+
'367': 'CzechRep'
|
|
28
|
+
};
|
|
29
|
+
const flagStyles = Object.keys(countries).map((countryCode) => `
|
|
30
|
+
.Opta-Team-${countryCode} .Opta-Team, .Opta-Team-${countryCode}.Opta-Team {
|
|
31
|
+
background-image: url(https://nuk-tnl-editorial-prod-staticassets.s3.eu-west-1.amazonaws.com/opta/euro-flags/${countries[countryCode]}.svg);
|
|
32
|
+
background-size: 20px;
|
|
33
|
+
background-repeat: no-repeat;
|
|
34
|
+
|
|
35
|
+
@media (max-width: ${breakpoints.small}px) {
|
|
36
|
+
background-image: none;
|
|
37
|
+
padding-left: 0 !important;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
.Opta-Team-${countryCode} .Opta-Team {
|
|
41
|
+
background-position: 0 13px;
|
|
42
|
+
padding-left: 28px;
|
|
43
|
+
}
|
|
44
|
+
.Opta-Team-${countryCode}.Opta-Team {
|
|
45
|
+
background-position: 10px 8px;
|
|
46
|
+
padding-left: 38px !important;
|
|
47
|
+
}
|
|
48
|
+
`);
|
|
3
49
|
export const Container = styled.div `
|
|
4
50
|
margin: 0 auto 20px auto;
|
|
5
51
|
background-color: ${colours.functional.backgroundPrimary};
|
|
@@ -23,6 +69,10 @@ export const PlaceholderContainer = styled.div `
|
|
|
23
69
|
height: ${({ height }) => height || '200'}px;
|
|
24
70
|
`;
|
|
25
71
|
export const WidgetContainerBase = styled.div `
|
|
72
|
+
&.team-flags {
|
|
73
|
+
${flagStyles};
|
|
74
|
+
}
|
|
75
|
+
|
|
26
76
|
.Opta {
|
|
27
77
|
.Opta_W {
|
|
28
78
|
margin: 0;
|
|
@@ -69,4 +119,4 @@ export const WidgetContainerBase = styled.div `
|
|
|
69
119
|
}
|
|
70
120
|
}
|
|
71
121
|
`;
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXN0eWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvZm9vdGJhbGwvc2hhcmVkLXN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RSxNQUFNLFNBQVMsR0FBMkI7SUFDeEMsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsVUFBVTtJQUNqQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsYUFBYTtJQUNwQixLQUFLLEVBQUUsT0FBTztJQUNkLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxRQUFRO0lBQ2YsS0FBSyxFQUFFLGFBQWE7SUFDcEIsS0FBSyxFQUFFLFVBQVU7SUFDakIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFFBQVE7SUFDZixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsVUFBVTtJQUNqQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsUUFBUTtJQUNmLEtBQUssRUFBRSxRQUFRO0lBQ2YsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFVBQVU7SUFDakIsS0FBSyxFQUFFLFVBQVU7Q0FDbEIsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUMzQyxDQUFDLFdBQW1CLEVBQUUsRUFBRSxDQUFDO2VBQ1osV0FBVywyQkFBMkIsV0FBVzttSEFFMUQsU0FBUyxDQUFDLFdBQVcsQ0FDdkI7Ozs7eUJBSXFCLFdBQVcsQ0FBQyxLQUFLOzs7OztlQUszQixXQUFXOzs7O2VBSVgsV0FBVzs7OztDQUl6QixDQUNBLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBMEM7O3NCQUV2RCxPQUFPLENBQUMsVUFBVSxDQUFDLGlCQUFpQjtnQkFDMUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FDM0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU07Ozs7Ozt1QkFNbkMsV0FBVyxDQUFDLE1BQU07O2FBRTVCLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDOzs7dUJBR3ZDLFdBQVcsQ0FBQyxJQUFJO2FBQzFCLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDOztDQUU3RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBcUI7O1lBRXZELENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLEtBQUs7Q0FDMUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUE7O01BRXZDLFVBQVU7Ozs7Ozs7Ozs7O2lCQVdDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSzt1QkFDZixLQUFLLENBQUMsVUFBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQTRCeEIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXO3FCQUN4QixLQUFLLENBQUMsVUFBVTs7Ozs7OztDQU9wQyxDQUFDIn0=
|
|
@@ -3,9 +3,12 @@ import { Placeholder } from '@times-components/image';
|
|
|
3
3
|
import { initSettings, initStyleSheet, initScript, initElement, initComponent } from '../../utils/config';
|
|
4
4
|
import { Container, PlaceholderContainer } from '../shared-styles';
|
|
5
5
|
import { WidgetContainer } from './styles';
|
|
6
|
+
import { isNationalCompetition } from '../../utils/replaceNationalTeamDetails';
|
|
7
|
+
import { useUpdateNationalTeamDetails } from '../../utils/useUpdateNationalTeamDetails';
|
|
6
8
|
export const OptaFootballStandings = React.memo(({ season, competition, default_nav = 1, navigation, full_width }) => {
|
|
7
9
|
const ref = React.createRef();
|
|
8
10
|
const [isReady, setIsReady] = useState(false);
|
|
11
|
+
const isNationalComp = isNationalCompetition(competition);
|
|
9
12
|
useEffect(() => {
|
|
10
13
|
const sport = 'football';
|
|
11
14
|
initSettings();
|
|
@@ -20,17 +23,19 @@ export const OptaFootballStandings = React.memo(({ season, competition, default_
|
|
|
20
23
|
live: true,
|
|
21
24
|
navigation: navigation ? 'dropdown' : undefined,
|
|
22
25
|
default_nav,
|
|
23
|
-
show_crests:
|
|
26
|
+
show_crests: !isNationalComp,
|
|
27
|
+
team_naming: 'brief',
|
|
24
28
|
breakpoints: 520
|
|
25
29
|
}).outerHTML;
|
|
26
30
|
initComponent();
|
|
27
31
|
setIsReady(true);
|
|
28
32
|
}
|
|
29
33
|
});
|
|
30
|
-
}, []);
|
|
34
|
+
}, [ref]);
|
|
35
|
+
isNationalComp && useUpdateNationalTeamDetails(ref, 'Opta-Team');
|
|
31
36
|
return (React.createElement(Container, { border: isReady, fullWidth: full_width },
|
|
32
37
|
React.createElement(WidgetContainer, { ref: ref }),
|
|
33
38
|
!isReady && (React.createElement(PlaceholderContainer, null,
|
|
34
39
|
React.createElement(Placeholder, null)))));
|
|
35
40
|
});
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsU3RhbmRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9mb290YmFsbC9zdGFuZGluZ3MvT3B0YUZvb3RiYWxsU3RhbmRpbmdzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFeEYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBTTdCLEtBQUssQ0FBQyxJQUFJLENBQ2IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtJQUNuRSxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFrQixDQUFDO0lBRTlDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTFELFNBQVMsQ0FDUCxHQUFHLEVBQUU7UUFDSCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUM7UUFFekIsWUFBWSxFQUFFLENBQUM7UUFDZixjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEIsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLGFBQWEsRUFBRTtvQkFDakQsS0FBSztvQkFDTCxNQUFNLEVBQUUsV0FBVztvQkFDbkIsTUFBTTtvQkFDTixXQUFXO29CQUNYLElBQUksRUFBRSxJQUFJO29CQUNWLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUztvQkFDL0MsV0FBVztvQkFDWCxXQUFXLEVBQUUsQ0FBQyxjQUFjO29CQUM1QixXQUFXLEVBQUUsT0FBTztvQkFDcEIsV0FBVyxFQUFFLEdBQUc7aUJBQ2pCLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBRWIsYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUNELENBQUMsR0FBRyxDQUFDLENBQ04sQ0FBQztJQUVGLGNBQWMsSUFBSSw0QkFBNEIsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFakUsT0FBTyxDQUNMLG9CQUFDLFNBQVMsSUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVO1FBQy9DLG9CQUFDLGVBQWUsSUFBQyxHQUFHLEVBQUUsR0FBRyxHQUFJO1FBRTVCLENBQUMsT0FBTyxJQUFJLENBQ1gsb0JBQUMsb0JBQW9CO1lBQ25CLG9CQUFDLFdBQVcsT0FBRyxDQUNNLENBQ3hCLENBQ1MsQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -9,22 +9,22 @@ const showcase = {
|
|
|
9
9
|
type: 'decorator'
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
|
-
component: () => React.createElement(OptaFootballStandings, { season: "
|
|
12
|
+
component: () => React.createElement(OptaFootballStandings, { season: "2023", competition: "8" }),
|
|
13
13
|
name: 'Standings',
|
|
14
14
|
type: 'story'
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
|
-
component: () => React.createElement(OptaFootballStandings, { season: "
|
|
17
|
+
component: () => React.createElement(OptaFootballStandings, { season: "2023", competition: "3" }),
|
|
18
18
|
name: 'Standings (inline)',
|
|
19
19
|
type: 'story'
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
|
-
component: () => (React.createElement(OptaFootballStandings, { season: "
|
|
22
|
+
component: () => (React.createElement(OptaFootballStandings, { season: "2023", competition: "3", navigation: true })),
|
|
23
23
|
name: 'Standings (dropdown)',
|
|
24
24
|
type: 'story'
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
|
-
component: () => (React.createElement(OptaFootballStandings, { season: "
|
|
27
|
+
component: () => (React.createElement(OptaFootballStandings, { season: "2023", competition: "3", default_nav: "4", navigation: true })),
|
|
28
28
|
name: 'Standings (default)',
|
|
29
29
|
type: 'story'
|
|
30
30
|
}
|
|
@@ -30,9 +30,9 @@ describe('OptaFootballStandings', () => {
|
|
|
30
30
|
const { asFragment, getByText } = render(React.createElement(OptaFootballStandings, Object.assign({}, requiredProps)));
|
|
31
31
|
expect(asFragment()).toMatchSnapshot();
|
|
32
32
|
await waitForElementToBeRemoved(getByText('Placeholder'));
|
|
33
|
-
expect(mockInitSettings).toHaveBeenCalledTimes(
|
|
34
|
-
expect(mockInitStyleSheet).toHaveBeenCalledTimes(
|
|
35
|
-
expect(mockInitComponent).toHaveBeenCalledTimes(
|
|
33
|
+
expect(mockInitSettings).toHaveBeenCalledTimes(2);
|
|
34
|
+
expect(mockInitStyleSheet).toHaveBeenCalledTimes(2);
|
|
35
|
+
expect(mockInitComponent).toHaveBeenCalledTimes(2);
|
|
36
36
|
expect(asFragment()).toMatchSnapshot();
|
|
37
37
|
});
|
|
38
38
|
});
|
|
@@ -16,16 +16,29 @@ const mockReplaceNationalTeamDetails = () => {
|
|
|
16
16
|
mockDomContainer.append(mockDomElement3);
|
|
17
17
|
return mockDomContainer;
|
|
18
18
|
};
|
|
19
|
-
describe('
|
|
20
|
-
jest.spyOn(optaFn, '
|
|
19
|
+
describe('isNationalCompetition', () => {
|
|
20
|
+
jest.spyOn(optaFn, 'isNationalCompetition');
|
|
21
|
+
it('should return TRUE if is in array of national competitions', async () => {
|
|
22
|
+
const isNationalCompetition = optaFn.isNationalCompetition('3');
|
|
23
|
+
expect(optaFn.isNationalCompetition).toHaveBeenCalledWith('3');
|
|
24
|
+
expect(isNationalCompetition).toBe(true);
|
|
25
|
+
});
|
|
26
|
+
it('should return FALSE if is in array of national competitions', async () => {
|
|
27
|
+
const isNationalCompetition = optaFn.isNationalCompetition('8');
|
|
28
|
+
expect(optaFn.isNationalCompetition).toHaveBeenCalledWith('8');
|
|
29
|
+
expect(isNationalCompetition).toBe(false);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
describe('replaceWithTBD', () => {
|
|
33
|
+
jest.spyOn(optaFn, 'replaceWithTBD');
|
|
21
34
|
it('should replace images when valid elements are passed', async () => {
|
|
22
35
|
jest.useFakeTimers();
|
|
23
36
|
const container = mockReplaceNationalTeamDetails();
|
|
24
37
|
const elements = container.getElementsByClassName('Opta-TeamName');
|
|
25
|
-
const
|
|
26
|
-
expect(optaFn.
|
|
38
|
+
const replaceWithTBD = await optaFn.replaceWithTBD(elements);
|
|
39
|
+
expect(optaFn.replaceWithTBD).toHaveBeenCalledWith(elements);
|
|
27
40
|
jest.advanceTimersByTime(3000);
|
|
28
|
-
expect(
|
|
41
|
+
expect(replaceWithTBD).toBe(undefined);
|
|
29
42
|
const transformedElements = Array.from(elements);
|
|
30
43
|
expect(transformedElements[0].querySelector('img')).toBeInstanceOf;
|
|
31
44
|
expect(transformedElements[0].innerText).toBe('Portugal');
|
|
@@ -36,13 +49,13 @@ describe('replaceNationalTeamDetails', () => {
|
|
|
36
49
|
jest.useFakeTimers();
|
|
37
50
|
const container = mockReplaceNationalTeamDetails();
|
|
38
51
|
const elements = container.getElementsByClassName('Opta-TeamName');
|
|
39
|
-
const
|
|
40
|
-
expect(optaFn.
|
|
52
|
+
const replaceWithTBD = await optaFn.replaceWithTBD(elements);
|
|
53
|
+
expect(optaFn.replaceWithTBD).toHaveBeenCalledWith(elements);
|
|
41
54
|
jest.advanceTimersByTime(3000);
|
|
42
|
-
expect(
|
|
55
|
+
expect(replaceWithTBD).toBe(undefined);
|
|
43
56
|
const transformedElements = Array.from(elements);
|
|
44
57
|
expect(transformedElements[2].querySelector('img')).not.toBeInstanceOf;
|
|
45
58
|
expect(transformedElements[2].innerText).toBe('TBD');
|
|
46
59
|
});
|
|
47
60
|
});
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZU5hdGlvbmFsVGVhbURldGFpbHMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvdXRpbHMvX190ZXN0c19fL3JlcGxhY2VOYXRpb25hbFRlYW1EZXRhaWxzLnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxLQUFLLE1BQU0sTUFBTSwrQkFBK0IsQ0FBQztBQUV4RCxNQUFNLDhCQUE4QixHQUFHLEdBQUcsRUFBRTtJQUMxQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRCxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFdEQsY0FBYyxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7SUFDdEMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFOUMsZUFBZSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7SUFDcEMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFL0MsZUFBZSxDQUFDLFNBQVMsR0FBRyx5QkFBeUIsQ0FBQztJQUN0RCxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUUvQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxlQUFlLENB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
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const isNationalCompetition: (competition: string) => boolean;
|
|
2
|
+
export declare const replaceWithTBD: (element: HTMLCollectionOf<Element>) => void;
|
|
@@ -1,26 +1,19 @@
|
|
|
1
|
-
export const
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const countryImg = document.createElement('img');
|
|
16
|
-
countryImg.setAttribute('src', `https://nuk-tnl-editorial-prod-staticassets.s3.eu-west-1.amazonaws.com/opta/euro-flags/${country}.svg`);
|
|
17
|
-
countryImg.setAttribute('onerror', 'this.remove()');
|
|
18
|
-
countryImg.classList.add('team-flag');
|
|
19
|
-
optaFlagContainer.prepend(countryImg);
|
|
20
|
-
}
|
|
1
|
+
export const isNationalCompetition = (competition) => {
|
|
2
|
+
const nationalCompetitions = [
|
|
3
|
+
'3',
|
|
4
|
+
'235',
|
|
5
|
+
'941' // UEFA Nations League
|
|
6
|
+
];
|
|
7
|
+
return nationalCompetitions.includes(competition);
|
|
8
|
+
};
|
|
9
|
+
export const replaceWithTBD = (element) => {
|
|
10
|
+
setTimeout(() => {
|
|
11
|
+
for (let optaFlagContainer of element) {
|
|
12
|
+
const country = optaFlagContainer.innerText;
|
|
13
|
+
if (country && country.includes('Third Place')) {
|
|
14
|
+
optaFlagContainer.innerText = 'TBD';
|
|
21
15
|
}
|
|
22
|
-
clearInterval(replaceImages);
|
|
23
16
|
}
|
|
24
17
|
}, 500);
|
|
25
18
|
};
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZU5hdGlvbmFsVGVhbURldGFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcHRhL3V0aWxzL3JlcGxhY2VOYXRpb25hbFRlYW1EZXRhaWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsV0FBbUIsRUFBRSxFQUFFO0lBQzNELE1BQU0sb0JBQW9CLEdBQUc7UUFDM0IsR0FBRztRQUNILEtBQUs7UUFDTCxLQUFLLENBQUMsc0JBQXNCO0tBQzdCLENBQUM7SUFDRixPQUFPLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFrQyxFQUFFLEVBQUU7SUFDbkUsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLEtBQUssSUFBSSxpQkFBaUIsSUFBSSxPQUFPLEVBQUU7WUFDckMsTUFBTSxPQUFPLEdBQUksaUJBQWlDLENBQUMsU0FBUyxDQUFDO1lBRTdELElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQzdDLGlCQUFpQyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7YUFDdEQ7U0FDRjtJQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUNWLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { replaceWithTBD } from './replaceNationalTeamDetails';
|
|
3
|
+
export const useUpdateNationalTeamDetails = (ref, container) => {
|
|
4
|
+
useEffect(() => {
|
|
5
|
+
ref.current && ref.current.classList.add('team-flags');
|
|
6
|
+
const TeamNameContainers = document.getElementsByClassName(container);
|
|
7
|
+
TeamNameContainers && replaceWithTBD(TeamNameContainers);
|
|
8
|
+
}, [ref]);
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVXBkYXRlTmF0aW9uYWxUZWFtRGV0YWlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvdXRpbHMvdXNlVXBkYXRlTmF0aW9uYWxUZWFtRGV0YWlscy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsQ0FDMUMsR0FBOEIsRUFDOUIsU0FBaUIsRUFDakIsRUFBRTtJQUNGLFNBQVMsQ0FDUCxHQUFHLEVBQUU7UUFDSCxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV2RCxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RSxrQkFBa0IsSUFBSSxjQUFjLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzRCxDQUFDLEVBQ0QsQ0FBQyxHQUFHLENBQUMsQ0FDTixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@times-components/ts-components",
|
|
3
|
-
"version": "1.87.
|
|
3
|
+
"version": "1.87.1-alpha.18+7801f3441b",
|
|
4
4
|
"description": "Reuseable Typescript React Components ",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"dev": "dist/index.js",
|
|
@@ -50,17 +50,17 @@
|
|
|
50
50
|
"node": ">=8.9"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@times-components/button": "2.10.
|
|
54
|
-
"@times-components/date-publication": "0.30.
|
|
55
|
-
"@times-components/icons": "2.21.
|
|
56
|
-
"@times-components/image": "6.17.
|
|
57
|
-
"@times-components/link": "3.17.
|
|
58
|
-
"@times-components/provider": "1.40.
|
|
59
|
-
"@times-components/provider-queries": "2.21.1",
|
|
60
|
-
"@times-components/related-articles": "6.17.
|
|
61
|
-
"@times-components/ts-slices": "1.9.
|
|
62
|
-
"@times-components/ts-styleguide": "1.50.
|
|
63
|
-
"@times-components/utils": "6.20.
|
|
53
|
+
"@times-components/button": "^2.10.49-alpha.18+7801f3441b",
|
|
54
|
+
"@times-components/date-publication": "^0.30.22-alpha.18+7801f3441b",
|
|
55
|
+
"@times-components/icons": "^2.21.28-alpha.18+7801f3441b",
|
|
56
|
+
"@times-components/image": "^6.17.9-alpha.18+7801f3441b",
|
|
57
|
+
"@times-components/link": "^3.17.22-alpha.18+7801f3441b",
|
|
58
|
+
"@times-components/provider": "^1.40.23-alpha.18+7801f3441b",
|
|
59
|
+
"@times-components/provider-queries": "^2.21.1",
|
|
60
|
+
"@times-components/related-articles": "^6.17.62-alpha.18+7801f3441b",
|
|
61
|
+
"@times-components/ts-slices": "^1.9.10-alpha.18+7801f3441b",
|
|
62
|
+
"@times-components/ts-styleguide": "^1.50.22-alpha.18+7801f3441b",
|
|
63
|
+
"@times-components/utils": "^6.20.7-alpha.18+7801f3441b",
|
|
64
64
|
"algoliasearch": "4.9.0",
|
|
65
65
|
"date-fns": "2.28.0",
|
|
66
66
|
"date-fns-tz": "1.3.3",
|
|
@@ -82,9 +82,9 @@
|
|
|
82
82
|
"@storybook/react": "6.5.16",
|
|
83
83
|
"@testing-library/jest-dom": "^5.12.0",
|
|
84
84
|
"@testing-library/react": "^12.1.2",
|
|
85
|
-
"@times-components/provider-test-tools": "1.29.3",
|
|
86
|
-
"@times-components/storybook": "4.12.
|
|
87
|
-
"@times-components/test-utils": "2.4.2",
|
|
85
|
+
"@times-components/provider-test-tools": "^1.29.3",
|
|
86
|
+
"@times-components/storybook": "^4.12.22-alpha.18+7801f3441b",
|
|
87
|
+
"@times-components/test-utils": "^2.4.2",
|
|
88
88
|
"@types/lodash.get": "4.4.6",
|
|
89
89
|
"@types/lodash.keyby": "4.6.6",
|
|
90
90
|
"@types/lodash.merge": "4.6.2",
|
|
@@ -115,5 +115,5 @@
|
|
|
115
115
|
"@testing-library/jest-dom/extend-expect"
|
|
116
116
|
]
|
|
117
117
|
},
|
|
118
|
-
"gitHead": "
|
|
118
|
+
"gitHead": "7801f3441b7c1ecdb8a05836897dd9774c56f76d"
|
|
119
119
|
}
|