gatsby-matrix-theme 53.3.6 → 53.3.8

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 (21) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/package.json +2 -2
  3. package/src/components/atoms/cards/game-cards/template-six/index.js +1 -1
  4. package/src/components/atoms/cards/operator-card/template-five/index.js +1 -1
  5. package/src/components/atoms/cards/software-provider-card/index.js +25 -14
  6. package/src/components/atoms/cards/software-provider-card/software-provider-card.module.scss +24 -14
  7. package/src/components/atoms/info-grid/grid-item/index.js +9 -2
  8. package/src/components/atoms/info-grid/template-one/info-grid.test.js +3 -3
  9. package/src/components/molecules/header/variants/operator/template-four/template-four.test.js +2 -1
  10. package/src/components/molecules/header/variants/operator/template-three/template-three.test.js +2 -1
  11. package/src/constants/info-grid.js +2 -5
  12. package/storybook/public/{384.fb6afb39.iframe.bundle.js → 384.646d1200.iframe.bundle.js} +4 -4
  13. package/storybook/public/{384.fb6afb39.iframe.bundle.js.map → 384.646d1200.iframe.bundle.js.map} +1 -1
  14. package/storybook/public/679.0c649d92.iframe.bundle.js +1 -0
  15. package/storybook/public/iframe.html +1 -1
  16. package/storybook/public/main.0dbfa26e.iframe.bundle.js +1 -0
  17. package/storybook/public/project.json +1 -1
  18. package/storybook/public/{runtime~main.1ac5f678.iframe.bundle.js → runtime~main.64a4e956.iframe.bundle.js} +1 -1
  19. package/storybook/public/679.4baf924a.iframe.bundle.js +0 -1
  20. package/storybook/public/main.39c192c9.iframe.bundle.js +0 -1
  21. /package/storybook/public/{384.fb6afb39.iframe.bundle.js.LICENSE.txt → 384.646d1200.iframe.bundle.js.LICENSE.txt} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ ## [53.3.8](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/compare/v53.3.7...v53.3.8) (2025-10-21)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * update info grid constant and grid item component ([1e13f80](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/commit/1e13f80cea07d3ce95dabca8fe37c77b04de612d))
7
+ * update tests ([fe2d7c5](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/commit/fe2d7c5861fb8528f36002b9ed7e45a4a5606f8e))
8
+ * update theme ([618ee36](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/commit/618ee360f70ca2dff4573bc7ae97d6f5c7b953a9))
9
+ * update theme ([2ddc658](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/commit/2ddc658de836ff06e4f1afca93fbe0b5d6a9fa12))
10
+
11
+
12
+ * Merge branch 'en-140-payout-time' into 'master' ([5b4cd38](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/commit/5b4cd380e3ff2cf254ac038b89f0096d1552e490))
13
+
14
+ ## [53.3.7](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/compare/v53.3.6...v53.3.7) (2025-10-14)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * cardsv2 new template styling ([711a585](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/commit/711a585434327f4f59fe7a0a86a2624654ce0c7e))
20
+ * software provider card styling ([c9ab33d](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/commit/c9ab33d6d94927361811ac66f30142cb30ab124b))
21
+
22
+
23
+ * Merge branch 'fix/cardsv2-styling' into 'master' ([ed0cd8a](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/commit/ed0cd8a4d46433432a1bd5d95e11a282f0c1aca0))
24
+
1
25
  ## [53.3.6](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/compare/v53.3.5...v53.3.6) (2025-10-14)
2
26
 
3
27
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gatsby-matrix-theme",
3
- "version": "53.3.6",
3
+ "version": "53.3.8",
4
4
  "main": "index.js",
5
5
  "description": "Matrix Theme NPM Package",
6
6
  "author": "",
@@ -25,7 +25,7 @@
25
25
  "dependencies": {
26
26
  "@react-icons/all-files": "^4.1.0",
27
27
  "gatsby": "^5.11.0",
28
- "gatsby-core-theme": "44.4.62",
28
+ "gatsby-core-theme": "44.5.0",
29
29
  "gatsby-plugin-sharp": "^5.11.0",
30
30
  "gatsby-transformer-sharp": "^5.11.0",
31
31
  "gatsby-plugin-sitemap": "^6.13.1",
@@ -13,7 +13,7 @@ import styles from './template-six.module.scss';
13
13
  const TemplateSix = ({
14
14
  item,
15
15
  width = 277,
16
- height = 140,
16
+ height = 277,
17
17
  showDate = false,
18
18
  showAuthorAsLink = false,
19
19
  verifyIcon = '',
@@ -13,7 +13,7 @@ import styles from './template-five.module.scss';
13
13
  const TemplateFive = ({
14
14
  item,
15
15
  width = 277,
16
- height = 140,
16
+ height = 277,
17
17
  showDate = false,
18
18
  showAuthorAsLink = false,
19
19
  verifyIcon = '',
@@ -1,10 +1,11 @@
1
1
  /* eslint-disable import/no-extraneous-dependencies */
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import Link from '~hooks/link';
5
- import LazyImage from '~hooks/lazy-image';
6
- import { imagePrettyUrl, textWordsLimit } from '~helpers/getters';
7
- import { getAltText } from '~helpers/image';
4
+ import Link from 'gatsby-core-theme/src/hooks/link';
5
+ import LazyImage from 'gatsby-core-theme/src/hooks/lazy-image';
6
+ import GatsbyImg from 'gatsby-core-theme/src/hooks/gatsby-img';
7
+ import { imagePrettyUrl, textWordsLimit } from 'gatsby-core-theme/src/helpers/getters';
8
+ import { getAltText } from 'gatsby-core-theme/src/helpers/image';
8
9
  import useTranslate from '~hooks/useTranslate/useTranslate';
9
10
 
10
11
  import styles from './software-provider-card.module.scss';
@@ -22,8 +23,7 @@ const SoftwareProviderCard = ({
22
23
  height = 150,
23
24
  }) => {
24
25
  const { title, path, relation, sections } = item;
25
- const logUrlObject =
26
- relation?.standardised_logo_filename_object || relation?.logo_filename_object;
26
+ const logUrlObject = item.relation?.logo?.filename || item?.relation?.logo;
27
27
 
28
28
  return (
29
29
  <div className={styles?.content || ''}>
@@ -33,13 +33,23 @@ const SoftwareProviderCard = ({
33
33
  aria-label={useTranslate(`ariaLabel-${title}Link`, `${title} Link`)}
34
34
  to={path}
35
35
  >
36
- <LazyImage
37
- width={width}
38
- height={height}
39
- className={styles?.logo || ''}
40
- src={imagePrettyUrl(logUrlObject?.filename, width, height)}
41
- alt={getAltText(logUrlObject, title)}
42
- />
36
+ {logUrlObject ? (
37
+ <LazyImage
38
+ width={width}
39
+ height={height}
40
+ className={styles?.logo || ''}
41
+ src={imagePrettyUrl(logUrlObject, width, height)}
42
+ alt={getAltText(logUrlObject, title)}
43
+ />
44
+ ) : (
45
+ <GatsbyImg
46
+ alt={title}
47
+ width="100%"
48
+ height="100%"
49
+ loading="lazy"
50
+ filename="default-article.jpg"
51
+ />
52
+ )}
43
53
  </Link>
44
54
  {showTitle && (
45
55
  <Link className={`${styles?.links || ''} software-provider-card-gtm`} to={path}>
@@ -59,7 +69,8 @@ const SoftwareProviderCard = ({
59
69
  {relation?.games_count && showProvider && (
60
70
  <p>
61
71
  {gameProvider.textOne}
62
- <span className="counter-number"> {relation?.games_count} </span> {gameProvider.textTwo}
72
+ <span className={styles['counter-number']}> {relation?.games_count} </span>{' '}
73
+ {gameProvider.textTwo}
63
74
  </p>
64
75
  )}
65
76
  </div>
@@ -7,43 +7,53 @@
7
7
  justify-content: space-between;
8
8
  border-radius: 0.6rem;
9
9
  height: 100%;
10
+
10
11
  .header {
11
12
  @include flex-direction(column);
13
+
12
14
  .links {
13
15
  @include flex-align(center, center);
16
+
14
17
  &:hover {
15
18
  text-decoration: underline;
16
19
  color: #08202e;
17
20
  }
18
- .logo {
19
- max-width: 17.9rem;
20
- max-height: 4rem;
21
- margin-bottom: 1rem;
22
- }
23
- .title {
24
- color: #08202e;
25
- font-weight: 400;
26
- padding-top: 0.8rem;
27
- font-size: 1.6rem;
28
- }
29
21
  }
30
22
  }
23
+
31
24
  .excerpt {
32
25
  color: #6b7982;
33
26
  font-size: 1.4rem;
34
27
  padding-bottom: 1.6rem;
35
28
  }
29
+
30
+ .logo {
31
+ max-width: 17.9rem;
32
+ max-height: 4rem;
33
+ margin-bottom: 1rem;
34
+ object-fit: cover;
35
+ }
36
+
37
+ .title {
38
+ color: #08202e;
39
+ font-weight: 400;
40
+ padding-top: 0.8rem;
41
+ font-size: 1.6rem;
42
+ }
43
+
36
44
  .bottom {
37
45
  @include flex-direction(column);
46
+
38
47
  p {
39
48
  color: #00889e;
40
49
  font-size: 1.4rem;
41
50
  text-align: center;
42
51
  padding: 0 3rem 1.6rem;
43
52
  font-weight: 400;
44
- span {
45
- font-weight: 500;
46
- }
47
53
  }
48
54
  }
49
55
  }
56
+
57
+ .counter-number {
58
+ font-weight: 500;
59
+ }
@@ -19,13 +19,20 @@ const InfoGridItem = ({
19
19
  const [showMore, setShowMore] = useState(false);
20
20
 
21
21
  const title = useTranslate(gridKey, gridLabels[gridKey][1]);
22
- const value = generateLabel(gridKey, gridItems[gridKey], gridLabels[gridKey][2], {
22
+ const label = generateLabel(gridKey, gridItems[gridKey], gridLabels[gridKey][2], {
23
23
  template,
24
24
  showAll: showMore,
25
25
  setShowMore,
26
26
  modulePosition,
27
- module:'info_grid'
27
+ module:'info_grid',
28
28
  });
29
+
30
+
31
+ const value =
32
+ gridKey === 'payout_time'
33
+ ? useTranslate(label?.toLowerCase()?.replace(/[–\s]/g, '_'), label)
34
+ : label;
35
+
29
36
  const showGrid = (templateThree && value) || !templateThree; // hide entire cell if empty on author info grid only
30
37
 
31
38
  return (
@@ -41,7 +41,7 @@ describe('Show Info Grid Component', () => {
41
41
  const { container } = render(<InfoGrid page={data} showEmojis showTwoColumns={false} />);
42
42
 
43
43
  expect(container).toBeInTheDocument();
44
- expect(container.querySelectorAll('.gridItem')).toHaveLength(8);
44
+ expect(container.querySelectorAll('.gridItem')).toHaveLength(9);
45
45
  expect(container.querySelector('.gridItem span')).toHaveTextContent(
46
46
  Object.values(gridLabels)[0][1]
47
47
  );
@@ -114,7 +114,7 @@ describe('Show Info Grid Component', () => {
114
114
  const { container } = render(<InfoGrid page={data} showEmojis showTwoColumns={false} />);
115
115
 
116
116
  expect(container).toBeInTheDocument();
117
- expect(container.querySelectorAll('.gridItem')).toHaveLength(8);
117
+ expect(container.querySelectorAll('.gridItem')).toHaveLength(9);
118
118
  expect(container.querySelector('.gridItem span')).toHaveTextContent(
119
119
  Object.values(gridLabels)[0][1]
120
120
  );
@@ -297,7 +297,7 @@ describe('Show Info Grid Component', () => {
297
297
  fireEvent.click(button);
298
298
 
299
299
  // test after click
300
- expect(container.querySelectorAll('.columnItem')).toHaveLength(8);
300
+ expect(container.querySelectorAll('.columnItem')).toHaveLength(9);
301
301
  expect(button).toHaveTextContent('Show less items');
302
302
  });
303
303
  test('Show how many remaining as button where there is too many items to display in each block', () => {
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-restricted-syntax */
1
2
  /* eslint-disable no-multi-assign */
2
3
  import React from 'react';
3
4
  import { render, cleanup } from '@testing-library/react';
@@ -16,7 +17,7 @@ describe('Operator template four component', () => {
16
17
  expect(getByText('100% Bonus')).toBeTruthy();
17
18
  expect(getByText('+ Big Promotions')).toBeTruthy();
18
19
  expect(container.querySelectorAll('ul')).toHaveLength(1);
19
- expect(container.querySelectorAll('li')).toHaveLength(6);
20
+ expect(container.querySelectorAll('li')).toHaveLength(7);
20
21
  });
21
22
  });
22
23
 
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-restricted-syntax */
1
2
  /* eslint-disable no-multi-assign */
2
3
  import React from 'react';
3
4
  import { render, cleanup, waitFor } from '@testing-library/react';
@@ -16,7 +17,7 @@ describe('Operator template three component', () => {
16
17
  expect(getByText('100% Bonus')).toBeTruthy();
17
18
  expect(getByText('+ Big Promotions')).toBeTruthy();
18
19
  expect(container.querySelectorAll('ul')).toHaveLength(1);
19
- expect(container.querySelectorAll('li')).toHaveLength(6);
20
+ expect(container.querySelectorAll('li')).toHaveLength(7);
20
21
  });
21
22
  test('Template Three variable component', async () => {
22
23
  const { container } = render(<TemplateThree {...data} hasVariableComponent type="operator" />);
@@ -44,11 +44,7 @@ export const defaultInfoGrid = {
44
44
  (value, props) => latestItems(value, { ...props, showMore: true, tooltip: false }, 2),
45
45
  ],
46
46
  launch_date: ['launch_date', 'Release Date'],
47
- licenses: [
48
- 'license_objects',
49
- '✅ License',
50
- (value, props) => latestItems(value, props, 3),
51
- ],
47
+ licenses: ['license_objects', '✅ License', (value, props) => latestItems(value, props, 3)],
52
48
  no_games: ['games_amount || games_amount', 'No. of Games'],
53
49
  game_providers: [
54
50
  'software',
@@ -65,6 +61,7 @@ export const defaultInfoGrid = {
65
61
  5
66
62
  ),
67
63
  ],
64
+ payout_time: ['payout_time', 'Payout time', (value) => value],
68
65
  },
69
66
  game_review: {
70
67
  launch_date: ['launch_date', 'Launched'],