gatsby-matrix-theme 3.0.8 → 3.1.1
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 +66 -0
- package/package.json +2 -2
- package/src/components/atoms/cards/operators-table/index.js +58 -0
- package/src/components/atoms/cards/operators-table/table.module.scss +87 -0
- package/src/gatsby-core-theme/components/atoms/spotlights/spotlights.module.scss +1 -0
- package/src/gatsby-core-theme/components/molecules/content/index.js +6 -0
- package/src/gatsby-core-theme/components/molecules/footer/index.js +5 -7
- package/src/gatsby-core-theme/components/molecules/main/index.js +2 -2
- package/src/gatsby-core-theme/components/molecules/module/index.js +4 -0
- package/src/gatsby-core-theme/components/molecules/search/index.js +5 -4
- package/src/gatsby-core-theme/components/organisms/carousel/carousel.module.scss +26 -2
- package/src/gatsby-core-theme/components/organisms/head/index.js +48 -33
- package/src/gatsby-core-theme/components/pages/body/index.js +6 -2
- package/src/gatsby-core-theme/components/pages/search/index.js +15 -22
- package/src/gatsby-core-theme/styles/utils/variables/_main.scss +10 -0
- package/src/helpers/strings.js +40 -29
- package/src/hooks/tabs/index.js +4 -2
- package/storybook/public/{0.3d133e98.iframe.bundle.js → 0.1ef33c54.iframe.bundle.js} +1 -1
- package/storybook/public/{1.303d4a8e.iframe.bundle.js → 1.d02d8599.iframe.bundle.js} +1 -1
- package/storybook/public/10.ae38b8e6.iframe.bundle.js +1 -0
- package/storybook/public/{10.2bb842e6.iframe.bundle.js → 11.86382beb.iframe.bundle.js} +1 -1
- package/storybook/public/{11.7ad7ba28.iframe.bundle.js → 12.b6909189.iframe.bundle.js} +1 -1
- package/storybook/public/{12.c91443b3.iframe.bundle.js → 13.9e6703fb.iframe.bundle.js} +1 -1
- package/storybook/public/{13.9ac1db9d.iframe.bundle.js → 14.b0c67bdf.iframe.bundle.js} +1 -1
- package/storybook/public/{14.604f9747.iframe.bundle.js → 15.7bb7d301.iframe.bundle.js} +1 -1
- package/storybook/public/{15.16fa9e43.iframe.bundle.js → 16.d64c7fd7.iframe.bundle.js} +1 -1
- package/storybook/public/{5.6fafb5f4.iframe.bundle.js → 5.91c30f08.iframe.bundle.js} +3 -3
- package/storybook/public/{5.6fafb5f4.iframe.bundle.js.LICENSE.txt → 5.91c30f08.iframe.bundle.js.LICENSE.txt} +0 -0
- package/storybook/public/5.91c30f08.iframe.bundle.js.map +1 -0
- package/storybook/public/{6.2d558003.iframe.bundle.js → 6.002e2a71.iframe.bundle.js} +1 -1
- package/storybook/public/7.d12dd5b3.iframe.bundle.js +1 -0
- package/storybook/public/8.c5053ebc.iframe.bundle.js +1 -0
- package/storybook/public/{8.cd8f12ce.iframe.bundle.js → 9.05a986eb.iframe.bundle.js} +3 -3
- package/storybook/public/{8.cd8f12ce.iframe.bundle.js.LICENSE.txt → 9.05a986eb.iframe.bundle.js.LICENSE.txt} +0 -0
- package/storybook/public/9.05a986eb.iframe.bundle.js.map +1 -0
- package/storybook/public/iframe.html +1 -1
- package/storybook/public/main.f2a52f99.iframe.bundle.js +1 -0
- package/storybook/public/runtime~main.5a919f90.iframe.bundle.js +1 -0
- package/storybook/public/vendors~main.7fa2fd4a.iframe.bundle.js +7 -0
- package/storybook/public/{vendors~main.be5d297a.iframe.bundle.js.LICENSE.txt → vendors~main.7fa2fd4a.iframe.bundle.js.LICENSE.txt} +0 -0
- package/storybook/public/vendors~main.7fa2fd4a.iframe.bundle.js.map +1 -0
- package/storybook/public/5.6fafb5f4.iframe.bundle.js.map +0 -1
- package/storybook/public/7.8622538a.iframe.bundle.js +0 -1
- package/storybook/public/8.cd8f12ce.iframe.bundle.js.map +0 -1
- package/storybook/public/9.bc7480f3.iframe.bundle.js +0 -1
- package/storybook/public/main.4c12afb7.iframe.bundle.js +0 -1
- package/storybook/public/runtime~main.7b867edc.iframe.bundle.js +0 -1
- package/storybook/public/vendors~main.be5d297a.iframe.bundle.js +0 -7
- package/storybook/public/vendors~main.be5d297a.iframe.bundle.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,69 @@
|
|
|
1
|
+
## [3.1.1](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v3.1.0...v3.1.1) (2021-12-17)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Config
|
|
5
|
+
|
|
6
|
+
* updated theme version ([d35a8d2](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/d35a8d258252b7376968683cd5fc65af089923eb))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
* Merge branch 'master' of git.ilcd.rocks:team-floyd/themes/matrix-theme ([ec89a34](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/ec89a340a0c73ed3261f0b5d9eff2b33254dc35c))
|
|
10
|
+
|
|
11
|
+
# [3.1.0](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v3.0.10...v3.1.0) (2021-12-17)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* add default copyright_disclaimer ([f0c330f](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/f0c330fc779e79be0e6a7bab17cd54989e3e93de))
|
|
17
|
+
* carousel slides ([ae7dea9](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/ae7dea9a0025daca522572efbd6ce27b5c7d3a0a))
|
|
18
|
+
* casino table ([2d0b8ec](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/2d0b8ec4cd2e18fc9a21d1b17dcf1c529ac03aab))
|
|
19
|
+
* fixed bonus issue and loadable condition ([7f1f1a7](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/7f1f1a7d6e467da005b60a8806056280fad671e7))
|
|
20
|
+
* fixed copyrightDisclaimer ([1a606d2](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/1a606d2990c3883e2a3f0541d369e52dd93457f4))
|
|
21
|
+
* merge ([14a32ab](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/14a32ab72c7c430e3619755433d5a92a79fe742c))
|
|
22
|
+
* merged master ([5a983ab](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/5a983ab64013fe9029d99eea3223ecb2c4145a1b))
|
|
23
|
+
* progress made ([55c3175](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/55c3175b5e827a2d1c3d1b33cb44ff3ca3b23379))
|
|
24
|
+
* remove re-declared copyrightDisclaimer ([598ac18](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/598ac182d54e7a62e638ccfe42cda809f899ffc7))
|
|
25
|
+
* small fix ([9d8c24d](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/9d8c24dc18245c6b07c658afce398ddf55802cec))
|
|
26
|
+
* small fix ([a9341ad](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/a9341ad547865d2a154c98d55d12c78bd09f5982))
|
|
27
|
+
* spotlight images ([8daaf46](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/8daaf460f49bafdda908899ae37fe8ff992befe2))
|
|
28
|
+
* spotlight images ([fa886b6](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/fa886b6cbe2aa31992a415828f21f2927d5d8c97))
|
|
29
|
+
* style issues ([2881939](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/28819392bbfec1ffa64739b42cb9dfc367ef7f82))
|
|
30
|
+
* updated core theme version and fixed disclaimer text bug ([3ce75e2](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/3ce75e2c58812fef1ee3177c200a5268a5763f78))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
### Code Refactoring
|
|
34
|
+
|
|
35
|
+
* check the data ([dd25ece](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/dd25ece863cd5956663ab47a34dde6eca5ded85a))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
* Merge branch 'tm-2613-carousel-fix' into 'master' ([bdf02e8](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/bdf02e8b330e9923437ae8a1c68568ce19c2c181))
|
|
39
|
+
* Merge branch 'tm-2597-casino-table' into 'master' ([6861c37](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/6861c37c160aab7426288b8b4f40b3b8eabad3cf))
|
|
40
|
+
* Update index.js ([056c9bd](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/056c9bddb0d7e63d0fbe8538968933c4d69d99b8))
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Features
|
|
44
|
+
|
|
45
|
+
* twitter graph ([dfdf8bf](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/dfdf8bfe5e9ff07a20b25f2c5f659126767dcffb))
|
|
46
|
+
|
|
47
|
+
## [3.0.10](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v3.0.9...v3.0.10) (2021-12-10)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
### Code Refactoring
|
|
51
|
+
|
|
52
|
+
* setting components to loadable if loaded against a condition ([b8c7040](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/b8c704014f9d80bf0e0fef6d3c97a39ebede8366))
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
* Merge branch 'performance-improvements' into 'master' ([429f393](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/429f3936928ba46717e7b551751c1e6e5abbd0e0))
|
|
56
|
+
|
|
57
|
+
## [3.0.9](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v3.0.8...v3.0.9) (2021-12-09)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
### Bug Fixes
|
|
61
|
+
|
|
62
|
+
* added loadable ([2caaf41](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/2caaf41131f0fcb1caa8eeb65ec886fd11963489))
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
* Merge branch 'master' of git.ilcd.rocks:team-floyd/themes/matrix-theme ([e171920](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/commit/e1719202cc8e06e3904dd84b0089caf9af65dcc5))
|
|
66
|
+
|
|
1
67
|
## [3.0.8](https://git.ilcd.rocks/team-floyd/themes/matrix-theme/compare/v3.0.7...v3.0.8) (2021-12-09)
|
|
2
68
|
|
|
3
69
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gatsby-matrix-theme",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.1",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"description": "Matrix Theme NPM Package",
|
|
6
6
|
"author": "",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"cross-env": "^7.0.2",
|
|
32
32
|
"dotenv": "8.2.0",
|
|
33
33
|
"gatsby": "^3.3.1",
|
|
34
|
-
"gatsby-core-theme": "^
|
|
34
|
+
"gatsby-core-theme": "^2.0.2",
|
|
35
35
|
"gatsby-image": "^3.3.0",
|
|
36
36
|
"gatsby-plugin-image": "^1.3.1",
|
|
37
37
|
"gatsby-plugin-postcss": "^4.3.0",
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/* eslint-disable camelcase */
|
|
2
|
+
import React, { useContext } from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import Link from 'gatsby-core-theme/src/hooks/link';
|
|
5
|
+
import { Context } from 'gatsby-core-theme/src/context/TranslationsProvider';
|
|
6
|
+
import { translate, getBonus } from 'gatsby-core-theme/src/helpers/getters';
|
|
7
|
+
import styles from './table.module.scss';
|
|
8
|
+
|
|
9
|
+
const CasinosTable = ({ module }) => {
|
|
10
|
+
const { translations } = useContext(Context);
|
|
11
|
+
const { items } = module || {};
|
|
12
|
+
|
|
13
|
+
const oneLiner = ({ one_liner }) => {
|
|
14
|
+
const [firstLine, secondLine] = one_liner.split('+');
|
|
15
|
+
return (
|
|
16
|
+
<>
|
|
17
|
+
<span className={styles.firstLine}>{firstLine}<br /></span>
|
|
18
|
+
<span className={styles.secondLine}>{`+${secondLine}`}</span>
|
|
19
|
+
</>
|
|
20
|
+
);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
<div className={styles.container}>
|
|
25
|
+
<table>
|
|
26
|
+
<thead>
|
|
27
|
+
<tr>
|
|
28
|
+
<th>{`${translate(translations, 'casino', 'Casino')}`}</th>
|
|
29
|
+
<th>{`${translate(translations, 'bonus', 'Bonus')}`}</th>
|
|
30
|
+
<th>{`${translate(translations, 'visit_casino', 'Visit casino')}`}</th>
|
|
31
|
+
</tr>
|
|
32
|
+
</thead>
|
|
33
|
+
<tbody>
|
|
34
|
+
{items &&
|
|
35
|
+
items.map((item) => (
|
|
36
|
+
<tr>
|
|
37
|
+
<td>{item.title}</td>
|
|
38
|
+
<td>{oneLiner(getBonus('main', item?.relation))}</td>
|
|
39
|
+
<td>
|
|
40
|
+
<Link to={item?.path} name={item?.relation?.name}>
|
|
41
|
+
{`${item?.relation?.name} ${translate(translations, 'read_review', 'Review')}`}
|
|
42
|
+
</Link>
|
|
43
|
+
</td>
|
|
44
|
+
</tr>
|
|
45
|
+
))}
|
|
46
|
+
</tbody>
|
|
47
|
+
</table>
|
|
48
|
+
</div>
|
|
49
|
+
);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export default CasinosTable;
|
|
53
|
+
|
|
54
|
+
CasinosTable.propTypes = {
|
|
55
|
+
module: PropTypes.shape({
|
|
56
|
+
items: PropTypes.arrayOf({}),
|
|
57
|
+
}).isRequired,
|
|
58
|
+
};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
.container {
|
|
2
|
+
table {
|
|
3
|
+
width: 100%;
|
|
4
|
+
border-collapse: inherit;
|
|
5
|
+
box-shadow: 0 2px 16px #17182f14;
|
|
6
|
+
thead {
|
|
7
|
+
tr {
|
|
8
|
+
th {
|
|
9
|
+
text-align: left;
|
|
10
|
+
background-color: var(--table-head-background);
|
|
11
|
+
color: white;
|
|
12
|
+
padding: 1.2rem 0 1.2rem 0.8rem;
|
|
13
|
+
&:first-child {
|
|
14
|
+
border-top-left-radius: var(--table-border-radius);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&:last-child {
|
|
18
|
+
border-top-right-radius: var(--table-border-radius);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
tr {
|
|
24
|
+
td {
|
|
25
|
+
padding: 1.2rem 0 1.2rem 0.8rem;
|
|
26
|
+
a {
|
|
27
|
+
text-decoration: underline;
|
|
28
|
+
}
|
|
29
|
+
.secondLine{
|
|
30
|
+
color: red;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
&:nth-child(odd) {
|
|
34
|
+
background-color: var(--table-highlight);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@include max(mobile) {
|
|
39
|
+
thead {
|
|
40
|
+
display: none;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
tbody {
|
|
44
|
+
tr {
|
|
45
|
+
&:first-child {
|
|
46
|
+
|
|
47
|
+
td {
|
|
48
|
+
color: white;
|
|
49
|
+
background-color: var(--table-head-background);
|
|
50
|
+
border-radius: 0;
|
|
51
|
+
.secondLine{
|
|
52
|
+
color: white;
|
|
53
|
+
}
|
|
54
|
+
&:first-child {
|
|
55
|
+
border-top-left-radius: var(--table-border-radius);
|
|
56
|
+
border-top-right-radius: var(--table-border-radius);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
a {
|
|
60
|
+
color: white;
|
|
61
|
+
text-decoration: underline;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
td {
|
|
67
|
+
display: block;
|
|
68
|
+
text-align: left;
|
|
69
|
+
border-bottom: 1px solid #bfd3e5;
|
|
70
|
+
width: 100%;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&:last-child {
|
|
74
|
+
td {
|
|
75
|
+
border-radius: 0;
|
|
76
|
+
&:last-child {
|
|
77
|
+
border-bottom-right-radius: var(--table-border-radius);
|
|
78
|
+
border-bottom-left-radius: var(--table-border-radius);
|
|
79
|
+
border-bottom: none;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -5,6 +5,7 @@ import parse from 'html-react-parser';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import LazyImage from 'gatsby-core-theme/src/hooks/lazy-image';
|
|
7
7
|
import { parseCss } from 'gatsby-core-theme/src/helpers/css-parser';
|
|
8
|
+
import loadable from '@loadable/component';
|
|
8
9
|
import styles from './content.module.scss';
|
|
9
10
|
|
|
10
11
|
const Content = ({ module }) => {
|
|
@@ -12,6 +13,11 @@ const Content = ({ module }) => {
|
|
|
12
13
|
const [showMore, setShowMore] = useState(show_more_enabled === '1');
|
|
13
14
|
|
|
14
15
|
const replaceMedia = (node) => {
|
|
16
|
+
if (node.name === 'iframe') {
|
|
17
|
+
const Iframe = loadable(() => import('gatsby-core-theme/src/components/atoms/iframe'));
|
|
18
|
+
return <Iframe src={node.attribs.src} />;
|
|
19
|
+
}
|
|
20
|
+
|
|
15
21
|
if (node.name === 'img') {
|
|
16
22
|
let stylesClass = null;
|
|
17
23
|
const classes = node.attribs.class;
|
|
@@ -19,6 +19,7 @@ const Footer = ({
|
|
|
19
19
|
const TopSection = footerTopCustom;
|
|
20
20
|
const BottomSection = footerBottomCustom;
|
|
21
21
|
const showLinks = template !== 'ppc';
|
|
22
|
+
const copyrightDisclaimerValue = getExtraField(section?.extra_fields, copyrightDisclaimer);
|
|
22
23
|
|
|
23
24
|
return (
|
|
24
25
|
<footer className={`${styles.footer} ${hasFooterLinks && styles.hasFooterLinks}`}>
|
|
@@ -38,20 +39,17 @@ const Footer = ({
|
|
|
38
39
|
<div className={styles.bottomPart}>
|
|
39
40
|
{footerBottomCustom && <BottomSection section={section} page={page} />}
|
|
40
41
|
<div className={styles.copyrightDisclaimer}>
|
|
41
|
-
{
|
|
42
|
-
<
|
|
42
|
+
{copyrightDisclaimerValue && (
|
|
43
|
+
<div
|
|
43
44
|
dangerouslySetInnerHTML={{
|
|
44
|
-
__html:
|
|
45
|
-
/\. /g,
|
|
46
|
-
'.<br />'
|
|
47
|
-
),
|
|
45
|
+
__html: copyrightDisclaimerValue.replace(/\. /g, '.<br />'),
|
|
48
46
|
}}
|
|
49
47
|
/>
|
|
50
48
|
)}
|
|
51
49
|
<p>{copyrightText()}</p>
|
|
52
50
|
</div>
|
|
53
51
|
<div className={styles.logos}>
|
|
54
|
-
{footerLogos && (
|
|
52
|
+
{footerLogos && getExtraField(section?.extra_fields, footerLogos) && (
|
|
55
53
|
<LinkList
|
|
56
54
|
showListTitle={false}
|
|
57
55
|
imageOnly
|
|
@@ -7,7 +7,6 @@ import Module from 'gatsby-core-theme/src/components/molecules/module';
|
|
|
7
7
|
|
|
8
8
|
import styles from 'gatsby-core-theme/src/components/molecules/main/main.module.scss';
|
|
9
9
|
import keygen from 'gatsby-core-theme/src/helpers/keygen';
|
|
10
|
-
import AuthorBox from 'gatsby-core-theme/src/components/atoms/author-box';
|
|
11
10
|
import Newsletter from '../../../../components/molecules/newsletter';
|
|
12
11
|
|
|
13
12
|
const Main = ({ section = {}, pageContext = {}, showNewsletter = false }) => {
|
|
@@ -27,6 +26,7 @@ const Main = ({ section = {}, pageContext = {}, showNewsletter = false }) => {
|
|
|
27
26
|
const NotFound = page.path.includes('404')
|
|
28
27
|
? loadable(() => import(`gatsby-core-theme/src/components/atoms/not-found`))
|
|
29
28
|
: null;
|
|
29
|
+
const AuthorBox = page.author ? loadable(() => import(`~atoms/author-box`)) : null;
|
|
30
30
|
|
|
31
31
|
return (
|
|
32
32
|
<main className={styles.modulePage}>
|
|
@@ -39,7 +39,7 @@ const Main = ({ section = {}, pageContext = {}, showNewsletter = false }) => {
|
|
|
39
39
|
{SearchPage && <SearchPage page={page} />}
|
|
40
40
|
{showNewsletter && <Newsletter page={page} />}
|
|
41
41
|
{NewsletterSuccess && showNewsletter && <NewsletterSuccess />}
|
|
42
|
-
{
|
|
42
|
+
{AuthorBox && <AuthorBox author={page.author} />}
|
|
43
43
|
</main>
|
|
44
44
|
);
|
|
45
45
|
};
|
|
@@ -22,7 +22,11 @@ const Modules = ({ module, page, pageContext }) => {
|
|
|
22
22
|
case 'counter':
|
|
23
23
|
return loadable(() => import('gatsby-core-theme/src/components/molecules/counter'));
|
|
24
24
|
case 'cards':
|
|
25
|
+
return loadable(() => import('../../organisms/cards'));
|
|
25
26
|
case 'cards_v2':
|
|
27
|
+
if (moduleItem.style === 'stack_table' && moduleItem.cards_page_type === 'operator') {
|
|
28
|
+
return loadable(() => import('../../../../components/atoms/cards/operators-table'));
|
|
29
|
+
}
|
|
26
30
|
return loadable(() => import('../../organisms/cards'));
|
|
27
31
|
case 'pros_and_cons':
|
|
28
32
|
return loadable(() => import('gatsby-core-theme/src/components/molecules/pros-cons'));
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
1
2
|
import React, { useState, useEffect, useRef, useCallback, useContext } from 'react';
|
|
2
3
|
import PropTypes from 'prop-types';
|
|
3
4
|
import { navigate } from 'gatsby';
|
|
4
5
|
import { FaSearch } from 'react-icons/fa';
|
|
5
|
-
|
|
6
|
-
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
6
|
+
import loadable from '@loadable/component';
|
|
7
7
|
import Tabs from 'gatsby-matrix-theme/src/hooks/tabs';
|
|
8
8
|
import styles from 'gatsby-core-theme/src/components/molecules/search/search.module.scss';
|
|
9
9
|
import { translate } from 'gatsby-core-theme/src/helpers/getters';
|
|
@@ -16,9 +16,7 @@ import keygen from '~helpers/keygen';
|
|
|
16
16
|
import { filterByKey, sortDateOn, sortIntOn, sortStringOn } from '~helpers/search';
|
|
17
17
|
import loadSource from '~helpers/search-source';
|
|
18
18
|
import { leftTrim } from '~helpers/strings';
|
|
19
|
-
import Archive from '~organisms/archive';
|
|
20
19
|
import ModuleTitle from '~atoms/module-title';
|
|
21
|
-
import CustomSelect from '~atoms/custom-select';
|
|
22
20
|
import { NavigationContext } from '~organisms/navigation/navigationContext';
|
|
23
21
|
|
|
24
22
|
/* eslint-disable no-underscore-dangle */
|
|
@@ -222,6 +220,7 @@ const Search = ({
|
|
|
222
220
|
}
|
|
223
221
|
}, [pageSearchOptionsCopy]);
|
|
224
222
|
if (pageSearchOptionsCopy !== null && pageSearchOptionsCopy.sort !== undefined) {
|
|
223
|
+
const CustomSelect = loadable(() => import('~atoms/custom-select'));
|
|
225
224
|
pageSearchOptionsCopy.tabsOptions.HeaderComp = (
|
|
226
225
|
<div className={styles.selectwrapper}>
|
|
227
226
|
<CustomSelect
|
|
@@ -359,6 +358,8 @@ const Search = ({
|
|
|
359
358
|
|
|
360
359
|
if (items.length === 0) return null;
|
|
361
360
|
|
|
361
|
+
const Archive = loadable(() => import('~organisms/archive'));
|
|
362
|
+
|
|
362
363
|
return (
|
|
363
364
|
<div label={titleObj.title} tabId={type + index} key={keygen()}>
|
|
364
365
|
{pageSearchOptionsCopy.useArchive === undefined ||
|
|
@@ -1,3 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
:global {
|
|
2
|
+
.carousel-module {
|
|
3
|
+
background-color: var(--color-5);
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
.carouselContainer {
|
|
7
|
+
.carouselTitle {
|
|
8
|
+
margin-bottom: 1.5rem;
|
|
9
|
+
}
|
|
10
|
+
.slide {
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: row;
|
|
13
|
+
align-items: center;
|
|
14
|
+
width: 100%;
|
|
15
|
+
}
|
|
16
|
+
.carouselItem {
|
|
17
|
+
padding: 0.5rem;
|
|
18
|
+
width: 50%;
|
|
19
|
+
@include max(tablet) {
|
|
20
|
+
width: 100%;
|
|
21
|
+
text-align: center;
|
|
22
|
+
}
|
|
23
|
+
img {
|
|
24
|
+
border-radius: 0.6rem;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
3
27
|
}
|
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import { schemaGenerator } from '~helpers/schema';
|
|
7
7
|
import { getUrl, getPageImage, imagePrettyUrl } from '~helpers/getters';
|
|
8
8
|
import keygen from '~helpers/keygen';
|
|
9
|
+
import { getTwitterUsername } from '../../../../helpers/strings';
|
|
9
10
|
|
|
10
11
|
export function getLanguage(language) {
|
|
11
12
|
const name = process.env.GATSBY_SITE_NAME;
|
|
@@ -43,41 +44,55 @@ function setName(string) {
|
|
|
43
44
|
}
|
|
44
45
|
const Head = ({ page = {}, siteInfo }) => {
|
|
45
46
|
const pageImage = getPageImage(page) ? getPageImage(page) : imagePrettyUrl(siteInfo?.site_logo);
|
|
46
|
-
|
|
47
|
+
const twitterUsername = getTwitterUsername(page.siteSchema?.twitter);
|
|
48
|
+
|
|
47
49
|
return (
|
|
48
|
-
|
|
49
|
-
<
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
page.preconnect_links
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
50
|
+
<>
|
|
51
|
+
<Helmet>
|
|
52
|
+
<meta charSet="utf-8" />
|
|
53
|
+
<title>{page.meta_title}</title>
|
|
54
|
+
<html lang={getLanguage(page.language)} />
|
|
55
|
+
<meta name="description" content={page.meta_description} />
|
|
56
|
+
{page.meta_robots && process.env.GATSBY_ACTIVE_ENV !== 'development' && (
|
|
57
|
+
<meta name="robots" content={page.meta_robots.join()} />
|
|
58
|
+
)}
|
|
59
|
+
{page.robot_options && !page.path.includes('/page/') && (
|
|
60
|
+
<meta name="robots" content={getRobotOptions(page.robot_options)} />
|
|
61
|
+
)}
|
|
62
|
+
{page.path.includes('/page/') && <meta name="robots" content="noindex,follow" />}
|
|
63
|
+
{process.env.GATSBY_ACTIVE_ENV === 'development' && (
|
|
64
|
+
<meta name="googlebot" content="noindex,follow" />
|
|
65
|
+
)}
|
|
66
|
+
<link rel="canonical" href={getCanonicalUrl(page)} />
|
|
67
|
+
{page.preconnect_links &&
|
|
68
|
+
page.preconnect_links.map((link) => <link key={keygen()} rel="preconnect" href={link} />)}
|
|
69
|
+
<meta name="og:title" content={page.meta_title} />
|
|
70
|
+
<meta name="og:site_name" content={siteInfo?.site_name && setName(siteInfo?.site_name)} />
|
|
71
|
+
<meta name="og:description" content={page.meta_description} />
|
|
72
|
+
<meta name="og:type" content={page.path === '/' ? 'website' : 'article'} />
|
|
73
|
+
<meta name="og:image" content={pageImage} />
|
|
74
|
+
<meta name="og:url" content={getUrl(page.path)} />
|
|
75
|
+
|
|
76
|
+
{schemaGenerator(page, pageImage).map(
|
|
77
|
+
(schema) =>
|
|
78
|
+
schema && (
|
|
79
|
+
<script key={keygen()} type="application/ld+json">
|
|
80
|
+
{`${schema}`}
|
|
81
|
+
</script>
|
|
82
|
+
)
|
|
83
|
+
)}
|
|
84
|
+
</Helmet>
|
|
85
|
+
|
|
86
|
+
{twitterUsername && (
|
|
87
|
+
<Helmet>
|
|
88
|
+
<meta name="twitter:title" content={page.meta_title} />
|
|
89
|
+
<meta name="twitter:description" content={page.meta_description} />
|
|
90
|
+
<meta name="twitter:site" content={`@${twitterUsername}`} />
|
|
91
|
+
<meta name="twitter:card" content="summary" />
|
|
92
|
+
<meta name="twitter:image" content={pageImage} />
|
|
93
|
+
</Helmet>
|
|
79
94
|
)}
|
|
80
|
-
|
|
95
|
+
</>
|
|
81
96
|
);
|
|
82
97
|
};
|
|
83
98
|
|
|
@@ -4,7 +4,6 @@ import PropTypes from 'prop-types';
|
|
|
4
4
|
import loadable from '@loadable/component';
|
|
5
5
|
import { getSection } from 'gatsby-core-theme/src/helpers/getters';
|
|
6
6
|
import Navigation from 'gatsby-core-theme/src/components/organisms/navigation';
|
|
7
|
-
import OperatorBanner from 'gatsby-core-theme/src/components/molecules/operator-banner';
|
|
8
7
|
import ScrollToTop from 'gatsby-core-theme/src/components/atoms/scroll-to-top';
|
|
9
8
|
import CookieConsent from 'gatsby-core-theme/src/components/organisms/cookie-consent';
|
|
10
9
|
import Main from 'gatsby-core-theme/src/components/molecules/main';
|
|
@@ -52,6 +51,11 @@ function Body({ pageContext, children }) {
|
|
|
52
51
|
? loadable(() => import(`../../../../components/organisms/footer-navigation`))
|
|
53
52
|
: null;
|
|
54
53
|
|
|
54
|
+
const OperatorBanner =
|
|
55
|
+
pageType === 'operator' && !hideBanner
|
|
56
|
+
? loadable(() => import(`gatsby-core-theme/src/components/molecules/operator-banner`))
|
|
57
|
+
: null;
|
|
58
|
+
|
|
55
59
|
return (
|
|
56
60
|
<>
|
|
57
61
|
{navigation && (
|
|
@@ -82,7 +86,7 @@ function Body({ pageContext, children }) {
|
|
|
82
86
|
{!isSearch && !is404 && <Header section={pageContext} />}
|
|
83
87
|
{main && !children && <Main section={main} pageContext={pageContext} />}
|
|
84
88
|
{children && <main>{children}</main>}
|
|
85
|
-
{
|
|
89
|
+
{OperatorBanner && (
|
|
86
90
|
<OperatorBanner
|
|
87
91
|
template={template}
|
|
88
92
|
sticky
|
|
@@ -1,21 +1,24 @@
|
|
|
1
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
1
2
|
/* eslint-disable react/forbid-prop-types */
|
|
2
3
|
import React, { useContext } from 'react';
|
|
3
4
|
import PropTypes from 'prop-types';
|
|
4
5
|
import Breadcrumbs from 'gatsby-core-theme/src/components/atoms/breadcrumbs';
|
|
5
|
-
import Search from 'gatsby-core-theme/src/components/molecules/search';
|
|
6
6
|
import moduleStyles from 'gatsby-core-theme/src/components/molecules/module/module.module.scss';
|
|
7
7
|
import { translate } from 'gatsby-core-theme/src/helpers/getters';
|
|
8
8
|
import { Context } from 'gatsby-core-theme/src/context/TranslationsProvider';
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
9
|
+
import loadable from '@loadable/component';
|
|
10
|
+
// import CardArticle from '../../../../components/atoms/cards/article-card';
|
|
11
|
+
// import CardGame from '../../../../components/atoms/cards/game-card';
|
|
12
|
+
// import CardOperator from '../../../../components/atoms/cards/operator-card';
|
|
13
|
+
// import PaymentMethods from '../../../../components/atoms/cards/payment-method-card';
|
|
14
|
+
// import SoftwareProvider from '../../../../components/atoms/cards/software-provider-card';
|
|
14
15
|
import styles from './search.module.scss';
|
|
15
16
|
|
|
16
17
|
const SearchContent = ({ page }) => {
|
|
17
18
|
const { translations } = useContext(Context) || {};
|
|
18
19
|
|
|
20
|
+
const Search = loadable(() => import('gatsby-core-theme/src/components/molecules/search'));
|
|
21
|
+
|
|
19
22
|
return (
|
|
20
23
|
<div className={`${styles.searchPage} ${moduleStyles.module} module`}>
|
|
21
24
|
{page.path && <Breadcrumbs page={page} />}
|
|
@@ -73,23 +76,13 @@ const SearchContent = ({ page }) => {
|
|
|
73
76
|
},
|
|
74
77
|
}}
|
|
75
78
|
>
|
|
76
|
-
{(
|
|
79
|
+
{() => (
|
|
77
80
|
<>
|
|
78
|
-
<div type="operator">
|
|
79
|
-
|
|
80
|
-
</div>
|
|
81
|
-
<div type="
|
|
82
|
-
|
|
83
|
-
</div>
|
|
84
|
-
<div type="article">
|
|
85
|
-
<CardArticle item={item} />
|
|
86
|
-
</div>
|
|
87
|
-
<div type="payment_method">
|
|
88
|
-
<PaymentMethods item={item} />
|
|
89
|
-
</div>
|
|
90
|
-
<div type="software_provider">
|
|
91
|
-
<SoftwareProvider item={item} />
|
|
92
|
-
</div>
|
|
81
|
+
<div type="operator">{/* <CardOperator item={item} /> */}</div>
|
|
82
|
+
<div type="game">{/* <CardGame item={item} /> */}</div>
|
|
83
|
+
<div type="article">{/* <CardArticle item={item} /> */}</div>
|
|
84
|
+
<div type="payment_method">{/* <PaymentMethods item={item} /> */}</div>
|
|
85
|
+
<div type="software_provider">{/* <SoftwareProvider item={item} /> */}</div>
|
|
93
86
|
</>
|
|
94
87
|
)}
|
|
95
88
|
</Search>
|
|
@@ -12,6 +12,14 @@
|
|
|
12
12
|
--modal-background-color: white;
|
|
13
13
|
|
|
14
14
|
--star-rating-color: orange;
|
|
15
|
+
--full-star-fill-color: #fba62f;
|
|
16
|
+
--full-star-border-color: #fba62f;
|
|
17
|
+
--halfFull-star-fill-color: #fba62f;
|
|
18
|
+
--halfEmpty-star-fill-color: white;
|
|
19
|
+
--half-star-border-color: #fba62f;
|
|
20
|
+
--empty-star-fill-color: white;
|
|
21
|
+
--empty-star-border-color: grey;
|
|
22
|
+
--selling-point-icon-color: #00889e;
|
|
15
23
|
|
|
16
24
|
--main-font: sans-serif;
|
|
17
25
|
|
|
@@ -64,4 +72,6 @@
|
|
|
64
72
|
--page-number-background: #393939;
|
|
65
73
|
--page-number-color: #fff;
|
|
66
74
|
--sitemap-background-color: #fff;
|
|
75
|
+
|
|
76
|
+
|
|
67
77
|
}
|