gatsby-matrix-theme 2.0.5 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/.storybook/main.js +1 -0
  2. package/CHANGELOG.md +102 -0
  3. package/jest.config.js +1 -0
  4. package/package.json +2 -2
  5. package/src/components/atoms/cards/article-card/index.js +9 -6
  6. package/src/components/atoms/cards/author-card/index.js +6 -1
  7. package/src/components/atoms/cards/base-card/index.js +1 -1
  8. package/src/components/atoms/cards/game-card/index.js +9 -6
  9. package/src/components/atoms/cards/operator-card/index.js +14 -8
  10. package/src/components/atoms/cards/payment-method-card/index.js +11 -9
  11. package/src/components/atoms/cards/popup-card/index.js +5 -5
  12. package/src/components/atoms/cards/popup-card/popup-card.module.scss +6 -7
  13. package/src/components/atoms/cards/popup-card/popup-card.stories.js +0 -10
  14. package/src/components/atoms/cards/software-provider-card/index.js +10 -9
  15. package/src/components/atoms/link-menu/index.js +1 -1
  16. package/src/components/atoms/modal/modal.module.scss +44 -41
  17. package/src/components/atoms/newsletter/success/index.js +18 -13
  18. package/src/components/atoms/operator-bonuses/index.js +10 -7
  19. package/src/components/atoms/search/autocomplete/article.js +1 -1
  20. package/src/components/atoms/search/autocomplete/game.js +1 -1
  21. package/src/components/atoms/search/autocomplete/operator.js +1 -1
  22. package/src/components/atoms/search/autocomplete/payment_methods.js +1 -1
  23. package/src/components/atoms/search/autocomplete/software_provider.js +1 -1
  24. package/src/components/atoms/table/banking/index.js +24 -20
  25. package/src/components/atoms/table/column/index.js +2 -5
  26. package/src/components/atoms/table/staticColumn/index.js +28 -33
  27. package/src/components/molecules/faq/faq.module.scss +14 -10
  28. package/src/components/molecules/faq/index.js +1 -1
  29. package/src/components/molecules/game-iframe/index.js +6 -1
  30. package/src/components/molecules/game-score-gauge/game-score-gauge.stories.js +7 -12
  31. package/src/components/molecules/game-score-gauge/index.js +4 -2
  32. package/src/components/molecules/info-grid/index.js +1 -0
  33. package/src/components/molecules/newsletter/index.js +1 -0
  34. package/src/components/molecules/newsletter/newsletter.stories.js +106 -112
  35. package/src/components/molecules/newsletter-optin/index.js +7 -7
  36. package/src/components/molecules/newsletter-optin/newsletter-optin.stories.js +79 -80
  37. package/src/components/molecules/operator-summary/index.js +8 -2
  38. package/src/components/molecules/small-welcome-bonus/index.js +19 -6
  39. package/src/components/molecules/small-welcome-bonus/small-welcome-bonus.stories.js +49 -53
  40. package/src/components/molecules/toplist/row/variant-one.js +26 -10
  41. package/src/components/organisms/footer-navigation/index.js +9 -1
  42. package/src/components/organisms/popup/index.js +9 -6
  43. package/src/components/organisms/popup/popup.stories.js +0 -10
  44. package/src/components/organisms/toplist/comparison-table/index.js +11 -13
  45. package/src/components/organisms/toplist/index.js +2 -4
  46. package/src/components/organisms/toplist/list/index.js +11 -7
  47. package/src/components/organisms/toplist/list/list.module.scss +7 -0
  48. package/src/gatsby-core-theme/components/atoms/bonus/bonus.module.scss +15 -0
  49. package/src/gatsby-core-theme/components/atoms/bonus/index.js +4 -3
  50. package/src/gatsby-core-theme/components/atoms/module-title/index.js +7 -9
  51. package/src/gatsby-core-theme/components/atoms/not-found/index.js +24 -0
  52. package/src/gatsby-core-theme/components/atoms/not-found/not-found.module.scss +17 -0
  53. package/src/gatsby-core-theme/components/atoms/spotlights/index.js +25 -8
  54. package/src/gatsby-core-theme/components/molecules/content/content.module.scss +73 -16
  55. package/src/gatsby-core-theme/components/molecules/content/index.js +2 -0
  56. package/src/gatsby-core-theme/components/molecules/footer/index.js +5 -1
  57. package/src/gatsby-core-theme/components/molecules/main/index.js +6 -1
  58. package/src/gatsby-core-theme/components/molecules/module/index.js +1 -3
  59. package/src/gatsby-core-theme/components/molecules/search/index.js +28 -4
  60. package/src/gatsby-core-theme/components/organisms/anchor/anchor.module.scss +5 -1
  61. package/src/gatsby-core-theme/components/organisms/anchor/index.js +11 -2
  62. package/src/gatsby-core-theme/components/organisms/carousel/index.js +17 -6
  63. package/src/gatsby-core-theme/components/organisms/navigation/index.js +2 -2
  64. package/src/gatsby-core-theme/components/organisms/search/index.js +2 -1
  65. package/src/gatsby-core-theme/components/pages/body/index.js +14 -9
  66. package/src/gatsby-core-theme/components/pages/search/index.js +79 -74
  67. package/src/hooks/tabs/index.js +6 -4
  68. package/src/hooks/tabs/tab/tab-list.js +4 -1
  69. package/src/hooks/tabs/tab/tab.js +37 -28
  70. package/storybook/public/{0.50c23d5b.iframe.bundle.js → 0.a5c4cf9f.iframe.bundle.js} +1 -1
  71. package/storybook/public/{1.eef04bc1.iframe.bundle.js → 1.b2b72c50.iframe.bundle.js} +1 -1
  72. package/storybook/public/{10.454cae2f.iframe.bundle.js → 10.502b5ac2.iframe.bundle.js} +1 -1
  73. package/storybook/public/{11.6ec11208.iframe.bundle.js → 11.30535586.iframe.bundle.js} +1 -1
  74. package/storybook/public/{5.5635a723.iframe.bundle.js → 5.66b5b921.iframe.bundle.js} +3 -3
  75. package/storybook/public/{5.5635a723.iframe.bundle.js.LICENSE.txt → 5.66b5b921.iframe.bundle.js.LICENSE.txt} +0 -0
  76. package/storybook/public/5.66b5b921.iframe.bundle.js.map +1 -0
  77. package/storybook/public/{6.a0f625e4.iframe.bundle.js → 6.89431426.iframe.bundle.js} +1 -1
  78. package/storybook/public/{7.4b9a5033.iframe.bundle.js → 7.a53e817b.iframe.bundle.js} +1 -1
  79. package/storybook/public/8.e043e6dc.iframe.bundle.js +3 -0
  80. package/storybook/public/{8.4148b63e.iframe.bundle.js.LICENSE.txt → 8.e043e6dc.iframe.bundle.js.LICENSE.txt} +0 -0
  81. package/storybook/public/8.e043e6dc.iframe.bundle.js.map +1 -0
  82. package/storybook/public/{9.08fee7fe.iframe.bundle.js → 9.eba0e7c0.iframe.bundle.js} +1 -1
  83. package/storybook/public/iframe.html +1 -1
  84. package/storybook/public/main.c07025f4.iframe.bundle.js +1 -0
  85. package/storybook/public/{runtime~main.d64660ee.iframe.bundle.js → runtime~main.c4f3a4d6.iframe.bundle.js} +1 -1
  86. package/storybook/public/vendors~main.8050786b.iframe.bundle.js +7 -0
  87. package/storybook/public/{vendors~main.aac219e4.iframe.bundle.js.LICENSE.txt → vendors~main.8050786b.iframe.bundle.js.LICENSE.txt} +0 -0
  88. package/storybook/public/vendors~main.8050786b.iframe.bundle.js.map +1 -0
  89. package/src/components/atoms/newsletter/success/success.module.scss +0 -28
  90. package/src/gatsby-core-theme/pages/404/index.js +0 -66
  91. package/storybook/public/5.5635a723.iframe.bundle.js.map +0 -1
  92. package/storybook/public/8.4148b63e.iframe.bundle.js +0 -3
  93. package/storybook/public/8.4148b63e.iframe.bundle.js.map +0 -1
  94. package/storybook/public/main.e82d53bf.iframe.bundle.js +0 -1
  95. package/storybook/public/vendors~main.aac219e4.iframe.bundle.js +0 -7
  96. package/storybook/public/vendors~main.aac219e4.iframe.bundle.js.map +0 -1
@@ -1,44 +1,47 @@
1
- .modal{
1
+ .modal {
2
+ position: fixed;
3
+ top: 0;
4
+ left: 0;
5
+ width: 100%;
6
+ height: 100%;
7
+ background: rgba(0, 0, 0, 0.6);
8
+ z-index: 9999;
9
+ @include flex-align(center, center);
10
+ .success {
2
11
  position: fixed;
3
- top: 0;
4
- left: 0;
5
- width: 100%;
6
- height: 100%;
7
- background: rgba(0,0,0,.6);
8
- z-index: 9999;
12
+ background: #fff;
13
+ border-radius: 0.6rem;
14
+ height: auto;
15
+ width: 90%;
16
+ top: 30%;
17
+ left: 50%;
18
+ transform: translate(-50%, -50%);
19
+ padding: 2rem;
9
20
  @include flex-align(center, center);
10
- .success{
11
- position: fixed;
12
- background: #fff;
13
- border-radius: .6rem;
14
- height: auto;
15
- width: 90%;
16
- top: 30%;
17
- left: 50%;
18
- transform: translate(-50%,-50%);
19
- padding: 2rem;
20
- @include flex-align(center, center);
21
- @include flex-direction(column);
22
- @include min(tablet){
23
- width: 40%;
24
- top: 50%;
25
- }
26
- .closeBtn{
27
- position: absolute;
28
- top: 1rem;
29
- right: 1rem;
30
- cursor: pointer;
31
- }
32
- svg{
33
- width: 2.6rem;
34
- height: 2.6rem;
35
- }
36
- p{
37
- text-align: left;
38
- padding-top: 1rem;
39
- b{
40
- text-align: center;
41
- }
42
- }
21
+ @include flex-direction(column);
22
+ @include min(tablet) {
23
+ width: 40%;
24
+ top: 50%;
43
25
  }
44
- }
26
+ .closeBtn {
27
+ position: absolute;
28
+ top: 1rem;
29
+ right: 1rem;
30
+ cursor: pointer;
31
+ }
32
+ svg {
33
+ width: 2.6rem;
34
+ height: 2.6rem;
35
+ }
36
+ p {
37
+ font-weight: 700;
38
+ }
39
+ div {
40
+ padding-top: 1rem;
41
+ p {
42
+ padding-top: 2.45rem;
43
+ font-weight: 700;
44
+ }
45
+ }
46
+ }
47
+ }
@@ -1,18 +1,23 @@
1
1
  import React from 'react';
2
- import { IoMdCheckmarkCircleOutline } from "react-icons/io";
2
+ import { IoMdCheckmarkCircleOutline } from 'react-icons/io';
3
3
 
4
4
  import Modal from '../../modal/index';
5
5
 
6
- const index = () =>{
7
- return(
8
- <Modal>
9
- <IoMdCheckmarkCircleOutline color="green" />
10
- <p><b> You are registered!!</b></p>
11
- <p> now there are lots of extra goodies that are on their way to your inbox.<br/>
12
- <b>All the best and good luck in the casino world!</b>
13
- </p>
14
- </Modal>
15
- )
16
- }
6
+ const index = ({
7
+ text = {
8
+ title: 'You are registered!!!',
9
+ section: 'Now there are lots of extra goodies that are on their way to your inbox.',
10
+ footer: 'All the best and good luck in the casino world!',
11
+ },
12
+ }) => (
13
+ <Modal>
14
+ <IoMdCheckmarkCircleOutline color="green" />
15
+ <p>{text.title}</p>
16
+ <div>
17
+ {text.section}
18
+ <p>{text.footer}</p>
19
+ </div>
20
+ </Modal>
21
+ );
17
22
 
18
- export default index
23
+ export default index;
@@ -1,8 +1,9 @@
1
1
  /* eslint-disable eqeqeq */
2
2
  /* eslint-disable react/prop-types */
3
3
  /* eslint-disable camelcase */
4
- import React from 'react';
4
+ import React, { useContext } from 'react';
5
5
  import Button from 'gatsby-core-theme/src/components/atoms/button';
6
+ import { Context } from 'gatsby-core-theme/src/context/TranslationsProvider';
6
7
  import PropTypes from 'prop-types';
7
8
  import styles from './operator-bonuses.module.scss';
8
9
 
@@ -16,6 +17,7 @@ const OperatorBonuses = ({ page, operator }) => {
16
17
  const status = operator?.status;
17
18
  const isPlaceholder = status === 'coming_soon' || page.extra_fields.operator_is_placeholder == 1;
18
19
  const isInoperative = status === 'inactive' || page.extra_fields.operator_is_inoperative == 1;
20
+ const { translations } = useContext(Context) || {};
19
21
 
20
22
  return (
21
23
  <div className={styles.leftSide}>
@@ -26,7 +28,7 @@ const OperatorBonuses = ({ page, operator }) => {
26
28
  </div>
27
29
  {!isInoperative && (
28
30
  <span className={styles.title}>
29
- {translate(page?.translations, 'welcome_bonus', 'Welcome bonus')}
31
+ {translate(translations, 'welcome_bonus', 'Welcome bonus')}
30
32
  </span>
31
33
  )}
32
34
  </div>
@@ -37,8 +39,8 @@ const OperatorBonuses = ({ page, operator }) => {
37
39
  </>
38
40
  <div className={styles.welcomeDescription}>
39
41
  <p className={styles.textLeft}>
40
- {translate(page?.translations, 'minimum_deposit', 'Minimum deposit')} <br />
41
- {translate(page?.translations, 'turnover_requirements', 'Turnover requirements')}
42
+ {translate(translations, 'minimum_deposit', 'Minimum deposit')} <br />
43
+ {translate(translations, 'turnover_requirements', 'Turnover requirements')}
42
44
  </p>
43
45
  <p className={styles.textRight}>
44
46
  {min_deposit} {currency}
@@ -48,11 +50,11 @@ const OperatorBonuses = ({ page, operator }) => {
48
50
  </div>
49
51
  <div className={styles.buttonSummary}>
50
52
  {isInoperative && (
51
- <p className={styles.textRight}>{translate(page?.translations, 'expired', 'Expired')}</p>
53
+ <p className={styles.textRight}>{translate(translations, 'expired', 'Expired')}</p>
52
54
  )}
53
55
  {isPlaceholder && (
54
56
  <p className={styles.textRight}>
55
- {translate(page?.translations, 'comming_soon', 'Comming Soon')}
57
+ {translate(translations, 'comming_soon', 'Comming Soon')}
56
58
  </p>
57
59
  )}
58
60
  {!isPlaceholder && !isInoperative && (
@@ -60,7 +62,8 @@ const OperatorBonuses = ({ page, operator }) => {
60
62
  to={prettyLink}
61
63
  className="btnMain"
62
64
  isInternalLink={false}
63
- btnText={translate(page?.translations, 'btn_bonus', 'Get your bonus now')}
65
+ btnText={translate(translations, 'btn_bonus', 'Get your bonus now')}
66
+ gtmClass="bonus-cta btn-cta"
64
67
  />
65
68
  )}
66
69
  </div>
@@ -4,7 +4,7 @@ import { GrFormNext } from 'react-icons/gr';
4
4
  import Link from 'gatsby-core-theme/src/hooks/link';
5
5
 
6
6
  const Article = ({ item = {}, Button = <GrFormNext /> }) => (
7
- <Link to={item.path}>
7
+ <Link to={item.path} className="article-gtm">
8
8
  <h1>{item.title}</h1>
9
9
  {Button}
10
10
  </Link>
@@ -4,7 +4,7 @@ import { GrFormNext } from 'react-icons/gr';
4
4
  import Link from 'gatsby-core-theme/src/hooks/link';
5
5
 
6
6
  const Game = ({ item = {}, Button = <GrFormNext /> }) => (
7
- <Link to={item.path}>
7
+ <Link to={item.path} className="game-gtm">
8
8
  <h1>{item.title}</h1>
9
9
  {Button}
10
10
  </Link>
@@ -4,7 +4,7 @@ import { GrFormNext } from 'react-icons/gr';
4
4
  import Link from 'gatsby-core-theme/src/hooks/link';
5
5
 
6
6
  const Operator = ({ item = {}, Button = <GrFormNext /> }) => (
7
- <Link to={`/${item.path}`}>
7
+ <Link to={`/${item.path}`} className="operator-gtm">
8
8
  <h1>{item.title}</h1>
9
9
  {Button}
10
10
  </Link>
@@ -4,7 +4,7 @@ import { GrFormNext } from 'react-icons/gr';
4
4
  import Link from 'gatsby-core-theme/src/hooks/link';
5
5
 
6
6
  const PaymentMethods = ({ item = {} }) => (
7
- <Link to={item.path}>
7
+ <Link to={item.path} className="payment-method-gtm">
8
8
  <h1>{item.title}</h1>
9
9
  <GrFormNext />
10
10
  </Link>
@@ -4,7 +4,7 @@ import { GrFormNext } from 'react-icons/gr';
4
4
  import Link from 'gatsby-core-theme/src/hooks/link';
5
5
 
6
6
  const SoftwareProvider = ({ item = {} }) => (
7
- <Link to={item.path}>
7
+ <Link to={item.path} className="software-provider-gtm">
8
8
  <h1>{item.title}</h1>
9
9
  <GrFormNext />
10
10
  </Link>
@@ -1,32 +1,36 @@
1
1
  /* eslint-disable react/forbid-prop-types */
2
2
  /* eslint-disable camelcase */
3
- import React from 'react';
3
+ import React, { useContext } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { translate } from 'gatsby-core-theme/src/helpers/getters';
6
+ import { Context } from 'gatsby-core-theme/src/context/TranslationsProvider';
6
7
  import styles from './banking.module.scss';
7
8
 
8
- const Index = ({ min_deposit, max_withdrawal, currency, translations }) => (
9
- <div className={styles.contain}>
10
- <div className={styles.row}>
11
- <p>{translate(translations, 'min_deposit', 'Min Deposit')}:</p>
12
- <strong>{min_deposit}</strong>
13
- </div>
14
- {max_withdrawal && (
15
- <div className={styles.row}>
16
- <p>{translate(translations, 'max_withdrawal', 'Max Withdrawal')}:</p>
17
- <strong>{max_withdrawal}</strong>
18
- </div>
19
- )}
20
- {currency && (
9
+ const Index = ({ min_deposit, max_withdrawal, currency }) => {
10
+ const { translations } = useContext(Context) || {};
11
+
12
+ return (
13
+ <div className={styles.contain}>
21
14
  <div className={styles.row}>
22
- <p>{translate(translations, 'currency_support', 'Currency Support')}:</p>
23
- <strong>{currency}</strong>
15
+ <p>{translate(translations, 'min_deposit', 'Min Deposit')}:</p>
16
+ <strong>{min_deposit}</strong>
24
17
  </div>
25
- )}
26
- </div>
27
- );
18
+ {max_withdrawal && (
19
+ <div className={styles.row}>
20
+ <p>{translate(translations, 'max_withdrawal', 'Max Withdrawal')}:</p>
21
+ <strong>{max_withdrawal}</strong>
22
+ </div>
23
+ )}
24
+ {currency && (
25
+ <div className={styles.row}>
26
+ <p>{translate(translations, 'currency_support', 'Currency Support')}:</p>
27
+ <strong>{currency}</strong>
28
+ </div>
29
+ )}
30
+ </div>
31
+ );
32
+ };
28
33
  Index.propTypes = {
29
- translations: PropTypes.object,
30
34
  currency: PropTypes.string,
31
35
  max_withdrawal: PropTypes.string,
32
36
  min_deposit: PropTypes.string,
@@ -24,8 +24,6 @@ const Index = ({
24
24
  licenses,
25
25
  index,
26
26
  hideRow,
27
- // eslint-disable-next-line react/prop-types
28
- translations,
29
27
  chnageHeights,
30
28
  licensesMore,
31
29
  layout = 'list',
@@ -57,14 +55,14 @@ const Index = ({
57
55
  <td>
58
56
  <div className={styles.details}>
59
57
  <div className={styles.logo}>
60
- <Link to={item.review_link}>
58
+ <Link to={item.review_link} className="table-column-gtm">
61
59
  <LazyImage src={imagePrettyUrl(item.logo_url, 120, 45)} />
62
60
  </Link>
63
61
 
64
62
  <p>{item.name}</p>
65
63
  </div>
66
64
  <div className={styles.cta}>
67
- <OperatorCta operator={item} />
65
+ <OperatorCta operator={item} gtmClass="table-operator-cta-gtm" />
68
66
  </div>
69
67
  </div>
70
68
  </td>
@@ -114,7 +112,6 @@ const Index = ({
114
112
  min_deposit={min_deposit}
115
113
  max_withdrawal={max_withdrawal}
116
114
  currency={currency}
117
- translations={translations}
118
115
  />
119
116
  </div>
120
117
  </td>
@@ -1,43 +1,38 @@
1
1
  /* eslint-disable react/forbid-prop-types */
2
- import React from 'react';
2
+ import React, { useContext } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { translate } from 'gatsby-core-theme/src/helpers/getters';
5
+ import { Context } from 'gatsby-core-theme/src/context/TranslationsProvider';
5
6
  import styles from './staticColumn.module.scss';
6
7
 
7
- const Index = ({
8
- details,
9
- rating,
10
- bonus,
11
- topFeatures,
12
- banking,
13
- licenses,
14
- hideRow,
15
- translations,
16
- }) => (
17
- <div className={styles.columStatic}>
18
- <tr style={{ height: details + 1 }} id="details">
19
- <td>{translate(translations, 'casino_name', 'Casino Name')}</td>
20
- </tr>
21
- <tr style={{ height: rating }} id="rating">
22
- <td>{translate(translations, 'rating', 'Rating')}</td>
23
- </tr>
24
- <tr style={{ height: bonus }} id="bonus">
25
- <td>{translate(translations, 'bonus', 'Bonus')}</td>
26
- </tr>
8
+ const Index = ({ details, rating, bonus, topFeatures, banking, licenses, hideRow }) => {
9
+ const { translations } = useContext(Context) || {};
27
10
 
28
- <tr style={{ height: topFeatures, display: hideRow ? 'none' : null }} id="topFeatures">
29
- <td>{translate(translations, 'top_features', 'Top Features')}</td>
30
- </tr>
31
- <tr style={{ height: banking, display: hideRow ? 'none' : null }} id="banking">
32
- <td>{translate(translations, 'banking', 'Banking')}</td>
33
- </tr>
34
- <tr style={{ height: licenses, display: hideRow ? 'none' : null }} id="licenses">
35
- <td>{translate(translations, 'licenses', 'Licenses')}</td>
36
- </tr>
37
- </div>
38
- );
11
+ return (
12
+ <div className={styles.columStatic}>
13
+ <tr style={{ height: details + 1 }} id="details">
14
+ <td>{translate(translations, 'casino_name', 'Casino Name')}</td>
15
+ </tr>
16
+ <tr style={{ height: rating }} id="rating">
17
+ <td>{translate(translations, 'rating', 'Rating')}</td>
18
+ </tr>
19
+ <tr style={{ height: bonus }} id="bonus">
20
+ <td>{translate(translations, 'bonus', 'Bonus')}</td>
21
+ </tr>
22
+
23
+ <tr style={{ height: topFeatures, display: hideRow ? 'none' : null }} id="topFeatures">
24
+ <td>{translate(translations, 'top_features', 'Top Features')}</td>
25
+ </tr>
26
+ <tr style={{ height: banking, display: hideRow ? 'none' : null }} id="banking">
27
+ <td>{translate(translations, 'banking', 'Banking')}</td>
28
+ </tr>
29
+ <tr style={{ height: licenses, display: hideRow ? 'none' : null }} id="licenses">
30
+ <td>{translate(translations, 'licenses', 'Licenses')}</td>
31
+ </tr>
32
+ </div>
33
+ );
34
+ };
39
35
  Index.propTypes = {
40
- translations: PropTypes.object,
41
36
  details: PropTypes.number,
42
37
  rating: PropTypes.number,
43
38
  bonus: PropTypes.number,
@@ -26,6 +26,17 @@
26
26
  @include flex-align (center, center);
27
27
  margin-right: 0.5rem;
28
28
  }
29
+ > div{
30
+ margin: 0;
31
+ margin-right: 2rem;
32
+ font-weight: 700;
33
+ font-size: 1.8rem;
34
+ p, h2, h3, h4 {
35
+ margin: 0;
36
+ font-weight: 700;
37
+ font-size: 1.8rem;
38
+ }
39
+ }
29
40
  }
30
41
  &:hover,
31
42
  &:focus {
@@ -44,21 +55,14 @@
44
55
  &:after {
45
56
  transform: translateY(-50%) rotate(-135deg);
46
57
  }
47
- }
48
- p {
49
- margin-right: 2rem;
50
- }
58
+ }
51
59
  }
52
60
 
53
61
  .content {
54
- @include collapse(0.5s, 20rem);
62
+ @include collapse(0.5s, 500rem);
55
63
  font-size: 1.6rem;
56
64
  color: var(--color-20);
57
65
  padding: 0;
58
-
59
- p {
60
- padding: 1rem 0;
61
- }
62
66
  }
63
67
  }
64
- }
68
+ }
@@ -62,7 +62,7 @@ const Faq = ({ module, openAll = true, openItem, closeOthers = false, icon = ''
62
62
  <div key={keygen()} className={styles.faqItem}>
63
63
  <button
64
64
  onClick={() => toggle(index)}
65
- className={styles.title}
65
+ className={`${styles.title} faq-gtm`}
66
66
  type="button"
67
67
  ref={(el) => (btnRefs.current[index] = el)}
68
68
  >
@@ -43,7 +43,12 @@ const GameIframe = ({ page }) => {
43
43
  <div className={styles.thumbnailContainer}>
44
44
  <div className={`${styles.thumbnail} ${showIframe ? styles.hide : ''}`}>
45
45
  <LazyImage src={imagePrettyUrl(page.banner)} />
46
- <Button isInternalLink={false} onClick={clickHandler} isButton />
46
+ <Button
47
+ isInternalLink={false}
48
+ onClick={clickHandler}
49
+ isButton
50
+ gtmClass="game-ifram-gtm btn-cta"
51
+ />
47
52
  </div>
48
53
  {showIframe && (
49
54
  <Iframe
@@ -1,3 +1,4 @@
1
+ /* eslint-disable import/no-extraneous-dependencies */
1
2
  import React from 'react';
2
3
  import {
3
4
  Title,
@@ -23,8 +24,7 @@ export default {
23
24
  parameters: {
24
25
  docs: {
25
26
  description: {
26
- component:
27
- 'A component for rating',
27
+ component: 'A component for rating',
28
28
  },
29
29
  page: () => (
30
30
  <>
@@ -43,16 +43,11 @@ const Template = (args) => <ScoreGauge {...args} />;
43
43
  export const Default = Template.bind({});
44
44
  Default.args = {
45
45
  page: {
46
- translations:{
47
- grafikk: 'Grafikk',
48
- bonuser: 'Bonuser',
49
- spillopplevelse: 'Spillopplevelse'
46
+ relation: {
47
+ second_rating: 3,
48
+ third_rating: 5,
49
+ fourth_rating: 4,
50
+ max: 10,
50
51
  },
51
- relation:{
52
- second_rating:3,
53
- third_rating:5,
54
- fourth_rating:4,
55
- max:10
56
- }
57
52
  },
58
53
  };
@@ -1,8 +1,9 @@
1
1
  /* eslint-disable react/prop-types */
2
2
  import { GiGamepad, GiPresent } from 'react-icons/gi';
3
- import React from 'react';
3
+ import React, { useContext } from 'react';
4
4
  import { TiImage } from 'react-icons/ti';
5
5
  import { translate } from 'gatsby-core-theme/src/helpers/getters';
6
+ import { Context } from 'gatsby-core-theme/src/context/TranslationsProvider';
6
7
  import styles from './game-score-gauge.module.scss';
7
8
 
8
9
  const ScoreGaugeColumn = ({ Icon, label, rating, max }) => (
@@ -21,7 +22,8 @@ const ScoreGaugeColumn = ({ Icon, label, rating, max }) => (
21
22
  </div>
22
23
  );
23
24
 
24
- const ScoreGauge = ({ page, translations }) => {
25
+ const ScoreGauge = ({ page }) => {
26
+ const { translations } = useContext(Context) || {};
25
27
  const { relation } = page;
26
28
  return (
27
29
  <div className={styles.scoreGauge}>
@@ -95,6 +95,7 @@ const InfoGrid = ({
95
95
  sliderGap: 25,
96
96
  }}
97
97
  useArrows={false}
98
+ gtmClass="info-grid-carousel"
98
99
  >
99
100
  <div className={styles.verticalGrid}>
100
101
  {first.map((item) => {
@@ -64,6 +64,7 @@ const Newsletter = ({
64
64
  active={!!(!toggleNewsetter && !toggleOnScroll)}
65
65
  text={openBtnText}
66
66
  toggleNewsLetter={() => setToggleNewsletter(true)}
67
+ gtmClass="newletter-gtm btn-cta"
67
68
  />
68
69
  )}
69
70
  <div