@times-components/ts-components 1.89.1-alpha.6 → 1.90.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 (28) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/components/opta/football/fixtures-ticker/OptaFootballFixturesTicker.d.ts +3 -0
  3. package/dist/components/opta/football/fixtures-ticker/OptaFootballFixturesTicker.js +7 -3
  4. package/dist/components/opta/football/fixtures-ticker/OptaFootballFixturesTicker.stories.js +7 -1
  5. package/dist/components/opta/football/fixtures-ticker/__tests__/OptaFootballFixturesTicker.test.js +29 -1
  6. package/dist/components/opta/football/fixtures-ticker/styles.d.ts +4 -1
  7. package/dist/components/opta/football/fixtures-ticker/styles.js +52 -15
  8. package/dist/components/opta/football/player-stats/OptaFootballPlayerStats.js +1 -1
  9. package/dist/components/opta/utils/__tests__/addFixturesPageLink.test.d.ts +1 -0
  10. package/dist/components/opta/utils/__tests__/addFixturesPageLink.test.js +36 -0
  11. package/dist/components/opta/utils/__tests__/useFixturePageLink.test.d.ts +1 -0
  12. package/dist/components/opta/utils/__tests__/useFixturePageLink.test.js +84 -0
  13. package/dist/components/opta/utils/addFixturesPageLink.d.ts +1 -0
  14. package/dist/components/opta/utils/addFixturesPageLink.js +25 -0
  15. package/dist/components/opta/utils/useFixturePageLink.d.ts +2 -0
  16. package/dist/components/opta/utils/useFixturePageLink.js +36 -0
  17. package/package.json +16 -16
  18. package/rnw.js +1 -1
  19. package/src/components/opta/football/fixtures-ticker/OptaFootballFixturesTicker.stories.tsx +19 -0
  20. package/src/components/opta/football/fixtures-ticker/OptaFootballFixturesTicker.tsx +13 -2
  21. package/src/components/opta/football/fixtures-ticker/__tests__/OptaFootballFixturesTicker.test.tsx +46 -0
  22. package/src/components/opta/football/fixtures-ticker/__tests__/__snapshots__/OptaFootballFixturesTicker.test.tsx.snap +56 -4
  23. package/src/components/opta/football/fixtures-ticker/styles.ts +64 -15
  24. package/src/components/opta/football/player-stats/OptaFootballPlayerStats.tsx +1 -1
  25. package/src/components/opta/utils/__tests__/addFixturesPageLink.test.tsx +53 -0
  26. package/src/components/opta/utils/__tests__/useFixturePageLink.test.tsx +187 -0
  27. package/src/components/opta/utils/addFixturesPageLink.ts +33 -0
  28. package/src/components/opta/utils/useFixturePageLink.ts +57 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
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.90.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.89.0...@times-components/ts-components@1.90.0) (2024-06-12)
7
+
8
+
9
+ ### Features
10
+
11
+ * **TMRS-223:** Added support for parameters isApp, isDarkMode and fixturesPageUrl for fixtures ticker ([#3869](https://github.com/newsuk/times-components/issues/3869)) ([6302ab9](https://github.com/newsuk/times-components/commit/6302ab979ec88716098f53b8d02c95818cb66032))
12
+ * **TMRS-226:** transform text on euro widgets and add dynamic classes ([#3870](https://github.com/newsuk/times-components/issues/3870)) ([52831d7](https://github.com/newsuk/times-components/commit/52831d79feedeec7d3091c4d70de957b4620a574))
13
+
14
+
15
+
16
+
17
+
6
18
  # [1.89.0](https://github.com/newsuk/times-components/compare/@times-components/ts-components@1.88.1...@times-components/ts-components@1.89.0) (2024-06-10)
7
19
 
8
20
 
@@ -7,4 +7,7 @@ export declare const OptaFootballFixturesTicker: React.FC<{
7
7
  days_ahead?: number;
8
8
  days_before?: number;
9
9
  round?: string;
10
+ isDarkMode?: boolean;
11
+ isApp?: boolean;
12
+ fixturesPageUrl?: string;
10
13
  }>;
@@ -5,7 +5,8 @@ import { PlaceholderContainer } from '../shared-styles';
5
5
  import { WidgetContainer } from './styles';
6
6
  import { isNationalCompetition } from '../../utils/replaceNationalTeamDetails';
7
7
  import { useUpdateNationalTeamDetails } from '../../utils/useUpdateNationalTeamDetails';
8
- export const OptaFootballFixturesTicker = React.memo(({ season, competition, date_from, date_to, days_ahead, days_before, round }) => {
8
+ import { useFixturePageLink } from '../../utils/useFixturePageLink';
9
+ export const OptaFootballFixturesTicker = React.memo(({ season, competition, date_from, date_to, days_ahead, days_before, round, isDarkMode, isApp, fixturesPageUrl }) => {
9
10
  const ref = React.createRef();
10
11
  const [isReady, setIsReady] = useState(false);
11
12
  const isNationalComp = isNationalCompetition(competition);
@@ -42,10 +43,13 @@ export const OptaFootballFixturesTicker = React.memo(({ season, competition, dat
42
43
  }
43
44
  });
44
45
  }, [ref]);
46
+ fixturesPageUrl &&
47
+ !isApp &&
48
+ useFixturePageLink(ref, 'Opta-Room', isDarkMode, fixturesPageUrl);
45
49
  isNationalComp && useUpdateNationalTeamDetails(ref, 'Opta-TeamName');
46
50
  return (React.createElement(React.Fragment, null,
47
- React.createElement(WidgetContainer, { ref: ref }),
51
+ React.createElement(WidgetContainer, { isApp: isApp, isDarkMode: isDarkMode, ref: ref }),
48
52
  !isReady && (React.createElement(PlaceholderContainer, { height: 80 },
49
53
  React.createElement(Placeholder, null)))));
50
54
  });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsRml4dHVyZXNUaWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcHRhL2Zvb3RiYWxsL2ZpeHR1cmVzLXRpY2tlci9PcHRhRm9vdGJhbGxGaXh0dXJlc1RpY2tlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRW5ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxVQUFVLEVBQ1YsV0FBVyxFQUNYLGFBQWEsRUFDZCxNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFeEYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBUWxDLEtBQUssQ0FBQyxJQUFJLENBQ2IsQ0FBQyxFQUNDLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULE9BQU8sRUFDUCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTixFQUFFLEVBQUU7SUFDSCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFrQixDQUFDO0lBRTlDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTFELFNBQVMsQ0FDUCxHQUFHLEVBQUU7UUFDSCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUM7UUFFekIsWUFBWSxFQUFFLENBQUM7UUFDZixjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEIsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLGFBQWEsRUFBRTtvQkFDakQsS0FBSztvQkFDTCxNQUFNLEVBQUUsVUFBVTtvQkFDbEIsTUFBTTtvQkFDTixXQUFXO29CQUNYLFNBQVM7b0JBQ1QsT0FBTztvQkFDUCxVQUFVO29CQUNWLFdBQVc7b0JBQ1gsS0FBSztvQkFDTCxJQUFJLEVBQUUsSUFBSTtvQkFDVixnQkFBZ0IsRUFBRSxJQUFJO29CQUN0QixRQUFRLEVBQUUsT0FBTztvQkFDakIsV0FBVyxFQUFFLE9BQU87b0JBQ3BCLFlBQVksRUFBRSxLQUFLO29CQUNuQixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixhQUFhLEVBQUUsSUFBSTtvQkFDbkIsV0FBVyxFQUFFLENBQUMsY0FBYztvQkFDNUIsU0FBUyxFQUFFLElBQUk7b0JBQ2YsU0FBUyxFQUFFLElBQUk7b0JBQ2YsV0FBVyxFQUFFLFlBQVk7aUJBQzFCLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBRWIsYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUNELENBQUMsR0FBRyxDQUFDLENBQ04sQ0FBQztJQUVGLGNBQWMsSUFBSSw0QkFBNEIsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFFckUsT0FBTyxDQUNMO1FBQ0Usb0JBQUMsZUFBZSxJQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUk7UUFFNUIsQ0FBQyxPQUFPLElBQUksQ0FDWCxvQkFBQyxvQkFBb0IsSUFBQyxNQUFNLEVBQUUsRUFBRTtZQUM5QixvQkFBQyxXQUFXLE9BQUcsQ0FDTSxDQUN4QixDQUNBLENBQ0osQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDIn0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsRml4dHVyZXNUaWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcHRhL2Zvb3RiYWxsL2ZpeHR1cmVzLXRpY2tlci9PcHRhRm9vdGJhbGxGaXh0dXJlc1RpY2tlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRW5ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxVQUFVLEVBQ1YsV0FBVyxFQUNYLGFBQWEsRUFDZCxNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEUsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBV2xDLEtBQUssQ0FBQyxJQUFJLENBQ2IsQ0FBQyxFQUNDLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULE9BQU8sRUFDUCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTCxVQUFVLEVBQ1YsS0FBSyxFQUNMLGVBQWUsRUFDaEIsRUFBRSxFQUFFO0lBQ0gsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBa0IsQ0FBQztJQUU5QyxNQUFNLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUN2RCxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUUxRCxTQUFTLENBQ1AsR0FBRyxFQUFFO1FBQ0gsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDO1FBRXpCLFlBQVksRUFBRSxDQUFDO1FBQ2YsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRCLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDckIsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO2dCQUNmLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxhQUFhLEVBQUU7b0JBQ2pELEtBQUs7b0JBQ0wsTUFBTSxFQUFFLFVBQVU7b0JBQ2xCLE1BQU07b0JBQ04sV0FBVztvQkFDWCxTQUFTO29CQUNULE9BQU87b0JBQ1AsVUFBVTtvQkFDVixXQUFXO29CQUNYLEtBQUs7b0JBQ0wsSUFBSSxFQUFFLElBQUk7b0JBQ1YsZ0JBQWdCLEVBQUUsSUFBSTtvQkFDdEIsUUFBUSxFQUFFLE9BQU87b0JBQ2pCLFdBQVcsRUFBRSxPQUFPO29CQUNwQixZQUFZLEVBQUUsS0FBSztvQkFDbkIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsYUFBYSxFQUFFLElBQUk7b0JBQ25CLFdBQVcsRUFBRSxDQUFDLGNBQWM7b0JBQzVCLFNBQVMsRUFBRSxJQUFJO29CQUNmLFNBQVMsRUFBRSxJQUFJO29CQUNmLFdBQVcsRUFBRSxZQUFZO2lCQUMxQixDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUViLGFBQWEsRUFBRSxDQUFDO2dCQUNoQixVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsRUFDRCxDQUFDLEdBQUcsQ0FBQyxDQUNOLENBQUM7SUFFRixlQUFlO1FBQ2IsQ0FBQyxLQUFLO1FBQ04sa0JBQWtCLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFFcEUsY0FBYyxJQUFJLDRCQUE0QixDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUVyRSxPQUFPLENBQ0w7UUFDRSxvQkFBQyxlQUFlLElBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUk7UUFFbEUsQ0FBQyxPQUFPLElBQUksQ0FDWCxvQkFBQyxvQkFBb0IsSUFBQyxNQUFNLEVBQUUsRUFBRTtZQUM5QixvQkFBQyxXQUFXLE9BQUcsQ0FDTSxDQUN4QixDQUNBLENBQ0osQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDIn0=
@@ -23,4 +23,10 @@ storiesOf('Typescript Component/In Article/Football/Fixtures', module)
23
23
  const selComp = select('Competition', competitons, '8');
24
24
  return (React.createElement(OptaFootballFixturesTicker, { season: text('season', '2023'), competition: selComp, date_from: "", date_to: "", days_ahead: number('days ahead (of current day)', 100), days_before: number('days before (of current day)', 100), round: text('round(s)', '') }));
25
25
  });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsRml4dHVyZXNUaWNrZXIuc3Rvcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvZm9vdGJhbGwvZml4dHVyZXMtdGlja2VyL09wdGFGb290YmFsbEZpeHR1cmVzVGlja2VyLnN0b3JpZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLEdBQUc7SUFDSCxHQUFHO0lBQ0gsR0FBRztJQUNILEdBQUc7SUFDSCxHQUFHO0lBQ0gsR0FBRztJQUNILElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixLQUFLO0lBQ0wsS0FBSztJQUNMLE1BQU07Q0FDUCxDQUFDO0FBRUYsU0FBUyxDQUFDLG1EQUFtRCxFQUFFLE1BQU0sQ0FBQztLQUNuRSxZQUFZLENBQUMsU0FBUyxDQUFDO0tBQ3ZCLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEQsT0FBTyxDQUNMLG9CQUFDLDBCQUEwQixJQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFDOUIsV0FBVyxFQUFFLE9BQU8sRUFDcEIsU0FBUyxFQUFDLEVBQUUsRUFDWixPQUFPLEVBQUMsRUFBRSxFQUNWLFVBQVUsRUFBRSxNQUFNLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxDQUFDLEVBQ3RELFdBQVcsRUFBRSxNQUFNLENBQUMsOEJBQThCLEVBQUUsR0FBRyxDQUFDLEVBQ3hELEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxHQUMzQixDQUNILENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyJ9
26
+ storiesOf('Typescript Component/In Article/Football/Fixtures', module)
27
+ .addDecorator(withKnobs)
28
+ .add('Fixtures Ticker dark mode and link', () => {
29
+ const selComp = select('Competition', competitons, '8');
30
+ return (React.createElement(OptaFootballFixturesTicker, { season: text('season', '2023'), competition: selComp, date_from: "", date_to: "", days_ahead: number('days ahead (of current day)', 100), days_before: number('days before (of current day)', 100), round: text('round(s)', ''), isDarkMode: true, fixturesPageUrl: "https://www.thetimes.co.uk/sport/football/euro-2024" }));
31
+ });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsRml4dHVyZXNUaWNrZXIuc3Rvcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvZm9vdGJhbGwvZml4dHVyZXMtdGlja2VyL09wdGFGb290YmFsbEZpeHR1cmVzVGlja2VyLnN0b3JpZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLEdBQUc7SUFDSCxHQUFHO0lBQ0gsR0FBRztJQUNILEdBQUc7SUFDSCxHQUFHO0lBQ0gsR0FBRztJQUNILElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixLQUFLO0lBQ0wsS0FBSztJQUNMLE1BQU07Q0FDUCxDQUFDO0FBRUYsU0FBUyxDQUFDLG1EQUFtRCxFQUFFLE1BQU0sQ0FBQztLQUNuRSxZQUFZLENBQUMsU0FBUyxDQUFDO0tBQ3ZCLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEQsT0FBTyxDQUNMLG9CQUFDLDBCQUEwQixJQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFDOUIsV0FBVyxFQUFFLE9BQU8sRUFDcEIsU0FBUyxFQUFDLEVBQUUsRUFDWixPQUFPLEVBQUMsRUFBRSxFQUNWLFVBQVUsRUFBRSxNQUFNLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxDQUFDLEVBQ3RELFdBQVcsRUFBRSxNQUFNLENBQUMsOEJBQThCLEVBQUUsR0FBRyxDQUFDLEVBQ3hELEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxHQUMzQixDQUNILENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVMLFNBQVMsQ0FBQyxtREFBbUQsRUFBRSxNQUFNLENBQUM7S0FDbkUsWUFBWSxDQUFDLFNBQVMsQ0FBQztLQUN2QixHQUFHLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxFQUFFO0lBQzlDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sQ0FDTCxvQkFBQywwQkFBMEIsSUFDekIsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQzlCLFdBQVcsRUFBRSxPQUFPLEVBQ3BCLFNBQVMsRUFBQyxFQUFFLEVBQ1osT0FBTyxFQUFDLEVBQUUsRUFDVixVQUFVLEVBQUUsTUFBTSxDQUFDLDZCQUE2QixFQUFFLEdBQUcsQ0FBQyxFQUN0RCxXQUFXLEVBQUUsTUFBTSxDQUFDLDhCQUE4QixFQUFFLEdBQUcsQ0FBQyxFQUN4RCxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFDM0IsVUFBVSxFQUFFLElBQUksRUFDaEIsZUFBZSxFQUFDLHFEQUFxRCxHQUNyRSxDQUNILENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyJ9
@@ -8,6 +8,7 @@ const mockInitSettings = jest.fn();
8
8
  const mockInitStyleSheet = jest.fn();
9
9
  const mockInitComponent = jest.fn();
10
10
  const mockIsNationalComp = jest.fn();
11
+ const mockUseFixturePageLink = jest.fn();
11
12
  const mockUseUpdateNationalTeamDetails = jest.fn();
12
13
  const mockInitElement = () => {
13
14
  const element = document.createElement('div');
@@ -24,6 +25,9 @@ jest.mock('../../../utils/config', () => ({
24
25
  jest.mock('../../../utils/replaceNationalTeamDetails', () => ({
25
26
  isNationalCompetition: mockIsNationalComp
26
27
  }));
28
+ jest.mock('../../../utils/useFixturePageLink', () => ({
29
+ useFixturePageLink: mockUseFixturePageLink
30
+ }));
27
31
  jest.mock('../../../utils/useUpdateNationalTeamDetails', () => ({
28
32
  useUpdateNationalTeamDetails: mockUseUpdateNationalTeamDetails
29
33
  }));
@@ -64,5 +68,29 @@ describe('OptaFootballFixturesTicker without flags', () => {
64
68
  expect(mockUseUpdateNationalTeamDetails).toHaveBeenCalled();
65
69
  expect(asFragment()).toMatchSnapshot();
66
70
  });
71
+ it('should render correctly with isApp property', async () => {
72
+ isNationalCompetition.mockReturnValue(true);
73
+ const { asFragment, getByText } = render(React.createElement(OptaFootballFixturesTicker, { season: "2023", competition: "3", isApp: true }));
74
+ expect(asFragment()).toMatchSnapshot();
75
+ await waitForElementToBeRemoved(getByText('Placeholder'));
76
+ expect(mockInitSettings).toHaveBeenCalled();
77
+ expect(mockInitStyleSheet).toHaveBeenCalled();
78
+ expect(mockInitComponent).toHaveBeenCalled();
79
+ expect(mockUseFixturePageLink).not.toHaveBeenCalled();
80
+ expect(mockUseUpdateNationalTeamDetails).toHaveBeenCalled();
81
+ expect(asFragment()).toMatchSnapshot();
82
+ });
83
+ it('should render correctly with fixturesPageUrl, isDarkMode properties', async () => {
84
+ isNationalCompetition.mockReturnValue(true);
85
+ const { asFragment, getByText } = render(React.createElement(OptaFootballFixturesTicker, { season: "2023", competition: "3", isDarkMode: true, fixturesPageUrl: 'https://www.thetimes.co.uk/sport/football/euro-2024' }));
86
+ expect(asFragment()).toMatchSnapshot();
87
+ await waitForElementToBeRemoved(getByText('Placeholder'));
88
+ expect(mockInitSettings).toHaveBeenCalled();
89
+ expect(mockInitStyleSheet).toHaveBeenCalled();
90
+ expect(mockInitComponent).toHaveBeenCalled();
91
+ expect(mockUseFixturePageLink).toHaveBeenCalled();
92
+ expect(mockUseUpdateNationalTeamDetails).toHaveBeenCalled();
93
+ expect(asFragment()).toMatchSnapshot();
94
+ });
67
95
  });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsRml4dHVyZXNUaWNrZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvZm9vdGJhbGwvZml4dHVyZXMtdGlja2VyL19fdGVzdHNfXy9PcHRhRm9vdGJhbGxGaXh0dXJlc1RpY2tlci50ZXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNFLE9BQU8sMkJBQTJCLENBQUM7QUFFbkMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyx3REFBZ0I7Q0FDcEMsQ0FBQyxDQUFDLENBQUM7QUFFSixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNuQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNyQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNwQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNyQyxNQUFNLGdDQUFnQyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUVuRCxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN2RCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLHVC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
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsRml4dHVyZXNUaWNrZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvZm9vdGJhbGwvZml4dHVyZXMtdGlja2VyL19fdGVzdHNfXy9PcHRhRm9vdGJhbGxGaXh0dXJlc1RpY2tlci50ZXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNFLE9BQU8sMkJBQTJCLENBQUM7QUFFbkMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyx3REFBZ0I7Q0FDcEMsQ0FBQyxDQUFDLENBQUM7QUFFSixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNuQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNyQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNwQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNyQyxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUN6QyxNQUFNLGdDQUFnQyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUVuRCxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN2RCxPQUFPLE9BQU8s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
@@ -1,2 +1,5 @@
1
1
  export declare const WidgetContainerOverride: import("styled-components").StyledComponent<"div", any, {}, never>;
2
- export declare const WidgetContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export declare const WidgetContainer: import("styled-components").StyledComponent<"div", any, {
3
+ isApp?: boolean | undefined;
4
+ isDarkMode?: boolean | undefined;
5
+ }, never>;
@@ -1,4 +1,4 @@
1
- import styled from 'styled-components';
1
+ import styled, { css } from 'styled-components';
2
2
  import { breakpoints, colours, fonts } from '@times-components/ts-styleguide';
3
3
  import { WidgetContainerBase } from '../shared-styles';
4
4
  export const WidgetContainerOverride = styled(WidgetContainerBase) `
@@ -57,8 +57,10 @@ export const WidgetContainer = styled(WidgetContainerBase) `
57
57
  transition: all 0.3s linear 0s;
58
58
  background-image: linear-gradient(
59
59
  -90deg,
60
- rgba(255, 255, 255, 0) 0%,
61
- rgb(255, 255, 255) 100%
60
+ ${({ isDarkMode }) => isDarkMode ? 'rgba(0, 0, 0, 0)' : 'rgba(255, 255, 255, 0)'}
61
+ 0%,
62
+ ${({ isDarkMode }) => isDarkMode ? 'rgb(0, 0, 0)' : 'rgb(255, 255, 255)'}
63
+ 100%
62
64
  );
63
65
  width: 64px;
64
66
  height: 100%;
@@ -71,26 +73,64 @@ export const WidgetContainer = styled(WidgetContainerBase) `
71
73
  transform: rotate(180deg);
72
74
  }
73
75
  }
76
+ }
77
+ @media (max-width: ${breakpoints.small}px) {
78
+ .Opta-Scroller {
79
+ display: ${({ isApp }) => (isApp ? 'block' : 'none')} !important;
80
+ }
81
+ }
74
82
 
75
- .Opta-Window {
76
- left: 0 !important;
77
- right: 0 !important;
83
+ ${({ isApp }) => !isApp &&
84
+ css `
85
+ @media (max-width: ${breakpoints.small}px) {
86
+ .Opta-Window {
87
+ left: 0 !important;
88
+ right: 0 !important;
89
+ }
90
+ }
91
+ `} .fixtures-page-link.Opta-fixture {
92
+ width: 85px !important;
93
+ padding: 10px 8px;
94
+ border: 1px solid ${({ isDarkMode }) => (isDarkMode ? 'white' : 'black')};
95
+ background-color: transparent;
96
+ a {
97
+ display: flex;
98
+ flex-wrap: wrap;
99
+ justify-content: space-between;
100
+ flex-direction: column;
101
+ height: 100%;
102
+ span {
103
+ color: ${({ isDarkMode }) => isDarkMode ? 'white' : 'black'}!important;
104
+ font-size: 12px;
105
+ font-weight: 700 !important;
106
+ display: block;
107
+ }
108
+ svg {
109
+ rect {
110
+ font-weight: 700 !important;
111
+ }
112
+ }
78
113
  }
79
114
  }
80
115
 
116
+ .Opta-Cf.Opta-Scroll.Opta-Active {
117
+ background-color: ${({ isDarkMode }) => isDarkMode ? 'black' : 'white'}!important;
118
+ }
119
+
81
120
  .Opta-Scroller {
82
- background-color: white !important;
83
- border: 1px solid #999 !important;
121
+ background-color: ${({ isDarkMode }) => isDarkMode ? 'black' : 'white'}!important;
122
+ border: 1px solid ${({ isDarkMode }) => (isDarkMode ? 'white' : '#999')};
123
+ border-radius: 2px;
84
124
  border-radius: 2px;
85
125
  box-sizing: border-box;
86
126
  padding: 39px 0 !important;
87
127
  width: 28px !important;
88
128
 
89
129
  &:hover {
90
- background-color: #f5f5f5 !important;
130
+ background-color: ${({ isDarkMode }) => isDarkMode ? '#303030' : '#f5f5f5'}!important;
91
131
  }
92
132
  &:active {
93
- background-color: #eee !important;
133
+ background-color: ${({ isDarkMode }) => isDarkMode ? '#4f4f4f' : '#eee'}!important;
94
134
  }
95
135
 
96
136
  &::after {
@@ -99,7 +139,7 @@ export const WidgetContainer = styled(WidgetContainerBase) `
99
139
  no-repeat !important;
100
140
  background-size: 210px 186px !important;
101
141
  background-position-x: -180px !important;
102
- background-position-y: -19px !important;
142
+ background-position-y: ${({ isDarkMode }) => isDarkMode ? '-57px' : '-19px'}!important;
103
143
  height: 16px !important;
104
144
  width: 16px !important;
105
145
  top: calc(50% - 8px) !important;
@@ -113,9 +153,6 @@ export const WidgetContainer = styled(WidgetContainerBase) `
113
153
  transform: rotate(90deg) translateX(2px);
114
154
  }
115
155
 
116
- @media (max-width: ${breakpoints.small}px) {
117
- display: none !important;
118
- }
119
156
  @media (max-width: ${breakpoints.medium}px) {
120
157
  width: 18px !important;
121
158
  }
@@ -403,4 +440,4 @@ export const WidgetContainer = styled(WidgetContainerBase) `
403
440
  }
404
441
  }
405
442
  `;
406
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9mb290YmFsbC9maXh0dXJlcy10aWNrZXIvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7NkJBZXJDLEtBQUssQ0FBQyxRQUFROzs7Ozs7Ozs7bUNBU1IsV0FBVyxDQUFDLE1BQU07Ozs7Ozs7Ozs7Q0FVcEQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTs7Ozs7Ozs7Ozt1QkFVbkMsV0FBVyxDQUFDLEtBQUs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7eUJBbUVmLFdBQVcsQ0FBQyxLQUFLOzs7eUJBR2pCLFdBQVcsQ0FBQyxNQUFNOzs7eUJBR2xCLFdBQVcsQ0FBQyxJQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0NBOEVULE9BQU8sQ0FBQyxVQUFVLENBQUMsbUJBQW1COzs7Ozt1QkFLL0MsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXOzZCQUN4QixLQUFLLENBQUMsVUFBVTs7Ozs7Ozs7Ozs7OzttQ0FhVixXQUFXLENBQUMsTUFBTTs7Ozs7Ozs7Ozs7aUNBV3BCLFdBQVcsQ0FBQyxNQUFNOzs7Ozs7O3VCQU81QixPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVc7NkJBQ3hCLEtBQUssQ0FBQyxRQUFROzs7Ozs7Ozt5QkFRbEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLOytCQUNmLEtBQUssQ0FBQyxVQUFVOzs7Ozs7OztxQ0FRVixXQUFXLENBQUMsTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7O3FDQWtCbEIsV0FBVyxDQUFDLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cUNBeUJsQixXQUFXLENBQUMsTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztxQ0ErQmxCLFdBQVcsQ0FBQyxNQUFNOzs7Ozs7bUNBTXBCLFdBQVcsQ0FBQyxNQUFNOzs7Ozs7Ozs7Ozs7dUJBWTlCLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTzs2QkFDcEIsS0FBSyxDQUFDLFVBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQWdDWixPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU87dUNBQ3BCLEtBQUssQ0FBQyxVQUFVOzs7Ozs7Ozs7OzttQ0FXcEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLOzs7Ozs7Ozs7Ozs7O0NBYXZELENBQUMifQ==
443
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9mb290YmFsbC9maXh0dXJlcy10aWNrZXIvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs2QkFlckMsS0FBSyxDQUFDLFFBQVE7Ozs7Ozs7OzttQ0FTUixXQUFXLENBQUMsTUFBTTs7Ozs7Ozs7OztDQVVwRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUd4RDs7Ozs7Ozs7Ozt1QkFVcUIsV0FBVyxDQUFDLEtBQUs7Ozs7Ozs7Ozs7O1lBVzVCLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQ2pCLFVBQVUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLHdCQUF3Qjs7WUFFNUQsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FDakIsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjs7Ozs7Ozs7Ozs7Ozs7O3VCQWV6QyxXQUFXLENBQUMsS0FBSzs7aUJBRXZCLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDOzs7O0lBSXRELENBQUMsRUFBRSxLQUFLLEVB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
@@ -31,7 +31,7 @@ export const OptaFootballPlayerStats = React.memo(({ season, competition, full_w
31
31
  show_crests: true,
32
32
  show_title,
33
33
  date_format: 'DD/MM/YYYY',
34
- breakpoints: '300'
34
+ breakpoints: '200'
35
35
  }).outerHTML;
36
36
  initComponent();
37
37
  setIsReady(true);
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,36 @@
1
+ import '@testing-library/jest-dom';
2
+ import * as addFixturesPageLinkModule from '../addFixturesPageLink';
3
+ const mockAddFixturesPageLink = () => {
4
+ const mockDomContainer = document.createElement('div');
5
+ const mockDomWrapper = document.createElement('div');
6
+ mockDomWrapper.classList.add('Opta-Room');
7
+ const mockDomElement = document.createElement('div');
8
+ const mockDomElement2 = document.createElement('div');
9
+ const mockDomElement3 = document.createElement('div');
10
+ mockDomElement.innerText = 'Portugal';
11
+ mockDomElement.classList.add('Opta-TeamName');
12
+ mockDomElement2.innerText = 'Spain';
13
+ mockDomElement2.classList.add('Opta-TeamName');
14
+ mockDomElement3.innerText = 'Third Place Group A/B/C';
15
+ mockDomElement3.classList.add('Opta-TeamName');
16
+ mockDomWrapper.append(mockDomElement);
17
+ mockDomWrapper.append(mockDomElement2);
18
+ mockDomWrapper.append(mockDomElement3);
19
+ mockDomContainer.append(mockDomWrapper);
20
+ return mockDomContainer;
21
+ };
22
+ describe('addFixturesPageLink', () => {
23
+ jest.spyOn(addFixturesPageLinkModule, 'addFixturesPageLink');
24
+ it.only('should add link at the end of a list when valid elements are passed', async () => {
25
+ jest.useFakeTimers();
26
+ const container = mockAddFixturesPageLink();
27
+ const element = container.querySelector('.Opta-Room');
28
+ await addFixturesPageLinkModule.addFixturesPageLink(element, 'https://www.thetimes.co.uk/sport/football/euro-2024');
29
+ expect(addFixturesPageLinkModule.addFixturesPageLink).toHaveBeenCalledWith(element, 'https://www.thetimes.co.uk/sport/football/euro-2024');
30
+ jest.advanceTimersByTime(3000);
31
+ const anchorElement = element.querySelector('a');
32
+ expect(anchorElement).toBeInstanceOf(HTMLAnchorElement);
33
+ expect(anchorElement.querySelector('span').textContent).toBe('Full Fixtures & Results');
34
+ });
35
+ });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkRml4dHVyZXNQYWdlTGluay50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS91dGlscy9fX3Rlc3RzX18vYWRkRml4dHVyZXNQYWdlTGluay50ZXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sS0FBSyx5QkFBeUIsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRSxNQUFNLHVCQUF1QixHQUFHLEdBQUcsRUFBRTtJQUNuQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFdkQsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRCxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUUxQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxjQUFjLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQztJQUN0QyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUU5QyxlQUFlLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztJQUNwQyxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUUvQyxlQUFlLENBQUMsU0FBUyxHQUFHLHlCQUF5QixDQUFDO0lBQ3RELGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRS9DLGNBQWMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN2QyxjQUFjLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3ZDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV4QyxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUMsQ0FBQztBQUVGLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7SUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBRTdELEVBQUUsQ0FBQyxJQUFJLENBQUMscUVBQXFFLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDeEYsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLHVCQUF1QixFQUFFLENBQUM7UUFDNUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQVksQ0FBQztRQUNqRSxNQUFNLHlCQUF5QixDQUFDLG1CQUFtQixDQUNqRCxPQUFPLEVBQ1AscURBQXFELENBQ3RELENBQUM7UUFFRixNQUFNLENBQUMseUJBQXlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxvQkFBb0IsQ0FDeEUsT0FBTyxFQUNQLHFEQUFxRCxDQUN0RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFzQixDQUFDO1FBQ3RFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN4RCxNQUFNLENBQ0gsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQWlCLENBQUMsV0FBVyxDQUNqRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
@@ -0,0 +1,84 @@
1
+ import { render, waitFor } from '@testing-library/react';
2
+ import * as useFixturePageLinkFn from '../useFixturePageLink';
3
+ import * as addFixturesPageLinkModule from '../addFixturesPageLink';
4
+ import React from 'react';
5
+ const classNameForFixtures = 'Opta-Room';
6
+ const fixturesPageUrl = 'https://www.thetimes.co.uk/sport/football/euro-2024';
7
+ describe('getAndAddFixturesPageLink', () => {
8
+ jest.spyOn(addFixturesPageLinkModule, 'addFixturesPageLink');
9
+ jest.spyOn(useFixturePageLinkFn, 'useFixturePageLink');
10
+ beforeEach(() => {
11
+ document.body.innerHTML = '';
12
+ jest.clearAllMocks();
13
+ });
14
+ it('should call addFixturesPageLink if Opta-Room exists and fixturesPageUrlElement does not exist', () => {
15
+ document.body.innerHTML = `<div class='${classNameForFixtures}'</div>`;
16
+ expect(useFixturePageLinkFn.getAndAddFixturesPageLink(classNameForFixtures, fixturesPageUrl, false)).toBe(true);
17
+ expect(addFixturesPageLinkModule.addFixturesPageLink).toHaveBeenCalledWith(expect.any(HTMLElement), fixturesPageUrl, false);
18
+ });
19
+ it('should not call addFixturesPageLink if Opta-Room does not exist', () => {
20
+ document.body.innerHTML = '';
21
+ expect(useFixturePageLinkFn.getAndAddFixturesPageLink(classNameForFixtures, fixturesPageUrl, false)).toBe(false);
22
+ expect(addFixturesPageLinkModule.addFixturesPageLink).not.toHaveBeenCalled();
23
+ });
24
+ it('should not call addFixturesPageLink if fixturesPageUrlElement exists', () => {
25
+ document.body.innerHTML = `<div class=${classNameForFixtures}></div><div class="fixtures-page-link"></div>`;
26
+ expect(useFixturePageLinkFn.getAndAddFixturesPageLink(classNameForFixtures, fixturesPageUrl, false)).toBe(false);
27
+ expect(addFixturesPageLinkModule.addFixturesPageLink).not.toHaveBeenCalled();
28
+ });
29
+ it('should call addFixturesPageLink if fixturesPageUrlElement does not exist but Opta-Room does', () => {
30
+ document.body.innerHTML = `<div class=${classNameForFixtures}></div></div>`;
31
+ expect(useFixturePageLinkFn.getAndAddFixturesPageLink(classNameForFixtures, fixturesPageUrl, false)).toBe(true);
32
+ expect(addFixturesPageLinkModule.addFixturesPageLink).toHaveBeenCalled();
33
+ });
34
+ });
35
+ describe('useFixturePageLink', () => {
36
+ let ref;
37
+ jest.spyOn(addFixturesPageLinkModule, 'addFixturesPageLink');
38
+ jest.spyOn(useFixturePageLinkFn, 'useFixturePageLink');
39
+ beforeEach(() => {
40
+ document.body.innerHTML = '';
41
+ jest.clearAllMocks();
42
+ ref = { current: document.createElement('div') };
43
+ });
44
+ const TestComponent = ({ container, isDarkMode, pageUrl }) => {
45
+ useFixturePageLinkFn.useFixturePageLink(ref, container, isDarkMode, pageUrl);
46
+ return (React.createElement("div", { ref: ref },
47
+ React.createElement("div", { className: container })));
48
+ };
49
+ it('should call getAndAddFixturesPageLink on mount', () => {
50
+ render(React.createElement(TestComponent, { container: classNameForFixtures, pageUrl: fixturesPageUrl, isDarkMode: false }));
51
+ jest.advanceTimersByTime(3000);
52
+ expect(addFixturesPageLinkModule.addFixturesPageLink).toHaveBeenCalled();
53
+ });
54
+ it('should have link appended to the end', async () => {
55
+ render(React.createElement(TestComponent, { container: classNameForFixtures, pageUrl: fixturesPageUrl, isDarkMode: false }));
56
+ jest.advanceTimersByTime(3000);
57
+ await waitFor(() => {
58
+ const elements = document.getElementsByClassName(classNameForFixtures);
59
+ expect(elements.length).toBe(1);
60
+ const transformedElements = Array.from(elements);
61
+ const appendedLink = transformedElements[transformedElements.length - 1].querySelector('.fixtures-page-link a');
62
+ expect(appendedLink).toBeInstanceOf(HTMLAnchorElement);
63
+ expect(appendedLink.href).toBe(fixturesPageUrl);
64
+ expect(appendedLink.querySelector('span').textContent).toBe('Full Fixtures & Results');
65
+ });
66
+ });
67
+ it('should retry adding fixture link inside setInterval', () => {
68
+ const TestComponentMaxRetries = ({ container, isDarkMode, pageUrl }) => {
69
+ useFixturePageLinkFn.useFixturePageLink(ref, container, isDarkMode, pageUrl);
70
+ return React.createElement("div", { ref: ref });
71
+ };
72
+ jest
73
+ .spyOn(useFixturePageLinkFn, 'getAndAddFixturesPageLink')
74
+ .mockReturnValue(false);
75
+ jest.useFakeTimers();
76
+ jest.spyOn(global, 'setInterval');
77
+ render(React.createElement(TestComponentMaxRetries, { container: "DummyClass", pageUrl: fixturesPageUrl, isDarkMode: false }));
78
+ expect(setInterval).toHaveBeenCalledTimes(1);
79
+ jest.advanceTimersByTime(6000);
80
+ expect(useFixturePageLinkFn.getAndAddFixturesPageLink).toHaveBeenCalledTimes(31); // 1 initial + 30 retries
81
+ jest.useRealTimers();
82
+ });
83
+ });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRml4dHVyZVBhZ2VMaW5rLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcHRhL3V0aWxzL19fdGVzdHNfXy91c2VGaXh0dXJlUGFnZUxpbmsudGVzdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxPQUFPLEtBQUssb0JBQW9CLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxLQUFLLHlCQUF5QixNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixNQUFNLG9CQUFvQixHQUFHLFdBQVcsQ0FBQztBQUN6QyxNQUFNLGVBQWUsR0FBRyxxREFBcUQsQ0FBQztBQUU5RSxRQUFRLENBQUMsMkJBQTJCLEVBQUUsR0FBRyxFQUFFO0lBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUM3RCxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFFdkQsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsK0ZBQStGLEVBQUUsR0FBRyxFQUFFO1FBQ3ZHLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsb0JBQW9CLFNBQVMsQ0FBQztRQUN2RSxNQUFNLENBQ0osb0JBQW9CLENBQUMseUJBQXlCLENBQzVDLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsS0FBSyxDQUNOLENBQ0YsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDYixNQUFNLENBQUMs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
@@ -0,0 +1 @@
1
+ export declare const addFixturesPageLink: (element: Element, pageUrl?: string, isDarkMode?: boolean) => void;
@@ -0,0 +1,25 @@
1
+ const CircleArrow = (isDarkMode) => {
2
+ const svgFill = isDarkMode ? 'black' : 'white';
3
+ const svgStroke = isDarkMode ? 'white' : '#01000D';
4
+ return `<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
5
+ <rect x="0.859375" y="0.5" width="23" height="23" rx="11.5" fill="${svgFill}"/>
6
+ <rect x="0.859375" y="0.5" width="23" height="23" rx="11.5" stroke="${svgStroke}"/>
7
+ <path d="M15.7734 11.5254C15.7702 11.6263 15.7507 11.7191 15.7148 11.8037C15.6758 11.8883 15.6172 11.9697 15.5391 12.0479L11.7793 15.7246C11.6556 15.8483 11.5042 15.9102 11.3252 15.9102C11.2015 15.9102 11.0908 15.8809 10.9932 15.8223C10.8923 15.7637 10.8125 15.6839 10.7539 15.583C10.6921 15.4854 10.6611 15.3763 10.6611 15.2559C10.6611 15.0736 10.7295 14.9141 10.8662 14.7773L14.2109 11.5254L10.8662 8.27344C10.7295 8.13346 10.6611 7.97396 10.6611 7.79492C10.6611 7.67122 10.6921 7.56055 10.7539 7.46289C10.8125 7.36523 10.8923 7.28711 10.9932 7.22852C11.0908 7.16992 11.2015 7.14062 11.3252 7.14062C11.5042 7.14062 11.6556 7.20247 11.7793 7.32617L15.5391 11.0029C15.6204 11.0811 15.6807 11.1624 15.7197 11.2471C15.7555 11.335 15.7734 11.4277 15.7734 11.5254Z" fill=${svgStroke} />
8
+ </svg>`;
9
+ };
10
+ export const addFixturesPageLink = (element, pageUrl = '', isDarkMode = false) => {
11
+ const fixturesPageUrlWrapper = Object.assign(document.createElement('div'), {
12
+ className: 'fixtures-page-link Opta-fixture'
13
+ });
14
+ const link = Object.assign(document.createElement('a'), {
15
+ href: pageUrl
16
+ });
17
+ const linkText = Object.assign(document.createElement('span'), {
18
+ textContent: 'Full Fixtures & Results'
19
+ });
20
+ link.appendChild(linkText);
21
+ link.insertAdjacentHTML('beforeend', CircleArrow(isDarkMode));
22
+ fixturesPageUrlWrapper.appendChild(link);
23
+ element.appendChild(fixturesPageUrlWrapper);
24
+ };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkRml4dHVyZXNQYWdlTGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvdXRpbHMvYWRkRml4dHVyZXNQYWdlTGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFdBQVcsR0FBRyxDQUFDLFVBQW1CLEVBQUUsRUFBRTtJQUMxQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQy9DLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDbkQsT0FBTztvRUFDMkQsT0FBTztzRUFDTCxTQUFTO2l3QkFDa3JCLFNBQVM7T0FDbndCLENBQUM7QUFDUixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxPQUFnQixFQUNoQixVQUFrQixFQUFFLEVBQ3BCLGFBQXNCLEtBQUssRUFDM0IsRUFBRTtJQUNGLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzFFLFNBQVMsRUFBRSxpQ0FBaUM7S0FDN0MsQ0FBQyxDQUFDO0lBRUgsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3RELElBQUksRUFBRSxPQUFPO0tBQ2QsQ0FBQyxDQUFDO0lBRUgsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzdELFdBQVcsRUFBRSx5QkFBeUI7S0FDdkMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRTlELHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxPQUFPLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ export declare const getAndAddFixturesPageLink: (container: string, fixturesPageUrl: string, isDarkMode: boolean) => boolean;
2
+ export declare const useFixturePageLink: (ref: React.RefObject<HTMLDivElement>, container: string, isDarkMode: boolean | undefined, fixturesPageUrl: string) => void;
@@ -0,0 +1,36 @@
1
+ import { useEffect } from 'react';
2
+ import { addFixturesPageLink } from './addFixturesPageLink';
3
+ export const getAndAddFixturesPageLink = (container, fixturesPageUrl, isDarkMode) => {
4
+ const OptaRoom = document.querySelector(`.${container}`);
5
+ const fixturesPageUrlElement = document.querySelector('.fixtures-page-link');
6
+ if (OptaRoom && !fixturesPageUrlElement) {
7
+ addFixturesPageLink(OptaRoom, fixturesPageUrl, isDarkMode);
8
+ return true;
9
+ }
10
+ return false;
11
+ };
12
+ export const useFixturePageLink = (ref, container, isDarkMode = false, fixturesPageUrl) => {
13
+ useEffect(() => {
14
+ let addFixtureLink = getAndAddFixturesPageLink(container, fixturesPageUrl, isDarkMode);
15
+ let setFixtureLink;
16
+ if (!addFixtureLink) {
17
+ let count = 0;
18
+ setFixtureLink = setInterval(() => {
19
+ if (count >= 30) {
20
+ clearInterval(setFixtureLink);
21
+ }
22
+ count++;
23
+ addFixtureLink = getAndAddFixturesPageLink(container, fixturesPageUrl, isDarkMode);
24
+ if (addFixtureLink) {
25
+ clearInterval(setFixtureLink);
26
+ }
27
+ }, 200);
28
+ }
29
+ return () => {
30
+ if (setFixtureLink) {
31
+ clearInterval(setFixtureLink);
32
+ }
33
+ };
34
+ }, [ref, container, fixturesPageUrl, isDarkMode]);
35
+ };
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRml4dHVyZVBhZ2VMaW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS91dGlscy91c2VGaXh0dXJlUGFnZUxpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNsQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUN2QyxTQUFpQixFQUNqQixlQUF1QixFQUN2QixVQUFtQixFQUNWLEVBQUU7SUFDWCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6RCxNQUFNLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM3RSxJQUFJLFFBQVEsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1FBQ3ZDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDM0QsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FDaEMsR0FBb0MsRUFDcEMsU0FBaUIsRUFDakIsYUFBc0IsS0FBSyxFQUMzQixlQUF1QixFQUNqQixFQUFFO0lBQ1IsU0FBUyxDQUNQLEdBQUcsRUFBRTtRQUNILElBQUksY0FBYyxHQUFHLHlCQUF5QixDQUM1QyxTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsQ0FDWCxDQUFDO1FBQ0YsSUFBSSxjQUEwQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsY0FBYyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hDLElBQUksS0FBSyxJQUFJLEVBQUUsRUFBRTtvQkFDZixhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7aUJBQy9CO2dCQUNELEtBQUssRUFBRSxDQUFDO2dCQUNSLGNBQWMsR0FBRyx5QkFBeUIsQ0FDeEMsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLENBQ1gsQ0FBQztnQkFDRixJQUFJLGNBQWMsRUFBRTtvQkFDbEIsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2lCQUMvQjtZQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO1FBQ0QsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLGNBQWMsRUFBRTtnQkFDbEIsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQy9CO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQzlDLENBQUM7QUFDSixDQUFDLENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@times-components/ts-components",
3
- "version": "1.89.1-alpha.6+31404ad67f",
3
+ "version": "1.90.0",
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.51",
54
- "@times-components/date-publication": "^0.30.24",
55
- "@times-components/icons": "^2.22.2",
56
- "@times-components/image": "^6.17.11",
57
- "@times-components/link": "^3.17.24",
58
- "@times-components/provider": "^1.40.25",
59
- "@times-components/provider-queries": "^2.21.1",
60
- "@times-components/related-articles": "^6.17.65-alpha.6+31404ad67f",
61
- "@times-components/ts-slices": "^1.9.12",
62
- "@times-components/ts-styleguide": "^1.50.24",
63
- "@times-components/utils": "^6.21.0",
53
+ "@times-components/button": "2.10.52",
54
+ "@times-components/date-publication": "0.30.25",
55
+ "@times-components/icons": "2.22.3",
56
+ "@times-components/image": "6.17.12",
57
+ "@times-components/link": "3.17.25",
58
+ "@times-components/provider": "1.40.26",
59
+ "@times-components/provider-queries": "2.21.1",
60
+ "@times-components/related-articles": "6.17.65",
61
+ "@times-components/ts-slices": "1.9.13",
62
+ "@times-components/ts-styleguide": "1.50.25",
63
+ "@times-components/utils": "6.22.0",
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.24",
87
- "@times-components/test-utils": "^2.4.2",
85
+ "@times-components/provider-test-tools": "1.29.3",
86
+ "@times-components/storybook": "4.12.25",
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": "31404ad67fd7ca0495be98f6b9351d1259069a16"
118
+ "gitHead": "75abacaec75835509149ca5cb458f4a393a6812a"
119
119
  }