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.
- package/CHANGELOG.md +36 -0
- package/package.json +4 -4
- package/src/components/atoms/cards/comparison-table/table/index.js +1 -1
- package/src/components/atoms/link-menu/index.js +1 -1
- package/src/components/atoms/modal/index.js +34 -30
- package/src/components/atoms/newsletter/success/index.js +1 -1
- package/src/components/atoms/search/autocomplete/article.js +1 -1
- package/src/components/atoms/search/autocomplete/game.js +1 -1
- package/src/components/atoms/search/autocomplete/operator.js +1 -1
- package/src/components/atoms/search/autocomplete/payment_methods.js +1 -1
- package/src/components/atoms/search/autocomplete/software_provider.js +1 -1
- package/src/components/atoms/social-icons/index.js +5 -1
- package/src/components/atoms/table/column/index.js +2 -1
- package/src/components/molecules/cookie-modal/category/index.js +2 -1
- package/src/components/molecules/cookie-modal/index.js +1 -1
- package/src/components/molecules/game-score-gauge/index.js +4 -2
- package/src/components/molecules/newsletter/index.js +1 -1
- package/src/components/molecules/toplist/row/variant-one.js +6 -5
- package/src/components/organisms/popup/index.js +1 -1
- package/src/gatsby-core-theme/components/atoms/module-title/index.js +1 -1
- package/src/gatsby-core-theme/components/molecules/search/index.js +2 -2
- package/src/gatsby-core-theme/components/organisms/cookie-consent/index.js +2 -2
- package/src/gatsby-core-theme/components/organisms/head/index.js +6 -1
- package/src/gatsby-core-theme/components/organisms/search/index.js +1 -1
- package/src/gatsby-core-theme/components/organisms/toplist/list/index.js +23 -22
- package/src/gatsby-core-theme/components/organisms/toplist/list/list.module.scss +1 -1
- package/src/gatsby-core-theme/components/pages/body/index.js +24 -16
- package/src/hooks/tabs/index.js +2 -2
- package/src/hooks/tabs/tab/tab-list.module.scss +1 -2
- package/src/hooks/tabs/tabs.module.scss +12 -0
- package/storybook/public/{40.1148348a.iframe.bundle.js → 109.8c690dba.iframe.bundle.js} +4 -4
- package/storybook/public/{40.1148348a.iframe.bundle.js.LICENSE.txt → 109.8c690dba.iframe.bundle.js.LICENSE.txt} +0 -0
- package/storybook/public/109.8c690dba.iframe.bundle.js.map +1 -0
- package/storybook/public/409.2393ca1d.iframe.bundle.js +1 -0
- package/storybook/public/iframe.html +1 -1
- package/storybook/public/main.e8d2df21.iframe.bundle.js +1 -0
- package/storybook/public/{runtime~main.ef7f3d3a.iframe.bundle.js → runtime~main.70f9a49f.iframe.bundle.js} +1 -1
- package/storybook/public/40.1148348a.iframe.bundle.js.map +0 -1
- package/storybook/public/409.eb5da381.iframe.bundle.js +0 -1
- 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.
|
|
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
|
-
"
|
|
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
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
useEffect(()=>{
|
|
10
|
-
setShow(!show);
|
|
11
|
-
},[])
|
|
6
|
+
const Modal = ({ children }) => {
|
|
7
|
+
const [show, setShow] = useState(false);
|
|
12
8
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
setShow(!show);
|
|
11
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12
|
+
}, []);
|
|
18
13
|
|
|
19
|
-
|
|
20
|
-
{
|
|
21
|
-
|
|
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
|
-
|
|
36
|
+
return <></>;
|
|
37
|
+
};
|
|
38
|
+
Modal.propTypes = {
|
|
39
|
+
children: PropTypes.node,
|
|
40
|
+
};
|
|
41
|
+
export default Modal;
|
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
<
|
|
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
|
|
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
|
-
</
|
|
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.
|
|
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,
|
|
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
|
-
|
|
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) =>
|
|
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
|
|
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
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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,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
|
|
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
|
-
|
|
147
|
-
<
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
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
|
+
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} />
|
package/src/hooks/tabs/index.js
CHANGED
|
@@ -128,10 +128,10 @@ const Tabs = ({
|
|
|
128
128
|
<></>
|
|
129
129
|
)}
|
|
130
130
|
</div>
|
|
131
|
-
|
|
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 {
|