gatsby-matrix-theme 53.17.3 → 53.18.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.
- package/.ci.yml +2 -0
- package/CHANGELOG.md +19 -0
- package/package.json +2 -2
- package/src/components/molecules/sportstake/fixtures/index.js +12 -8
- package/src/components/molecules/sportstake/results/index.js +20 -14
- package/src/components/molecules/sportstake/results/table/index.js +17 -1
- package/src/gatsby-core-theme/helpers/server-data.js +22 -26
- package/src/gatsby-core-theme/helpers/services.js +2 -2
- package/src/gatsby-core-theme/helpers/sportstake.js +5 -3
- package/storybook/public/{251.d307ccac.iframe.bundle.js → 251.780501b8.iframe.bundle.js} +3 -3
- package/storybook/public/{251.d307ccac.iframe.bundle.js.map → 251.780501b8.iframe.bundle.js.map} +1 -1
- package/storybook/public/638.7b0237f8.iframe.bundle.js +1 -0
- package/storybook/public/650.c28f6ba2.iframe.bundle.js +1 -0
- package/storybook/public/iframe.html +1 -1
- package/storybook/public/main.ee7192d7.iframe.bundle.js +1 -0
- package/storybook/public/project.json +2 -1
- package/storybook/public/{runtime~main.55fe971d.iframe.bundle.js → runtime~main.cd49dd8b.iframe.bundle.js} +1 -1
- package/storybook/public/638.f09af860.iframe.bundle.js +0 -1
- package/storybook/public/650.4189a741.iframe.bundle.js +0 -1
- package/storybook/public/main.ee78e451.iframe.bundle.js +0 -1
- /package/storybook/public/{251.d307ccac.iframe.bundle.js.LICENSE.txt → 251.780501b8.iframe.bundle.js.LICENSE.txt} +0 -0
package/.ci.yml
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
# [53.18.0](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/compare/v53.17.4...v53.18.0) (2026-05-21)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
* Merge branch 'EN-534/sportstake-data-fixes' into 'master' ([605ec4c](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/commit/605ec4c5a7c682565a9f2fc24f794dbda4bb94d9))
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* refactor and fix sportstake data ([60e980c](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/commit/60e980ca8de6cd6a3222b586d9b875b234e7a169))
|
|
10
|
+
* refactor results ([a9f9389](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/commit/a9f9389da7308cfd4342c977ee78efa46a3e2535))
|
|
11
|
+
|
|
12
|
+
## [53.17.4](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/compare/v53.17.3...v53.17.4) (2026-05-20)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* remove cashe on ci ([7306c15](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/commit/7306c15f0cc708e03a1f7ab64608c2975a936166))
|
|
18
|
+
* update core theme version ([c63dead](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/commit/c63dead4177bce839546b91feb24e756ceb806af))
|
|
19
|
+
|
|
1
20
|
## [53.17.3](https://gitlab.com/g2m-gentoo/team-floyd/themes/matrix-theme/compare/v53.17.2...v53.17.3) (2026-05-18)
|
|
2
21
|
|
|
3
22
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gatsby-matrix-theme",
|
|
3
|
-
"version": "53.
|
|
3
|
+
"version": "53.18.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"description": "Matrix Theme NPM Package",
|
|
6
6
|
"author": "",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"@react-icons/all-files": "^4.1.0",
|
|
27
27
|
"@gigmedia/enigma-utils": "^1.20.0",
|
|
28
28
|
"gatsby": "^5.11.0",
|
|
29
|
-
"gatsby-core-theme": "^44.
|
|
29
|
+
"gatsby-core-theme": "^44.25.0",
|
|
30
30
|
"gatsby-plugin-sharp": "^5.11.0",
|
|
31
31
|
"gatsby-plugin-sitemap": "^6.13.1",
|
|
32
32
|
"gatsby-transformer-sharp": "^5.11.0",
|
|
@@ -43,13 +43,13 @@ const Fixtures = ({ module, serverData }) => {
|
|
|
43
43
|
}
|
|
44
44
|
}, []);
|
|
45
45
|
|
|
46
|
-
const mutateObjectAtributes = (obj) => {
|
|
46
|
+
const mutateObjectAtributes = (obj, fallbackDate) => {
|
|
47
47
|
obj.forEach((element, index) => {
|
|
48
48
|
obj[index] = {
|
|
49
49
|
homeTeam: element.homeTeam,
|
|
50
50
|
awayTeam: element.awayTeam,
|
|
51
51
|
toss: element.toss_winner,
|
|
52
|
-
dateTime: element.eventDate || element.dateTime,
|
|
52
|
+
dateTime: element.eventDate || element.dateTime || element.date || fallbackDate,
|
|
53
53
|
};
|
|
54
54
|
});
|
|
55
55
|
};
|
|
@@ -73,19 +73,23 @@ const Fixtures = ({ module, serverData }) => {
|
|
|
73
73
|
? Object.values(games).slice(...query.firstTable)
|
|
74
74
|
: Object.values(games)
|
|
75
75
|
: [];
|
|
76
|
-
mutateObjectAtributes(firstTableGames);
|
|
76
|
+
mutateObjectAtributes(firstTableGames, activeFixture?.drawDate);
|
|
77
77
|
|
|
78
78
|
const secondTableGames = games ? Object.values(games).slice(...query.secondTable) : [];
|
|
79
|
-
mutateObjectAtributes(secondTableGames);
|
|
79
|
+
mutateObjectAtributes(secondTableGames, activeFixture?.drawDate);
|
|
80
80
|
|
|
81
81
|
const isLatestTab = (index === 0);
|
|
82
|
+
const drawDate = res?.drawDate ? new Date(res.drawDate) : null;
|
|
83
|
+
const hasValidDrawDate = drawDate && !Number.isNaN(drawDate.getTime());
|
|
82
84
|
const label = isLatestTab
|
|
83
85
|
? 'Latest'
|
|
84
|
-
:
|
|
86
|
+
: hasValidDrawDate
|
|
87
|
+
? daysOfWeek[drawDate.getDay()]
|
|
88
|
+
: '';
|
|
85
89
|
|
|
86
|
-
const results =
|
|
87
|
-
|
|
88
|
-
|
|
90
|
+
const results = hasValidDrawDate
|
|
91
|
+
? `${monthsOfYear[drawDate.getMonth()]} ${drawDate.getDate()}`
|
|
92
|
+
: '';
|
|
89
93
|
|
|
90
94
|
return (
|
|
91
95
|
<div label={label} results={results} key={res} className={`${styles.sportstake} ${hasTwoTables && styles.twoHalfs}`}>
|
|
@@ -30,10 +30,8 @@ const Results = ({ module, serverData }) => {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
const isCricket = moduleName.includes('cricket');
|
|
33
|
-
const isRugby = moduleName.includes('rugby');
|
|
34
33
|
const isSportstake4 = moduleName.includes('sportstake4');
|
|
35
34
|
const hasTwoTables = moduleName.includes('sportstake8') || isSportstake4;
|
|
36
|
-
const newSportStakes = isCricket || isSportstake4 || isRugby;
|
|
37
35
|
const query = getApiQueryParams(moduleName);
|
|
38
36
|
const headerList = isCricket ? tableHeaderCricket : tableHeader;
|
|
39
37
|
|
|
@@ -42,17 +40,21 @@ const Results = ({ module, serverData }) => {
|
|
|
42
40
|
const monthsOfYear = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec',];
|
|
43
41
|
const tabs = Object.values(serverData?.data[moduleName]);
|
|
44
42
|
|
|
45
|
-
const mutateObjectAtributes = (obj) => {
|
|
43
|
+
const mutateObjectAtributes = (obj, fallbackDate) => {
|
|
46
44
|
obj.forEach((element, index) => {
|
|
45
|
+
const fallbackScore =
|
|
46
|
+
element?.homeScore !== undefined && element?.awayScore !== undefined
|
|
47
|
+
? `${element.homeScore}-${element.awayScore}`
|
|
48
|
+
: '';
|
|
47
49
|
obj[index] = {
|
|
48
50
|
homeTeam: element.homeTeam,
|
|
49
51
|
awayTeam: element.awayTeam,
|
|
50
|
-
toss: element.toss_winner,
|
|
51
|
-
dateTime: element.eventDate,
|
|
52
|
+
toss: element.toss_winner || element.toss,
|
|
53
|
+
dateTime: element.eventDate || element.dateTime || fallbackDate,
|
|
52
54
|
score: isCricket
|
|
53
|
-
? `${element.homeScore || '0/0'}`
|
|
54
|
-
:
|
|
55
|
-
results: element.result,
|
|
55
|
+
? `${element.homeScore || element.score || '0/0'}`
|
|
56
|
+
: element.score || fallbackScore,
|
|
57
|
+
results: element.result || element.results,
|
|
56
58
|
};
|
|
57
59
|
});
|
|
58
60
|
};
|
|
@@ -75,19 +77,23 @@ const Results = ({ module, serverData }) => {
|
|
|
75
77
|
? Object.values(games).slice(...query.firstTable)
|
|
76
78
|
: Object.values(games)
|
|
77
79
|
: [];
|
|
78
|
-
|
|
80
|
+
mutateObjectAtributes(firstTableGames, activeFixture?.drawDate);
|
|
79
81
|
|
|
80
82
|
const secondTableGames = games ? Object.values(games).slice(...query.secondTable) : [];
|
|
81
|
-
|
|
83
|
+
mutateObjectAtributes(secondTableGames, activeFixture?.drawDate);
|
|
82
84
|
|
|
83
85
|
const isLatestTab = (index === 0);
|
|
86
|
+
const drawDate = res?.drawDate ? new Date(res.drawDate) : null;
|
|
87
|
+
const hasValidDrawDate = drawDate && !Number.isNaN(drawDate.getTime());
|
|
84
88
|
const label = isLatestTab
|
|
85
89
|
? 'Latest'
|
|
86
|
-
:
|
|
90
|
+
: hasValidDrawDate
|
|
91
|
+
? daysOfWeek[drawDate.getDay()]
|
|
92
|
+
: '';
|
|
87
93
|
|
|
88
|
-
const results =
|
|
89
|
-
|
|
90
|
-
|
|
94
|
+
const results = hasValidDrawDate
|
|
95
|
+
? `${monthsOfYear[drawDate.getMonth()]} ${drawDate.getDate()}`
|
|
96
|
+
: '';
|
|
91
97
|
|
|
92
98
|
return (
|
|
93
99
|
<div label={label} results={results} key={res} className={`${styles.sportstake} ${hasTwoTables && styles.twoHalfs}`}>
|
|
@@ -17,7 +17,23 @@ const SportstakeTable = ({
|
|
|
17
17
|
const { divs } = fixture?.drawDetails || {};
|
|
18
18
|
const { winnerData } = fixture?.more_info || {};
|
|
19
19
|
const { totalPrizePool, estimatedJackpot, nextEstimatedJackpotAmt } = fixture?.more_info || {};
|
|
20
|
-
|
|
20
|
+
|
|
21
|
+
const normalizeCurrencyValue = (value) => {
|
|
22
|
+
if (value === null || value === undefined || value === '') return null;
|
|
23
|
+
if (typeof value === 'number') return value;
|
|
24
|
+
const parsedValue = parseFloat(String(value).replace(/,/g, '').replace(/[^\d.-]/g, ''));
|
|
25
|
+
return Number.isNaN(parsedValue) ? null : parsedValue;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const rawDivsList = divs ? Object.values(divs) : winnerData ? Object.values(winnerData) : [];
|
|
29
|
+
const divsList = rawDivsList.map((item) => ({
|
|
30
|
+
...item,
|
|
31
|
+
winners: item?.winners ?? item?.no_of_winners,
|
|
32
|
+
payout:
|
|
33
|
+
normalizeCurrencyValue(item?.payout) ??
|
|
34
|
+
normalizeCurrencyValue(item?.payout_per_winner_system) ??
|
|
35
|
+
normalizeCurrencyValue(item?.prizeAmount),
|
|
36
|
+
}));
|
|
21
37
|
|
|
22
38
|
return (
|
|
23
39
|
<div className={styles.divTable}>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* eslint-disable no-prototype-builtins */
|
|
2
2
|
/* eslint-disable no-nested-ternary */
|
|
3
|
+
/* eslint-disable no-underscore-dangle */
|
|
3
4
|
/* eslint-disable import/prefer-default-export */
|
|
4
5
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
5
6
|
import chalk from 'chalk';
|
|
@@ -177,22 +178,21 @@ export async function getAPIData(page, url, header, preview) {
|
|
|
177
178
|
const previousMonth = month === 1 ? 12 : month - 1;
|
|
178
179
|
|
|
179
180
|
const calendarData = await getCalendarData(query.lotteryName, month, date.getFullYear());
|
|
180
|
-
|
|
181
|
-
const prevMonth =
|
|
181
|
+
const prevMonthData =
|
|
182
182
|
calendarData.length <= 2
|
|
183
183
|
? await getCalendarData(query.lotteryName, previousMonth, date.getFullYear())
|
|
184
184
|
: [];
|
|
185
185
|
|
|
186
186
|
const orderedPrevMonth =
|
|
187
187
|
calendarData.length === 0
|
|
188
|
-
? [
|
|
189
|
-
:
|
|
188
|
+
? [prevMonthData[prevMonthData.length - 1], ...prevMonthData.slice(0, prevMonthData.length - 1)]
|
|
189
|
+
: prevMonthData;
|
|
190
190
|
|
|
191
191
|
const reorderedResultData = [
|
|
192
192
|
calendarData[calendarData.length - 1],
|
|
193
193
|
...calendarData.slice(0, calendarData.length - 1),
|
|
194
194
|
...orderedPrevMonth,
|
|
195
|
-
].filter((item) => item && !Array.isArray(item));
|
|
195
|
+
].filter((item) => item && !Array.isArray(item) && item._id);
|
|
196
196
|
|
|
197
197
|
reorderedResultData.sort((a, b) => {
|
|
198
198
|
const dateA = new Date(a.drawDate);
|
|
@@ -200,10 +200,10 @@ export async function getAPIData(page, url, header, preview) {
|
|
|
200
200
|
return dateB.getTime() - dateA.getTime();
|
|
201
201
|
});
|
|
202
202
|
|
|
203
|
-
reorderedResultData[0]
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
203
|
+
if (reorderedResultData[0]?._id) {
|
|
204
|
+
const latestResult = await getResultsById(reorderedResultData[0]._id);
|
|
205
|
+
if (latestResult) reorderedResultData[0] = latestResult;
|
|
206
|
+
}
|
|
207
207
|
|
|
208
208
|
return { [moduleName]: reorderedResultData };
|
|
209
209
|
})
|
|
@@ -233,23 +233,21 @@ export async function getAPIData(page, url, header, preview) {
|
|
|
233
233
|
|
|
234
234
|
const calendarData = await getCalendarData(query.lotteryName, month, date.getFullYear());
|
|
235
235
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
const prevMonth =
|
|
236
|
+
const prevMonthData =
|
|
239
237
|
calendarData.length <= 2
|
|
240
238
|
? await getCalendarData(query.lotteryName, previousMonth, date.getFullYear())
|
|
241
239
|
: [];
|
|
242
240
|
|
|
243
241
|
const orderedPrevMonth =
|
|
244
242
|
calendarData.length === 0
|
|
245
|
-
? [
|
|
246
|
-
:
|
|
243
|
+
? [prevMonthData[prevMonthData.length - 1], ...prevMonthData.slice(0, prevMonthData.length - 1)]
|
|
244
|
+
: prevMonthData;
|
|
247
245
|
|
|
248
246
|
const reorderedResultData = [
|
|
249
247
|
calendarData[calendarData.length - 1],
|
|
250
248
|
...calendarData.slice(0, calendarData.length - 1),
|
|
251
249
|
...orderedPrevMonth,
|
|
252
|
-
].filter((item) => item && !Array.isArray(item));
|
|
250
|
+
].filter((item) => item && !Array.isArray(item) && item._id);
|
|
253
251
|
|
|
254
252
|
reorderedResultData.sort((a, b) => {
|
|
255
253
|
const dateA = new Date(a.drawDate);
|
|
@@ -257,10 +255,10 @@ export async function getAPIData(page, url, header, preview) {
|
|
|
257
255
|
return dateB.getTime() - dateA.getTime();
|
|
258
256
|
});
|
|
259
257
|
|
|
260
|
-
reorderedResultData[0]
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
258
|
+
if (reorderedResultData[0]?._id) {
|
|
259
|
+
const latestResult = await getResultsById(reorderedResultData[0]._id);
|
|
260
|
+
if (latestResult) reorderedResultData[0] = latestResult;
|
|
261
|
+
}
|
|
264
262
|
|
|
265
263
|
return { [moduleName]: reorderedResultData };
|
|
266
264
|
})
|
|
@@ -292,17 +290,15 @@ export async function getAPIData(page, url, header, preview) {
|
|
|
292
290
|
|
|
293
291
|
const availableDates = await getAvailableDrawDays(apiBaseNames[0], 'WEEKEND', month, year);
|
|
294
292
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
const prevMonth =
|
|
293
|
+
const prevMonthData =
|
|
298
294
|
availableDates.length <= 2
|
|
299
295
|
? await getAvailableDrawDays(apiBaseNames[0], 'WEEKEND', previousMonth, year)
|
|
300
296
|
: [];
|
|
301
297
|
|
|
302
298
|
const orderedPrevMonth =
|
|
303
299
|
availableDates.length === 0
|
|
304
|
-
? [
|
|
305
|
-
:
|
|
300
|
+
? [prevMonthData[prevMonthData.length - 1], ...prevMonthData.slice(0, prevMonthData.length - 1)]
|
|
301
|
+
: prevMonthData;
|
|
306
302
|
|
|
307
303
|
const reorderedDates = [
|
|
308
304
|
availableDates[availableDates.length - 1],
|
|
@@ -342,10 +338,10 @@ export async function getAPIData(page, url, header, preview) {
|
|
|
342
338
|
types.map(async (type) => {
|
|
343
339
|
const data = await getLottoUKdata(true, false, type);
|
|
344
340
|
const calendarData = await getCalendarData(type, month, year);
|
|
345
|
-
const
|
|
341
|
+
const prevMonthData =
|
|
346
342
|
calendarData.length <= 2 ? await getCalendarData(type, previousMonth, year) : [];
|
|
347
343
|
|
|
348
|
-
const reorderedDates = [...calendarData, ...
|
|
344
|
+
const reorderedDates = [...calendarData, ...prevMonthData].filter(
|
|
349
345
|
(item) => item && !Array.isArray(item)
|
|
350
346
|
);
|
|
351
347
|
|
|
@@ -53,7 +53,7 @@ export const getAvailableDrawDays = async (
|
|
|
53
53
|
|
|
54
54
|
const data = res ? await res.json() : { success: false };
|
|
55
55
|
|
|
56
|
-
return data.data;
|
|
56
|
+
return Array.isArray(data?.data) ? data.data : [];
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
/* -------------------------------------------------------------------------- */
|
|
@@ -76,5 +76,5 @@ export const getCalendarData = async (type, month, year) => {
|
|
|
76
76
|
`${process.env.LOTTERY_API_URL}calendar/${type}?month=${month}&year=${year}`
|
|
77
77
|
).catch(() => null);
|
|
78
78
|
const data = res ? await res.json() : { success: false };
|
|
79
|
-
return data.data;
|
|
79
|
+
return Array.isArray(data?.data) ? data.data : [];
|
|
80
80
|
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
export const formatScore = (val) => {
|
|
2
2
|
let scores = val?.split('-');
|
|
3
3
|
scores = scores?.map((score) => {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const trimmedScore = score?.trim();
|
|
5
|
+
|
|
6
|
+
if (/^0\d$/.test(trimmedScore)) {
|
|
7
|
+
return trimmedScore.substring(1);
|
|
6
8
|
}
|
|
7
9
|
|
|
8
|
-
return
|
|
10
|
+
return trimmedScore;
|
|
9
11
|
});
|
|
10
12
|
|
|
11
13
|
return scores?.join(' - ');
|