@times-components/ts-components 1.190.0 → 1.190.1-27065cede92918409da2e626e718135bdd6f78dc.2
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/dist/components/opta/football/opta-match-stats/momentum/OptaMatchStatsMomentum.js +59 -54
- package/dist/components/opta/football/opta-match-stats/momentum/__tests__/utils.test.js +533 -2
- package/dist/components/opta/football/opta-match-stats/momentum/styles.js +2 -1
- package/dist/components/opta/football/opta-match-stats/momentum/utils.d.ts +49 -0
- package/dist/components/opta/football/opta-match-stats/momentum/utils.js +171 -12
- package/dist/components/opta/football/opta-match-stats/types.d.ts +7 -2
- package/package.json +16 -16
- package/rnw.js +1 -1
- package/src/components/opta/football/opta-match-stats/momentum/OptaMatchStatsMomentum.tsx +97 -68
- package/src/components/opta/football/opta-match-stats/momentum/__tests__/__snapshots__/OptaMatchStatsMomentum.test.tsx.snap +1 -1
- package/src/components/opta/football/opta-match-stats/momentum/__tests__/utils.test.ts +600 -1
- package/src/components/opta/football/opta-match-stats/momentum/styles.ts +1 -0
- package/src/components/opta/football/opta-match-stats/momentum/utils.ts +296 -23
- package/src/components/opta/football/opta-match-stats/types.ts +7 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Placeholder } from '@times-components/image';
|
|
3
3
|
import { MomentumWrapper, ChartContainer, EventIconWrapper } from './styles';
|
|
4
|
-
import { mapFeedToMomentumData } from './utils';
|
|
4
|
+
import { mapFeedToMomentumData, computeSectionWidths, computeBarWidths, computeToX, clampCurrentX } from './utils';
|
|
5
5
|
import { CHART, COLORS, FOOTBALL_ICON_PATH, FOOTBALL_ICON_SIZE, CARD } from './chart-config';
|
|
6
6
|
import { GoalGradientDefs, MomentumBar, GoalFadeBeam, CardFadeBeam, HalfTimeMarker, CurrentMinuteMarker } from './chart-components';
|
|
7
7
|
import { useAdaptiveMatchFeed } from '../useAdaptiveMatchFeed';
|
|
@@ -65,87 +65,91 @@ export const OptaMatchStatsMomentum = React.memo(({ feed, match, apiBaseUrl, isA
|
|
|
65
65
|
const isLive = (matchInfo && matchInfo.matchStatus) === 'Playing';
|
|
66
66
|
const totalMatchMinutes = (graphSettings && graphSettings.totalMatchMinutes) || 90;
|
|
67
67
|
const scaleValue = (value) => (value / maxValue) * CHART.usableHeight;
|
|
68
|
-
//
|
|
69
|
-
// HT always sits at dead centre. Each side scales independently
|
|
70
|
-
// based on its own data extent.
|
|
68
|
+
// Period markers and section configuration
|
|
71
69
|
const htPoint = momentumData.find(p => p.period === 'HT');
|
|
72
70
|
const htMinute = htPoint ? htPoint.min : undefined;
|
|
71
|
+
const ftPoint = momentumData.find(p => p.period === 'FT');
|
|
73
72
|
const firstHalfLen = (graphSettings && graphSettings.firstHalfLength) || 45;
|
|
74
73
|
const firstHalfMax = htMinute != null ? htMinute : firstHalfLen + 0.5;
|
|
75
74
|
const secondHalfStart = (graphSettings && graphSettings.secondHalfStart) || firstHalfLen + 1;
|
|
76
|
-
const periodLength = totalMatchMinutes / 2; // usually 45
|
|
77
75
|
const currentHalf = graphSettings && graphSettings.currentHalf;
|
|
78
76
|
const isHalfTime = graphSettings && graphSettings.isHalfTime;
|
|
79
|
-
|
|
77
|
+
const hasExtraTime = (graphSettings && graphSettings.hasExtraTime) || false;
|
|
78
|
+
const extraTimeStart = (graphSettings && graphSettings.extraTimeStart) || firstHalfLen * 2 + 1;
|
|
79
|
+
const extraTimeLength = (graphSettings && graphSettings.extraTimeLength) || 0;
|
|
80
|
+
const secondHalfLength = (graphSettings && graphSettings.secondHalfLength) || firstHalfLen;
|
|
81
|
+
// Compute proportional section widths
|
|
82
|
+
const sectionWidths = computeSectionWidths(CHART.width, firstHalfLen, secondHalfLength, hasExtraTime, extraTimeLength);
|
|
83
|
+
// Per-section prediction bars (excluding events and period markers)
|
|
80
84
|
const firstHalfPreds = momentumData.filter(p => p.half === 1 && !p.type && !p.period);
|
|
85
|
+
const secondHalfPreds = momentumData.filter(p => p.half === 2 && !p.type && !p.period);
|
|
86
|
+
const extraTimePreds = momentumData.filter(p => p.half === 3 && !p.type && !p.period);
|
|
87
|
+
// Compute bar widths per section
|
|
88
|
+
const barWidths = computeBarWidths(sectionWidths, firstHalfPreds.length || 1, secondHalfPreds.length || 1, extraTimePreds.length || 1, CHART.barWidth, CHART.barGap);
|
|
89
|
+
const getBarWidth = (half) => half === 3
|
|
90
|
+
? barWidths.extraTime
|
|
91
|
+
: half === 2
|
|
92
|
+
? barWidths.secondHalf
|
|
93
|
+
: barWidths.firstHalf;
|
|
94
|
+
// Compute per-section ranges for positioning
|
|
81
95
|
const firstHalfStartMin = firstHalfPreds.length > 0
|
|
82
96
|
? Math.min(...firstHalfPreds.map(p => p.min))
|
|
83
97
|
: 1;
|
|
84
98
|
const lastFirstHalfMin = firstHalfPreds.length > 0
|
|
85
99
|
? Math.max(...firstHalfPreds.map(p => p.min))
|
|
86
100
|
: 1;
|
|
87
|
-
|
|
88
|
-
// reaches ~98% at minute 45. Stoppage time grows the range naturally.
|
|
89
|
-
// HT / FT: shrink to last actual bar so bars fill to the HT margin.
|
|
101
|
+
const periodLength = hasExtraTime ? firstHalfLen : totalMatchMinutes / 2;
|
|
90
102
|
const firstHalfEnd = isLive && currentHalf === 1 && !isHalfTime
|
|
91
103
|
? Math.max(lastFirstHalfMin, periodLength)
|
|
92
104
|
: lastFirstHalfMin;
|
|
93
105
|
const firstHalfExtent = firstHalfEnd - firstHalfStartMin;
|
|
94
106
|
const firstHalfRange = firstHalfExtent * (isLive && currentHalf === 1 && !isHalfTime ? 1.02 : 1);
|
|
95
|
-
// Second-half range: use actual data extent or the expected period length,
|
|
96
|
-
// whichever is larger, so bars fill the right 50%.
|
|
97
|
-
const secondHalfPreds = momentumData.filter(p => p.half === 2 && !p.type && !p.period);
|
|
98
107
|
const lastSecHalfMin = secondHalfPreds.length > 0
|
|
99
108
|
? Math.max(...secondHalfPreds.map(p => p.min))
|
|
100
109
|
: secondHalfStart;
|
|
101
110
|
const secondHalfExtent = lastSecHalfMin - secondHalfStart;
|
|
102
|
-
const secondHalfRange = Math.max(secondHalfExtent,
|
|
111
|
+
const secondHalfRange = Math.max(secondHalfExtent, secondHalfLength) *
|
|
103
112
|
(isLive && currentHalf === 2 ? 1.02 : 1);
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return leftEdgeMargin + (firstHalfElapsed / firstHalfRange) * leftWidth;
|
|
130
|
-
}
|
|
131
|
-
const secondHalfElapsed = minute - secondHalfStart;
|
|
132
|
-
return (halfWidth +
|
|
133
|
-
htMargin +
|
|
134
|
-
(secondHalfElapsed / secondHalfRange) * rightWidth);
|
|
135
|
-
};
|
|
113
|
+
const etStartMin = extraTimePreds.length > 0
|
|
114
|
+
? Math.min(...extraTimePreds.map(p => p.min))
|
|
115
|
+
: extraTimeStart;
|
|
116
|
+
const lastEtMin = extraTimePreds.length > 0
|
|
117
|
+
? Math.max(...extraTimePreds.map(p => p.min))
|
|
118
|
+
: extraTimeStart;
|
|
119
|
+
const etExtent = lastEtMin - etStartMin;
|
|
120
|
+
const extraTimeRange = Math.max(etExtent, extraTimeLength || 30) *
|
|
121
|
+
(isLive && currentHalf === 3 ? 1.02 : 1);
|
|
122
|
+
const edgePad = isLive ? 10 : 18;
|
|
123
|
+
const toX = computeToX({
|
|
124
|
+
sectionWidths,
|
|
125
|
+
barWidths,
|
|
126
|
+
firstHalfStartMin,
|
|
127
|
+
firstHalfRange,
|
|
128
|
+
secondHalfStart,
|
|
129
|
+
secondHalfRange,
|
|
130
|
+
extraTimeStart: etStartMin,
|
|
131
|
+
extraTimeRange,
|
|
132
|
+
hasExtraTime,
|
|
133
|
+
isLive,
|
|
134
|
+
barGap: CHART.barGap,
|
|
135
|
+
edgePad,
|
|
136
|
+
firstHalfMax
|
|
137
|
+
});
|
|
136
138
|
const currentMinute = graphSettings && graphSettings.currentMinute;
|
|
137
|
-
// HT marker
|
|
138
|
-
// Rendered first in SVG so bars paint on top of the dashed line.
|
|
139
|
+
// HT marker at section boundary
|
|
139
140
|
const showHt = htMinute !== undefined && hasChartData;
|
|
140
|
-
const htX = showHt ?
|
|
141
|
-
//
|
|
141
|
+
const htX = showHt ? sectionWidths.firstHalfWidth : undefined;
|
|
142
|
+
// FT marker at second section boundary (only for ET matches)
|
|
143
|
+
const showFt = hasExtraTime && ftPoint !== undefined && hasChartData;
|
|
144
|
+
const ftX = showFt
|
|
145
|
+
? sectionWidths.firstHalfWidth + sectionWidths.secondHalfWidth
|
|
146
|
+
: undefined;
|
|
147
|
+
// Clamp the live line within its section
|
|
142
148
|
const rawCurrentX = currentMinute !== undefined && hasChartData
|
|
143
149
|
? toX(currentMinute, currentHalf)
|
|
144
150
|
: undefined;
|
|
145
|
-
const currentX = rawCurrentX !== undefined
|
|
146
|
-
? currentHalf
|
|
147
|
-
? Math.min(rawCurrentX, halfWidth - 2)
|
|
148
|
-
: Math.max(rawCurrentX, halfWidth + 2)
|
|
151
|
+
const currentX = rawCurrentX !== undefined && currentHalf !== undefined
|
|
152
|
+
? clampCurrentX(rawCurrentX, currentHalf, sectionWidths)
|
|
149
153
|
: undefined;
|
|
150
154
|
const toPercent = (svgCoord, total) => (svgCoord / total) * 100;
|
|
151
155
|
// Map of goal minutes → which team scored, used to force the
|
|
@@ -202,6 +206,7 @@ export const OptaMatchStatsMomentum = React.memo(({ feed, match, apiBaseUrl, isA
|
|
|
202
206
|
React.createElement("svg", { className: "momentum-chart", viewBox: `0 0 ${CHART.width} ${CHART.height}`, "aria-label": `Match momentum chart: ${homeTeamName} vs ${awayTeamName}`, role: "img" },
|
|
203
207
|
React.createElement(GoalGradientDefs, { homeColor: homeColor, awayColor: awayColor }),
|
|
204
208
|
htX !== undefined && React.createElement(HalfTimeMarker, { x: htX }),
|
|
209
|
+
ftX !== undefined && React.createElement(HalfTimeMarker, { x: ftX }),
|
|
205
210
|
momentumData.map(point => {
|
|
206
211
|
if (point.type !== 'YC' && point.type !== 'RC') {
|
|
207
212
|
return null;
|
|
@@ -233,4 +238,4 @@ export const OptaMatchStatsMomentum = React.memo(({ feed, match, apiBaseUrl, isA
|
|
|
233
238
|
React.createElement("span", { className: "momentum-team-swatch" }),
|
|
234
239
|
awayTeamName))));
|
|
235
240
|
});
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YU1hdGNoU3RhdHNNb21lbnR1bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvZm9vdGJhbGwvb3B0YS1tYXRjaC1zdGF0cy9tb21lbnR1bS9PcHRhTWF0Y2hTdGF0c01vbWVudHVtLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLElBQUksRUFDTCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLFlBQVksRUFDWixZQUFZLEVBQ1osY0FBYyxFQUNkLG1CQUFtQixFQUNwQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQVE5QixLQUFLLENBQUMsSUFBSSxDQUNiLENBQUMsRUFD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
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YU1hdGNoU3RhdHNNb21lbnR1bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvZm9vdGJhbGwvb3B0YS1tYXRjaC1zdGF0cy9tb21lbnR1bS9PcHRhTWF0Y2hTdGF0c01vbWVudHVtLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTdFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsYUFBYSxFQUNkLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsSUFBSSxFQUNMLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDWixjQUFjLEVBQ2QsbUJBQW1CLEVBQ3BCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEQsTUFBTSxDQUFD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
|