gatsby-matrix-theme 7.1.35 → 7.1.38

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 (40) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/package.json +4 -4
  3. package/src/components/atoms/cards/comparison-table/table/index.js +1 -1
  4. package/src/components/atoms/link-menu/index.js +1 -1
  5. package/src/components/atoms/modal/index.js +34 -30
  6. package/src/components/atoms/newsletter/success/index.js +1 -1
  7. package/src/components/atoms/search/autocomplete/article.js +1 -1
  8. package/src/components/atoms/search/autocomplete/game.js +1 -1
  9. package/src/components/atoms/search/autocomplete/operator.js +1 -1
  10. package/src/components/atoms/search/autocomplete/payment_methods.js +1 -1
  11. package/src/components/atoms/search/autocomplete/software_provider.js +1 -1
  12. package/src/components/atoms/social-icons/index.js +5 -1
  13. package/src/components/atoms/table/column/index.js +2 -1
  14. package/src/components/molecules/cookie-modal/category/index.js +2 -1
  15. package/src/components/molecules/cookie-modal/index.js +1 -1
  16. package/src/components/molecules/game-score-gauge/index.js +4 -2
  17. package/src/components/molecules/newsletter/index.js +1 -1
  18. package/src/components/molecules/toplist/row/variant-one.js +6 -5
  19. package/src/components/organisms/popup/index.js +1 -1
  20. package/src/gatsby-core-theme/components/atoms/module-title/index.js +1 -1
  21. package/src/gatsby-core-theme/components/molecules/search/index.js +2 -2
  22. package/src/gatsby-core-theme/components/organisms/cookie-consent/index.js +2 -2
  23. package/src/gatsby-core-theme/components/organisms/head/index.js +6 -1
  24. package/src/gatsby-core-theme/components/organisms/search/index.js +1 -1
  25. package/src/gatsby-core-theme/components/organisms/toplist/list/index.js +23 -22
  26. package/src/gatsby-core-theme/components/organisms/toplist/list/list.module.scss +1 -1
  27. package/src/gatsby-core-theme/components/pages/body/index.js +24 -16
  28. package/src/hooks/tabs/index.js +2 -2
  29. package/src/hooks/tabs/tab/tab-list.module.scss +1 -2
  30. package/src/hooks/tabs/tabs.module.scss +12 -0
  31. package/storybook/public/{40.1148348a.iframe.bundle.js → 109.8c690dba.iframe.bundle.js} +4 -4
  32. package/storybook/public/{40.1148348a.iframe.bundle.js.LICENSE.txt → 109.8c690dba.iframe.bundle.js.LICENSE.txt} +0 -0
  33. package/storybook/public/109.8c690dba.iframe.bundle.js.map +1 -0
  34. package/storybook/public/409.2393ca1d.iframe.bundle.js +1 -0
  35. package/storybook/public/iframe.html +1 -1
  36. package/storybook/public/main.e8d2df21.iframe.bundle.js +1 -0
  37. package/storybook/public/{runtime~main.ef7f3d3a.iframe.bundle.js → runtime~main.70f9a49f.iframe.bundle.js} +1 -1
  38. package/storybook/public/40.1148348a.iframe.bundle.js.map +0 -1
  39. package/storybook/public/409.eb5da381.iframe.bundle.js +0 -1
  40. package/storybook/public/main.8bcd62fc.iframe.bundle.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,39 @@
1
+ ## [7.1.38](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v7.1.37...v7.1.38) (2022-07-19)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * module introduction for toplist modules ([21ce3ed](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/21ce3ed8f4eafecf7c7976c1e7f2ff31e85fd92a))
7
+
8
+ ## [7.1.37](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v7.1.36...v7.1.37) (2022-07-18)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * bug fix on tab list ([e6ec7a7](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/e6ec7a76944d387227067982a69c87323994208f))
14
+ * package.json ([e5044ba](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/e5044baaa47ea241a2fac75af2b4e977e9faab7e))
15
+ * react icons bundle ([1042298](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/1042298228100c42e87bddc42348c7bf9936e55b))
16
+ * toplist and cookie adjustments ([2890cf4](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/2890cf4f4343475ecbcc5cb5cc76d6623c699e6c))
17
+ * update core version ([3ad36bd](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/3ad36bd274d11e3cb9ca03a27c839e98408f3971))
18
+ * updated to latest core version ([a5fb938](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/a5fb938c88d319f75761a4c67b5643b4bf093aa5))
19
+
20
+
21
+ ### Code Refactoring
22
+
23
+ * responsive css for dropdown ([aca6b56](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/aca6b56ba79c2ec2f79939abf286d129ba232891))
24
+
25
+
26
+ * Merge branch 'tm-2968-tablist-bugfix' into 'master' ([056285f](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/056285f8bf5bf99293adb672f3b6d7696621b142))
27
+ * Merge branch 'tm-2963-react-icons' into 'master' ([187f019](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/187f0192928a7e20b55e887a2c4cfc01bbef8847))
28
+ * Merge branch 'tm-2965-dom-size' into 'master' ([d230947](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/d2309471ed714f8756105c490aa367c4a8588716))
29
+
30
+ ## [7.1.36](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v7.1.35...v7.1.36) (2022-07-13)
31
+
32
+
33
+ ### Bug Fixes
34
+
35
+ * og:locale ([1b31363](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/1b31363dc0c6aff4004c1925a76966a6a4bd13ec))
36
+
1
37
  ## [7.1.35](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v7.1.34...v7.1.35) (2022-07-12)
2
38
 
3
39
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gatsby-matrix-theme",
3
- "version": "7.1.35",
3
+ "version": "7.1.38",
4
4
  "main": "index.js",
5
5
  "description": "Matrix Theme NPM Package",
6
6
  "author": "",
@@ -24,12 +24,12 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "gatsby": "^4.15.0",
27
+ "gatsby-core-theme": "^8.0.10",
27
28
  "gatsby-plugin-sharp": "^4.10.2",
29
+ "gatsby-plugin-sitemap": "^3.3.0",
28
30
  "gatsby-transformer-sharp": "^4.10.0",
29
31
  "react": "^17.0.2",
30
- "gatsby-plugin-sitemap": "^3.3.0",
31
- "react-dom": "^17.0.2",
32
- "gatsby-core-theme": "^8.0.8"
32
+ "react-dom": "^17.0.2"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@babel/core": "^7.13.1",
@@ -5,7 +5,7 @@
5
5
  /* eslint-disable jsx-a11y/anchor-is-valid */
6
6
  import React, { useContext, useState } from 'react';
7
7
  import PropTypes from 'prop-types';
8
- import { AiOutlineCheckCircle } from 'react-icons/ai';
8
+ import { AiOutlineCheckCircle } from '@react-icons/all-files/ai/AiOutlineCheckCircle';
9
9
  import { imagePrettyUrl, translate } from 'gatsby-core-theme/src/helpers/getters';
10
10
  import LazyImg from 'gatsby-core-theme/src/hooks/lazy-image';
11
11
  import OperatorCta from 'gatsby-core-theme/src/components/atoms/operator-cta';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { FaChevronRight } from 'react-icons/fa';
3
+ import { FaChevronRight } from '@react-icons/all-files/fa/FaChevronRight';
4
4
 
5
5
  import LinkList from 'gatsby-core-theme/src/components/molecules/link-list';
6
6
  import { getFirstModuleByName } from 'gatsby-core-theme/src/helpers/getters';
@@ -1,37 +1,41 @@
1
- import React,{useEffect, useState} from 'react';
2
- import { MdClose } from 'react-icons/md'
3
-
1
+ import React, { useEffect, useState } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { MdClose } from '@react-icons/all-files/md/MdClose';
4
4
  import styles from './modal.module.scss';
5
5
 
6
- const Modal=({children})=>{
7
- const [show, setShow] = useState(false)
8
-
9
- useEffect(()=>{
10
- setShow(!show);
11
- },[])
6
+ const Modal = ({ children }) => {
7
+ const [show, setShow] = useState(false);
12
8
 
13
- const handelClose = (e) =>{
14
- if(e.target.className === styles.modal){
15
- setShow(false)
16
- }
17
- }
9
+ useEffect(() => {
10
+ setShow(!show);
11
+ // eslint-disable-next-line react-hooks/exhaustive-deps
12
+ }, []);
18
13
 
19
- if(show)
20
- {
21
- return(
22
- <div onClick={(e)=>handelClose(e)} className={`${styles.modal}`}>
23
- <div className={styles.success}>
24
- {children}
25
- <MdClose className={styles.closeBtn} onClick={()=>setShow(false)} />
26
- </div>
27
- </div>
28
- )
29
- }
30
- else{
31
- return <></>
14
+ const handelClose = (e) => {
15
+ if (e.target.className === styles.modal) {
16
+ setShow(false);
32
17
  }
18
+ };
33
19
 
34
-
35
- }
20
+ if (show) {
21
+ return (
22
+ <div
23
+ role="button"
24
+ aria-hidden="true"
25
+ onClick={(e) => handelClose(e)}
26
+ className={`${styles.modal}`}
27
+ >
28
+ <div className={styles.success}>
29
+ {children}
30
+ <MdClose className={styles.closeBtn} onClick={() => setShow(false)} />
31
+ </div>
32
+ </div>
33
+ );
34
+ }
36
35
 
37
- export default Modal;
36
+ return <></>;
37
+ };
38
+ Modal.propTypes = {
39
+ children: PropTypes.node,
40
+ };
41
+ export default Modal;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { IoMdCheckmarkCircleOutline } from 'react-icons/io';
2
+ import { IoMdCheckmarkCircleOutline } from '@react-icons/all-files/io/IoMdCheckmarkCircleOutline';
3
3
 
4
4
  import Modal from '../../modal/index';
5
5
 
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable react/no-danger */
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { GrFormNext } from 'react-icons/gr';
4
+ import { GrFormNext } from '@react-icons/all-files/gr/GrFormNext';
5
5
  import Link from 'gatsby-core-theme/src/hooks/link';
6
6
  import { splitSearchQuery } from '../../../../helpers/splitSearchQuery';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable react/no-danger */
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { GrFormNext } from 'react-icons/gr';
4
+ import { GrFormNext } from '@react-icons/all-files/gr/GrFormNext';
5
5
  import Link from 'gatsby-core-theme/src/hooks/link';
6
6
  import { splitSearchQuery } from '../../../../helpers/splitSearchQuery';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable react/no-danger */
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { GrFormNext } from 'react-icons/gr';
4
+ import { GrFormNext } from '@react-icons/all-files/gr/GrFormNext';
5
5
  import Link from 'gatsby-core-theme/src/hooks/link';
6
6
  import { splitSearchQuery } from '../../../../helpers/splitSearchQuery';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable react/no-danger */
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { GrFormNext } from 'react-icons/gr';
4
+ import { GrFormNext } from '@react-icons/all-files/gr/GrFormNext';
5
5
  import Link from 'gatsby-core-theme/src/hooks/link';
6
6
  import { splitSearchQuery } from '../../../../helpers/splitSearchQuery';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable react/no-danger */
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { GrFormNext } from 'react-icons/gr';
4
+ import { GrFormNext } from '@react-icons/all-files/gr/GrFormNext';
5
5
  import Link from 'gatsby-core-theme/src/hooks/link';
6
6
  import { splitSearchQuery } from '../../../../helpers/splitSearchQuery';
7
7
 
@@ -1,5 +1,9 @@
1
1
  import React, { useContext } from 'react';
2
- import { FaInstagram, FaFacebookSquare, FaTwitter, FaLinkedin, FaYoutube } from 'react-icons/fa';
2
+ import { FaInstagram } from '@react-icons/all-files/fa/FaInstagram';
3
+ import { FaFacebookSquare } from '@react-icons/all-files/fa/FaFacebookSquare';
4
+ import { FaTwitter } from '@react-icons/all-files/fa/FaTwitter';
5
+ import { FaLinkedin } from '@react-icons/all-files/fa/FaLinkedin';
6
+ import { FaYoutube } from '@react-icons/all-files/fa/FaYoutube';
3
7
  import PropTypes from 'prop-types';
4
8
  import keygen from 'gatsby-core-theme/src/helpers/keygen';
5
9
  import { Context } from 'gatsby-core-theme/src/context/TranslationsProvider';
@@ -2,7 +2,8 @@
2
2
  /* eslint-disable camelcase */
3
3
  import React from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { FaCheck, FaAngleDown } from 'react-icons/fa';
5
+ import { FaCheck } from '@react-icons/all-files/fa/FaCheck';
6
+ import { FaAngleDown } from '@react-icons/all-files/fa/FaAngleDown';
6
7
  import { imagePrettyUrl } from 'gatsby-core-theme/src/helpers/getters';
7
8
  import Link from 'gatsby-core-theme/src/hooks/link';
8
9
  import LazyImage from 'gatsby-core-theme/src/hooks/lazy-image';
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { AiOutlinePlus, AiOutlineMinus } from 'react-icons/ai';
3
+ import { AiOutlinePlus } from '@react-icons/all-files/ai/AiOutlinePlus';
4
+ import { AiOutlineMinus } from '@react-icons/all-files/ai/AiOutlineMinus';
4
5
  import ToggleButton from '../../../atoms/toggle-button/index';
5
6
  import { translate } from '~helpers/getters';
6
7
  import styles from './category.module.scss';
@@ -2,7 +2,7 @@ import React, { useContext, useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
 
4
4
  import { Context } from 'gatsby-core-theme/src/context/TranslationsProvider';
5
- import { MdClose } from 'react-icons/md';
5
+ import { MdClose } from '@react-icons/all-files/md/MdClose';
6
6
  import { translate } from '~helpers/getters';
7
7
  import CategoryContainer from './category/index';
8
8
  import Button from '~atoms/button';
@@ -1,7 +1,9 @@
1
1
  /* eslint-disable react/prop-types */
2
- import { GiGamepad, GiPresent } from 'react-icons/gi';
2
+ import { GiGamepad } from '@react-icons/all-files/gi/GiGamepad';
3
+ import { GiPresent } from '@react-icons/all-files/gi/GiPresent';
4
+
3
5
  import React, { useContext } from 'react';
4
- import { TiImage } from 'react-icons/ti';
6
+ import { TiImage } from '@react-icons/all-files/ti/TiImage';
5
7
  import { translate } from 'gatsby-core-theme/src/helpers/getters';
6
8
  import { Context } from 'gatsby-core-theme/src/context/TranslationsProvider';
7
9
  import styles from './game-score-gauge.module.scss';
@@ -4,7 +4,7 @@
4
4
  /* eslint-disable no-nested-ternary */
5
5
  /* eslint-disable no-unused-expressions */
6
6
  import React, { useState, useRef } from 'react';
7
- import { MdClose } from 'react-icons/md';
7
+ import { MdClose } from '@react-icons/all-files/md/MdClose';
8
8
  import PropTypes from 'prop-types';
9
9
  import { getUrl } from 'gatsby-core-theme/src/helpers/getters';
10
10
  import Button from '../../atoms/newsletter/toggle-button/index';
@@ -1,7 +1,6 @@
1
1
  /* eslint-disable import/no-extraneous-dependencies */
2
2
  import React, { useContext } from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { MdCheck } from 'react-icons/md';
5
4
  import {
6
5
  prettyTracker,
7
6
  imagePrettyUrl,
@@ -29,6 +28,7 @@ export default function Row({
29
28
  number = 1,
30
29
  isPPC = false,
31
30
  showLaunchDate = true,
31
+ className,
32
32
  }) {
33
33
  const itemName = item.name;
34
34
  const itemRating = item.rating;
@@ -52,8 +52,8 @@ export default function Row({
52
52
  const launchDate = getLaunchDate(item.founded);
53
53
 
54
54
  return (
55
- <div
56
- className={`${styles.row} ${layout === 'grid' ? styles.grid : ''} ${
55
+ <li
56
+ className={`${className} ${styles.row} ${layout === 'grid' ? styles.grid : ''} ${
57
57
  showLaunchDate ? styles.launchDate : ''
58
58
  } ${!tandcEnabled ? styles.rowNoTandC : ''}`}
59
59
  >
@@ -127,7 +127,7 @@ export default function Row({
127
127
  </span>
128
128
  )}
129
129
  </a>
130
- <SellingPoints icon={<MdCheck />} sellingPoints={sellingPoints} limit={3} />
130
+ <SellingPoints sellingPoints={sellingPoints} limit={3} />
131
131
 
132
132
  {showLaunchDate && (
133
133
  <div className={styles.launchDate}>
@@ -144,12 +144,13 @@ export default function Row({
144
144
  <OperatorCta operator={item} tracker={tracker} gtmClass="toplist-operator-cta-gtm" />
145
145
 
146
146
  {tandcEnabled && <Tnc onlyMobile={layout === 'list'} operator={item} />}
147
- </div>
147
+ </li>
148
148
  );
149
149
  }
150
150
 
151
151
  Row.propTypes = {
152
152
  showLaunchDate: PropTypes.bool,
153
+ className: PropTypes.string,
153
154
  tracker: PropTypes.string,
154
155
  oneliner: PropTypes.string,
155
156
  layout: PropTypes.oneOf(['list', 'grid']),
@@ -8,7 +8,7 @@
8
8
  /* eslint-disable react/no-danger */
9
9
  import React, { useRef, useEffect, useState, useContext } from 'react';
10
10
  import PropTypes from 'prop-types';
11
- import { MdClose } from 'react-icons/md';
11
+ import { MdClose } from '@react-icons/all-files/md/MdClose';
12
12
  import { translate } from 'gatsby-core-theme/src/helpers/getters';
13
13
  import { Context } from 'gatsby-core-theme/src/context/TranslationsProvider';
14
14
  import PopupCard from '../../atoms/cards/popup-card';
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable import/no-extraneous-dependencies */
2
2
  import React, { useContext } from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import { FaAngleRight } from 'react-icons/fa';
4
+ import { FaAngleRight } from '@react-icons/all-files/fa/FaAngleRight';
5
5
  import { translate } from 'gatsby-core-theme/src/helpers/getters';
6
6
  import { Context } from 'gatsby-core-theme/src/context/TranslationsProvider';
7
7
  // eslint-disable-next-line import/no-extraneous-dependencies
@@ -2,7 +2,7 @@
2
2
  import React, { useState, useEffect, useRef, useCallback, useContext } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { navigate } from 'gatsby';
5
- import { FaSearch } from 'react-icons/fa';
5
+ import { FaSearch } from '@react-icons/all-files/fa/FaSearch';
6
6
  import loadable from '@loadable/component';
7
7
  import Tabs from 'gatsby-matrix-theme/src/hooks/tabs';
8
8
  import { translate } from 'gatsby-core-theme/src/helpers/getters';
@@ -415,7 +415,7 @@ Search.propTypes = {
415
415
  pageSearchOptions: PropTypes.shape({
416
416
  useArchive: PropTypes.bool,
417
417
  archiveOptions: PropTypes.shape({
418
- titles: PropTypes.arrayOf(PropTypes.object),
418
+ titles: PropTypes.arrayOf(PropTypes.shape({})),
419
419
  includeOptions: PropTypes.objectOf(PropTypes.string),
420
420
  }),
421
421
  tabs: PropTypes.bool,
@@ -1,3 +1,4 @@
1
+ /* eslint-disable import/no-extraneous-dependencies */
1
2
  import React, { useContext } from 'react';
2
3
  import PropTypes from 'prop-types';
3
4
  import { navigate } from 'gatsby';
@@ -22,7 +23,7 @@ const CookieConsent = ({
22
23
  // states
23
24
  // const [ck, setCk] = useState(true);
24
25
  // when component did mount or state has updated
25
- const { showModal, setShowModal, ck, setCk } = useContext(ModalContext);
26
+ const { showModal, ck, setCk } = useContext(ModalContext);
26
27
  const { translations } = useContext(Context) || {};
27
28
 
28
29
  // when user declines
@@ -44,7 +45,6 @@ const CookieConsent = ({
44
45
  {settingsCookie && (
45
46
  <Modal>
46
47
  <Button
47
- onClick={() => setShowModal(true)}
48
48
  btnText={translate(translations, 'cookie_setting_button', 'Cookie Setting')}
49
49
  isInternalLink={false}
50
50
  isButton
@@ -19,7 +19,12 @@ export function getLanguage(language) {
19
19
  }
20
20
 
21
21
  export function getLocale(language) {
22
- return language && language.split('_').reverse().join('_');
22
+ if (language) {
23
+ const locale = language.split('_').reverse();
24
+ locale[1] = locale[1].toUpperCase();
25
+ return locale.join('_');
26
+ }
27
+ return null;
23
28
  }
24
29
 
25
30
  export function getCanonicalUrl(page) {
@@ -2,7 +2,7 @@ import React, { useContext } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  // eslint-disable-next-line import/no-extraneous-dependencies
4
4
  import loadable from '@loadable/component';
5
- import { FaSearch } from 'react-icons/fa';
5
+ import { FaSearch } from '@react-icons/all-files/fa/FaSearch';
6
6
 
7
7
  import { toggleScroll } from 'gatsby-core-theme/src/helpers/scroll';
8
8
 
@@ -45,13 +45,17 @@ export default function List({
45
45
  hasLoadMoreButton === '1' && Number(initItemsCount) < toplist.items.length;
46
46
 
47
47
  function handleClick() {
48
- const displayed = elRefs.current.filter((item) => item.classList.contains(styles.show)).length;
48
+ const displayed = elRefs.current.filter((item) =>
49
+ item.base.classList.contains(styles.show)
50
+ ).length;
49
51
 
50
52
  const nextItem = loadingItems + displayed;
51
53
  const lastItem =
52
54
  nextItem > elRefs.current.length ? elRefs.current.length + 1 : displayed + loadingItems;
53
55
 
54
- elRefs.current.slice(displayed, lastItem).forEach((item) => item.classList.toggle(styles.show));
56
+ elRefs.current
57
+ .slice(displayed, lastItem)
58
+ .forEach((item) => item.base.classList.toggle(styles.show));
55
59
  forceCheck();
56
60
 
57
61
  if (loadingItems + displayed >= elRefs.current.length) {
@@ -62,26 +66,23 @@ export default function List({
62
66
  return (
63
67
  <>
64
68
  <ul className={styles.list} key={keygen()}>
65
- {items.map((item, index) => (
66
- <li
67
- className={index + 1 <= initLoadItems ? styles.show : null}
68
- key={keygen()}
69
- ref={(el) => addToRefs(el, index)}
70
- >
71
- {CustomRow ? (
72
- <CustomRow
73
- pagePath={pagePath}
74
- item={item}
75
- tracker={toplist.tracker}
76
- oneliner={toplist.one_liner}
77
- isPPC={isPPCPage}
78
- index={index}
79
- />
80
- ) : (
81
- <Row item={item} tracker={toplist.tracker} oneliner={toplist.one_liner} />
82
- )}
83
- </li>
84
- ))}
69
+ {items.map((item, index) =>
70
+ CustomRow ? (
71
+ <CustomRow
72
+ pagePath={pagePath}
73
+ item={item}
74
+ tracker={toplist.tracker}
75
+ oneliner={toplist.one_liner}
76
+ isPPC={isPPCPage}
77
+ index={index}
78
+ className={index + 1 <= initLoadItems ? styles.show : null}
79
+ key={keygen()}
80
+ ref={(el) => addToRefs(el, index)}
81
+ />
82
+ ) : (
83
+ <Row item={item} tracker={toplist.tracker} oneliner={toplist.one_liner} />
84
+ )
85
+ )}
85
86
  </ul>
86
87
  {showLoadMoreButton && (
87
88
  <div ref={loadMoreBtn} className={styles.loadMore}>
@@ -12,7 +12,7 @@
12
12
  display: none;
13
13
 
14
14
  &.show {
15
- display: block;
15
+ display: grid;
16
16
  }
17
17
 
18
18
  &:before {
@@ -12,8 +12,7 @@ import Header from 'gatsby-core-theme/src/components/molecules/header';
12
12
  import ModalProvider from 'gatsby-core-theme/src/hooks/modal/modalContext';
13
13
  import ModalContent from 'gatsby-core-theme/src/hooks/modal/modal-content';
14
14
  import Footer from '../../molecules/footer';
15
- import CookieModal from '../../../../components/molecules/cookie-modal';
16
-
15
+ import { getCookie } from '~helpers/cookies';
17
16
  import LinkMenu from '../../../../components/atoms/link-menu';
18
17
  import FooterTop from '../../../../components/atoms/footer/top';
19
18
  import FooterBottom from '../../../../components/atoms/footer/bottom';
@@ -50,7 +49,8 @@ function Body({ pageContext, children, excludeTemplateInPopup = [], hideOperator
50
49
  const isHomePage = pageContext?.page && pageContext?.page.path === '/';
51
50
  const pageType = pageContext.page.type;
52
51
  const is404 = pageContext.page.path.includes('404');
53
-
52
+ const cookieConsentAccepted =
53
+ (typeof window !== 'undefined' && Boolean(getCookie('CookieConsent'))) || false;
54
54
  const Popup = pageContext?.marketSections?.popup
55
55
  ? loadable(() => import(`../../../../components/organisms/popup`))
56
56
  : null;
@@ -83,6 +83,10 @@ function Body({ pageContext, children, excludeTemplateInPopup = [], hideOperator
83
83
  ? loadable(() => import(`gatsby-core-theme/src/components/molecules/operator-banner`))
84
84
  : null;
85
85
 
86
+ const CookieModal = !cookieConsentAccepted
87
+ ? loadable(() => import('../../../../components/molecules/cookie-modal'))
88
+ : null;
89
+
86
90
  return (
87
91
  <>
88
92
  {navigation && (
@@ -143,19 +147,23 @@ function Body({ pageContext, children, excludeTemplateInPopup = [], hideOperator
143
147
  hasFooterLinks={FooterNavigation !== null}
144
148
  />
145
149
  <ModalProvider>
146
- <CookieConsent template={template} settingsCookie>
147
- <p>
148
- We use cookies in order to optimise our site and improve your experience with us. By
149
- using the site you consent to our
150
- <a href="/cookies" className="cookie-consent-gtm">
151
- &nbsp; Cookie Policy
152
- </a>
153
- .
154
- </p>
155
- </CookieConsent>
156
- <ModalContent>
157
- <CookieModal />
158
- </ModalContent>
150
+ <>
151
+ <CookieConsent template={template} settingsCookie>
152
+ <p>
153
+ We use cookies in order to optimise our site and improve your experience with us. By
154
+ using the site you consent to our
155
+ <a href="/cookies" className="cookie-consent-gtm">
156
+ &nbsp; Cookie Policy
157
+ </a>
158
+ .
159
+ </p>
160
+ </CookieConsent>
161
+ {CookieModal && (
162
+ <ModalContent>
163
+ <CookieModal />
164
+ </ModalContent>
165
+ )}
166
+ </>
159
167
  </ModalProvider>
160
168
  {!excludeTemplateInPopup.includes(pageContext?.page?.template) && Popup && popupData && (
161
169
  <Popup module={popupData} />
@@ -128,10 +128,10 @@ const Tabs = ({
128
128
  <></>
129
129
  )}
130
130
  </div>
131
- {ModuleIntro && <ModuleIntro content={module.module_introduction} />}
131
+
132
132
  {HeaderComp && <div className={styles.headerComp}>{HeaderComp}</div>}
133
133
  </div>
134
-
134
+ {ModuleIntro && <ModuleIntro content={module.module_introduction} />}
135
135
  <div className="tab-content">
136
136
  {children.map((child, index) => {
137
137
  if (
@@ -2,7 +2,6 @@
2
2
  @include flex-align(center, flex-start);
3
3
  position: relative;
4
4
  margin: 2rem 0;
5
- float: right;
6
5
  &.right {
7
6
  display: unset;
8
7
  @include min(tablet){
@@ -24,7 +23,7 @@
24
23
  width: 100%;
25
24
  background: white;
26
25
  border-radius: 6px;
27
- padding: 1.5rem 2rem;
26
+ padding: 1.5rem 3rem 1.5rem 2rem;
28
27
  text-align: left;
29
28
  font-size: 1.6rem;
30
29
  color: #08202e;
@@ -60,6 +60,17 @@
60
60
  @include flex-align(center, flex-start);
61
61
  display: block;
62
62
  }
63
+
64
+ .titleAndTab {
65
+ flex-direction: row;
66
+
67
+ button,
68
+ ol {
69
+ @include min(tablet) {
70
+ width: 100%;
71
+ }
72
+ }
73
+ }
63
74
  }
64
75
 
65
76
  h2 {
@@ -71,6 +82,7 @@
71
82
  width: 100%;
72
83
  display: flex;
73
84
  justify-content: space-between;
85
+ flex-direction: column;
74
86
  }
75
87
 
76
88
  .title {