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.
Files changed (49) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/package.json +2 -2
  3. package/src/components/atoms/cards/operators-table/index.js +58 -0
  4. package/src/components/atoms/cards/operators-table/table.module.scss +87 -0
  5. package/src/gatsby-core-theme/components/atoms/spotlights/spotlights.module.scss +1 -0
  6. package/src/gatsby-core-theme/components/molecules/content/index.js +6 -0
  7. package/src/gatsby-core-theme/components/molecules/footer/index.js +5 -7
  8. package/src/gatsby-core-theme/components/molecules/main/index.js +2 -2
  9. package/src/gatsby-core-theme/components/molecules/module/index.js +4 -0
  10. package/src/gatsby-core-theme/components/molecules/search/index.js +5 -4
  11. package/src/gatsby-core-theme/components/organisms/carousel/carousel.module.scss +26 -2
  12. package/src/gatsby-core-theme/components/organisms/head/index.js +48 -33
  13. package/src/gatsby-core-theme/components/pages/body/index.js +6 -2
  14. package/src/gatsby-core-theme/components/pages/search/index.js +15 -22
  15. package/src/gatsby-core-theme/styles/utils/variables/_main.scss +10 -0
  16. package/src/helpers/strings.js +40 -29
  17. package/src/hooks/tabs/index.js +4 -2
  18. package/storybook/public/{0.3d133e98.iframe.bundle.js → 0.1ef33c54.iframe.bundle.js} +1 -1
  19. package/storybook/public/{1.303d4a8e.iframe.bundle.js → 1.d02d8599.iframe.bundle.js} +1 -1
  20. package/storybook/public/10.ae38b8e6.iframe.bundle.js +1 -0
  21. package/storybook/public/{10.2bb842e6.iframe.bundle.js → 11.86382beb.iframe.bundle.js} +1 -1
  22. package/storybook/public/{11.7ad7ba28.iframe.bundle.js → 12.b6909189.iframe.bundle.js} +1 -1
  23. package/storybook/public/{12.c91443b3.iframe.bundle.js → 13.9e6703fb.iframe.bundle.js} +1 -1
  24. package/storybook/public/{13.9ac1db9d.iframe.bundle.js → 14.b0c67bdf.iframe.bundle.js} +1 -1
  25. package/storybook/public/{14.604f9747.iframe.bundle.js → 15.7bb7d301.iframe.bundle.js} +1 -1
  26. package/storybook/public/{15.16fa9e43.iframe.bundle.js → 16.d64c7fd7.iframe.bundle.js} +1 -1
  27. package/storybook/public/{5.6fafb5f4.iframe.bundle.js → 5.91c30f08.iframe.bundle.js} +3 -3
  28. package/storybook/public/{5.6fafb5f4.iframe.bundle.js.LICENSE.txt → 5.91c30f08.iframe.bundle.js.LICENSE.txt} +0 -0
  29. package/storybook/public/5.91c30f08.iframe.bundle.js.map +1 -0
  30. package/storybook/public/{6.2d558003.iframe.bundle.js → 6.002e2a71.iframe.bundle.js} +1 -1
  31. package/storybook/public/7.d12dd5b3.iframe.bundle.js +1 -0
  32. package/storybook/public/8.c5053ebc.iframe.bundle.js +1 -0
  33. package/storybook/public/{8.cd8f12ce.iframe.bundle.js → 9.05a986eb.iframe.bundle.js} +3 -3
  34. package/storybook/public/{8.cd8f12ce.iframe.bundle.js.LICENSE.txt → 9.05a986eb.iframe.bundle.js.LICENSE.txt} +0 -0
  35. package/storybook/public/9.05a986eb.iframe.bundle.js.map +1 -0
  36. package/storybook/public/iframe.html +1 -1
  37. package/storybook/public/main.f2a52f99.iframe.bundle.js +1 -0
  38. package/storybook/public/runtime~main.5a919f90.iframe.bundle.js +1 -0
  39. package/storybook/public/vendors~main.7fa2fd4a.iframe.bundle.js +7 -0
  40. package/storybook/public/{vendors~main.be5d297a.iframe.bundle.js.LICENSE.txt → vendors~main.7fa2fd4a.iframe.bundle.js.LICENSE.txt} +0 -0
  41. package/storybook/public/vendors~main.7fa2fd4a.iframe.bundle.js.map +1 -0
  42. package/storybook/public/5.6fafb5f4.iframe.bundle.js.map +0 -1
  43. package/storybook/public/7.8622538a.iframe.bundle.js +0 -1
  44. package/storybook/public/8.cd8f12ce.iframe.bundle.js.map +0 -1
  45. package/storybook/public/9.bc7480f3.iframe.bundle.js +0 -1
  46. package/storybook/public/main.4c12afb7.iframe.bundle.js +0 -1
  47. package/storybook/public/runtime~main.7b867edc.iframe.bundle.js +0 -1
  48. package/storybook/public/vendors~main.be5d297a.iframe.bundle.js +0 -7
  49. 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.0.8",
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": "^1.6.21",
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
+ }
@@ -42,6 +42,7 @@
42
42
  width: 100%;
43
43
  img {
44
44
  height: 5.6rem;
45
+ width: auto;
45
46
  }
46
47
  }
47
48
  .label {
@@ -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
- {copyrightDisclaimer && getExtraField(section?.extra_fields, copyrightDisclaimer) && (
42
- <p
42
+ {copyrightDisclaimerValue && (
43
+ <div
43
44
  dangerouslySetInnerHTML={{
44
- __html: getExtraField(section?.extra_fields, copyrightDisclaimer).replace(
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
- {page.author && <AuthorBox author={page.author} />}
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
- .screenshotCarousel > div {
2
- outline: none;
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
- // When google re-indexes dev NSA and IRL, remove lines 28, 41, 42, 43 and process.env.GATSBY_ACTIVE_ENV !== 'development' from lines 24, 25, 27, 29, 43
47
+ const twitterUsername = getTwitterUsername(page.siteSchema?.twitter);
48
+
47
49
  return (
48
- <Helmet>
49
- <meta charSet="utf-8" />
50
- <title>{page.meta_title}</title>
51
- <html lang={getLanguage(page.language)} />
52
- <meta name="description" content={page.meta_description} />
53
- {page.meta_robots && process.env.GATSBY_ACTIVE_ENV !== 'development' && (
54
- <meta name="robots" content={page.meta_robots.join()} />
55
- )}
56
- {page.robot_options && !page.path.includes('/page/') && (
57
- <meta name="robots" content={getRobotOptions(page.robot_options)} />
58
- )}
59
- {page.path.includes('/page/') && <meta name="robots" content="noindex,follow" />}
60
- {process.env.GATSBY_ACTIVE_ENV === 'development' && (
61
- <meta name="googlebot" content="noindex,follow" />
62
- )}
63
- <link rel="canonical" href={getCanonicalUrl(page)} />
64
- {page.preconnect_links &&
65
- page.preconnect_links.map((link) => <link key={keygen()} rel="preconnect" href={link} />)}
66
- <meta name="og:title" content={page.meta_title} />
67
- <meta name="og:site_name" content={siteInfo?.site_name && setName(siteInfo?.site_name)} />
68
- <meta name="og:description" content={page.meta_description} />
69
- <meta name="og:type" content={page.path === '/' ? 'website' : 'article'} />
70
- <meta name="og:image" content={pageImage} />
71
- <meta name="og:url" content={getUrl(page.path)} />
72
- {schemaGenerator(page, pageImage).map(
73
- (schema) =>
74
- schema && (
75
- <script key={keygen()} type="application/ld+json">
76
- {`${schema}`}
77
- </script>
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
- </Helmet>
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
- {pageType === 'operator' && !hideBanner && (
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 CardArticle from '../../../../components/atoms/cards/article-card';
10
- import CardGame from '../../../../components/atoms/cards/game-card';
11
- import CardOperator from '../../../../components/atoms/cards/operator-card';
12
- import PaymentMethods from '../../../../components/atoms/cards/payment-method-card';
13
- import SoftwareProvider from '../../../../components/atoms/cards/software-provider-card';
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
- {(item) => (
79
+ {() => (
77
80
  <>
78
- <div type="operator">
79
- <CardOperator item={item} />
80
- </div>
81
- <div type="game">
82
- <CardGame item={item} />
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
  }