@sensiblestats/widget-react 0.86.0 → 0.86.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.
- package/CHANGELOG.md +6 -0
- package/dist/index.cjs +24 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +91 -77
- package/dist/index.js.map +1 -1
- package/dist/styles.css +7 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5613,7 +5613,7 @@ function useLiveClock(minute, clockRunning, receivedAtMs) {
|
|
|
5613
5613
|
}
|
|
5614
5614
|
|
|
5615
5615
|
// src/components/dashboard/LiveScoreCard.tsx
|
|
5616
|
-
import { jsx as jsx41, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
5616
|
+
import { Fragment as Fragment7, jsx as jsx41, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
5617
5617
|
function initials5(name) {
|
|
5618
5618
|
return name.trim().slice(0, 3).toUpperCase();
|
|
5619
5619
|
}
|
|
@@ -5625,11 +5625,14 @@ function LiveCrest({ url, name, side }) {
|
|
|
5625
5625
|
}
|
|
5626
5626
|
return /* @__PURE__ */ jsx41("span", { className: `${cls} ss-w-fandash-live-crest--fallback`, "aria-hidden": "true", children: initials5(name) });
|
|
5627
5627
|
}
|
|
5628
|
-
function
|
|
5629
|
-
if (!goalEvents || goalEvents.length === 0) return null;
|
|
5628
|
+
function scorersBySide(goalEvents) {
|
|
5629
|
+
if (!goalEvents || goalEvents.length === 0) return { home: null, away: null };
|
|
5630
5630
|
const named = goalEvents.filter((e) => e.type === "goal" && e.player);
|
|
5631
|
-
|
|
5632
|
-
|
|
5631
|
+
const line = (side) => {
|
|
5632
|
+
const scorers = named.filter((e) => e.side === side).slice().sort((a, b) => a.minute - b.minute).map((e) => `${e.player} ${e.minuteLabel}`);
|
|
5633
|
+
return scorers.length === 0 ? null : scorers.join(", ");
|
|
5634
|
+
};
|
|
5635
|
+
return { home: line("home"), away: line("away") };
|
|
5633
5636
|
}
|
|
5634
5637
|
function LiveScoreCard({
|
|
5635
5638
|
card,
|
|
@@ -5643,7 +5646,7 @@ function LiveScoreCard({
|
|
|
5643
5646
|
}
|
|
5644
5647
|
const displayMinute = useLiveClock(data.minute, data.clockRunning, seedRef.current.receivedAtMs);
|
|
5645
5648
|
const minuteSuffix = data.minuteLabel.replace(/^\d+/, "");
|
|
5646
|
-
const
|
|
5649
|
+
const { home: homeScorers, away: awayScorers } = scorersBySide(goalEvents);
|
|
5647
5650
|
return /* @__PURE__ */ jsxs37("div", { className: "ss-w-fandash-card ss-w-fandash-live-score", children: [
|
|
5648
5651
|
card.title ? /* @__PURE__ */ jsx41("span", { className: "ss-w-fandash-eyebrow", children: card.title }) : null,
|
|
5649
5652
|
/* @__PURE__ */ jsxs37("div", { className: "ss-w-fandash-live-top", children: [
|
|
@@ -5669,9 +5672,15 @@ function LiveScoreCard({
|
|
|
5669
5672
|
/* @__PURE__ */ jsx41("span", { className: "ss-w-fandash-live-team-name", children: data.awayName })
|
|
5670
5673
|
] })
|
|
5671
5674
|
] }),
|
|
5672
|
-
|
|
5673
|
-
/* @__PURE__ */ jsx41("
|
|
5674
|
-
|
|
5675
|
+
homeScorers || awayScorers ? /* @__PURE__ */ jsxs37("div", { className: "ss-w-fandash-live-scorers-row", children: [
|
|
5676
|
+
/* @__PURE__ */ jsx41("div", { className: "ss-w-fandash-live-scorers ss-w-fandash-live-scorers--home", children: homeScorers ? /* @__PURE__ */ jsxs37(Fragment7, { children: [
|
|
5677
|
+
/* @__PURE__ */ jsx41("span", { className: "ss-w-fandash-live-scorers-icon", "aria-hidden": "true", children: "\u26BD" }),
|
|
5678
|
+
homeScorers
|
|
5679
|
+
] }) : null }),
|
|
5680
|
+
/* @__PURE__ */ jsx41("div", { className: "ss-w-fandash-live-scorers ss-w-fandash-live-scorers--away", children: awayScorers ? /* @__PURE__ */ jsxs37(Fragment7, { children: [
|
|
5681
|
+
awayScorers,
|
|
5682
|
+
/* @__PURE__ */ jsx41("span", { className: "ss-w-fandash-live-scorers-icon", "aria-hidden": "true", children: "\u26BD" })
|
|
5683
|
+
] }) : null })
|
|
5675
5684
|
] }) : null
|
|
5676
5685
|
] });
|
|
5677
5686
|
}
|
|
@@ -6835,7 +6844,7 @@ function SearchField({ id, label, labelHidden = false, placeholder, value, onCha
|
|
|
6835
6844
|
}
|
|
6836
6845
|
|
|
6837
6846
|
// src/components/TodayPanel.tsx
|
|
6838
|
-
import { Fragment as
|
|
6847
|
+
import { Fragment as Fragment8, jsx as jsx61, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
6839
6848
|
function TodayPanel({ discovery, ui, monitor }) {
|
|
6840
6849
|
const { groups, states, stale, starLeague } = discovery;
|
|
6841
6850
|
const searchId = useId2();
|
|
@@ -6892,7 +6901,7 @@ function TodayPanel({ discovery, ui, monitor }) {
|
|
|
6892
6901
|
if (selectedCompetitionId !== null && openGroup === void 0) setSelectedCompetitionId(null);
|
|
6893
6902
|
}, [selectedCompetitionId, openGroup]);
|
|
6894
6903
|
const liveRows = stale ? [] : visibleGroups.flatMap((group) => group.matches.filter((m) => isTreatedLive(states[m.matchId], stale)).map((match) => ({ match, rank: group.rank }))).sort((a, b) => a.rank - b.rank);
|
|
6895
|
-
const liveBand = liveRows.length > 0 && /* @__PURE__ */ jsxs55(
|
|
6904
|
+
const liveBand = liveRows.length > 0 && /* @__PURE__ */ jsxs55(Fragment8, { children: [
|
|
6896
6905
|
/* @__PURE__ */ jsxs55("div", { className: "ss-w-sec-head", children: [
|
|
6897
6906
|
/* @__PURE__ */ jsx61("span", { className: "ss-w-sec-dot", "aria-hidden": "true" }),
|
|
6898
6907
|
ui.sectionLive
|
|
@@ -6950,7 +6959,7 @@ function TodayPanel({ discovery, ui, monitor }) {
|
|
|
6950
6959
|
clearLabel: ui.clearSearchLabel
|
|
6951
6960
|
}
|
|
6952
6961
|
),
|
|
6953
|
-
searching ? searchResults.length === 0 ? /* @__PURE__ */ jsx61("div", { className: "ss-w-today-empty", children: ui.noLeagueResults }) : /* @__PURE__ */ jsx61(
|
|
6962
|
+
searching ? searchResults.length === 0 ? /* @__PURE__ */ jsx61("div", { className: "ss-w-today-empty", children: ui.noLeagueResults }) : /* @__PURE__ */ jsx61(Fragment8, { children: searchResults.map((group) => /* @__PURE__ */ jsxs55("div", { className: "ss-w-today-search-block", children: [
|
|
6954
6963
|
/* @__PURE__ */ jsxs55("div", { className: "ss-w-today-search-group", children: [
|
|
6955
6964
|
/* @__PURE__ */ jsx61(Crest2, { url: group.competitionImagePath ?? void 0, name: group.competitionName, kind: "comp" }),
|
|
6956
6965
|
/* @__PURE__ */ jsxs55("span", { className: "ss-w-today-search-group-name", children: [
|
|
@@ -6980,7 +6989,7 @@ function TodayPanel({ discovery, ui, monitor }) {
|
|
|
6980
6989
|
},
|
|
6981
6990
|
match.matchId
|
|
6982
6991
|
))
|
|
6983
|
-
] }, group.competitionId)) }) : /* @__PURE__ */ jsxs55(
|
|
6992
|
+
] }, group.competitionId)) }) : /* @__PURE__ */ jsxs55(Fragment8, { children: [
|
|
6984
6993
|
/* @__PURE__ */ jsxs55("div", { className: "ss-w-today-sec", children: [
|
|
6985
6994
|
placement.personal ? ui.yourLeagues : ui.topLeagues,
|
|
6986
6995
|
!placement.personal && /* @__PURE__ */ jsx61("span", { className: "ss-w-today-sec-sub", children: ui.topLeaguesSub })
|
|
@@ -7060,7 +7069,7 @@ function splitName(full) {
|
|
|
7060
7069
|
}
|
|
7061
7070
|
|
|
7062
7071
|
// src/components/GameTileArt.tsx
|
|
7063
|
-
import { Fragment as
|
|
7072
|
+
import { Fragment as Fragment9, jsx as jsx63, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
7064
7073
|
function GameTileArt({ gameId }) {
|
|
7065
7074
|
return /* @__PURE__ */ jsx63("svg", { className: "ss-g-art", viewBox: "0 0 120 74", "aria-hidden": "true", children: ART[gameId] ?? ART.default });
|
|
7066
7075
|
}
|
|
@@ -7069,41 +7078,41 @@ var head = (cx, cy, r, cls = "ss-g-art-fg") => /* @__PURE__ */ jsxs56("g", { cla
|
|
|
7069
7078
|
/* @__PURE__ */ jsx63("path", { d: `M${cx - r} ${cy + r}c0-${r * 0.8} ${r * 0.45}-${r * 1.1} ${r}-${r * 1.1}s${r} ${r * 0.3} ${r} ${r * 1.1}z` })
|
|
7070
7079
|
] });
|
|
7071
7080
|
var ART = {
|
|
7072
|
-
"mystery-tiger": /* @__PURE__ */ jsxs56(
|
|
7081
|
+
"mystery-tiger": /* @__PURE__ */ jsxs56(Fragment9, { children: [
|
|
7073
7082
|
head(60, 38, 26, "ss-g-art-fg"),
|
|
7074
7083
|
/* @__PURE__ */ jsx63("text", { x: "60", y: "36", className: "ss-g-art-q", textAnchor: "middle", children: "?" })
|
|
7075
7084
|
] }),
|
|
7076
|
-
"higher-or-lower": /* @__PURE__ */ jsxs56(
|
|
7085
|
+
"higher-or-lower": /* @__PURE__ */ jsxs56(Fragment9, { children: [
|
|
7077
7086
|
head(32, 38, 20),
|
|
7078
7087
|
head(88, 38, 20),
|
|
7079
7088
|
/* @__PURE__ */ jsx63("circle", { cx: "60", cy: "37", r: "11", className: "ss-g-art-accent" }),
|
|
7080
7089
|
/* @__PURE__ */ jsx63("path", { d: "M57 33l3-3 3 3M57 41l3 3 3-3", className: "ss-g-art-ink" })
|
|
7081
7090
|
] }),
|
|
7082
|
-
"guess-the-xi": /* @__PURE__ */ jsxs56(
|
|
7091
|
+
"guess-the-xi": /* @__PURE__ */ jsxs56(Fragment9, { children: [
|
|
7083
7092
|
/* @__PURE__ */ jsx63("rect", { x: "8", y: "4", width: "104", height: "66", rx: "6", className: "ss-g-art-pitch" }),
|
|
7084
7093
|
[[60, 60, "a"], [24, 46], [48, 46], [72, 46], [96, 46], [36, 30], [60, 30], [84, 30], [40, 14], [60, 14], [80, 14]].map(([x, y, a], i) => /* @__PURE__ */ jsx63("circle", { cx: x, cy: y, r: "4", className: a ? "ss-g-art-accent" : "ss-g-art-dot" }, i))
|
|
7085
7094
|
] }),
|
|
7086
|
-
"daily-quiz": /* @__PURE__ */ jsx63(
|
|
7087
|
-
"career-path": /* @__PURE__ */ jsxs56(
|
|
7095
|
+
"daily-quiz": /* @__PURE__ */ jsx63(Fragment9, { children: [[14, 8], [62, 8], [14, 40], [62, 40]].map(([x, y], i) => /* @__PURE__ */ jsx63("rect", { x, y, width: "44", height: "26", rx: "5", className: i === 1 ? "ss-g-art-correct" : "ss-g-art-block" }, i)) }),
|
|
7096
|
+
"career-path": /* @__PURE__ */ jsxs56(Fragment9, { children: [
|
|
7088
7097
|
/* @__PURE__ */ jsx63("path", { d: "M18 22h24v10c0 7-5 11-12 13-7-2-12-6-12-13z", className: "ss-g-art-fg" }),
|
|
7089
7098
|
/* @__PURE__ */ jsx63("path", { d: "M48 37h8M84 37h8", className: "ss-g-art-line" }),
|
|
7090
7099
|
/* @__PURE__ */ jsx63("path", { d: "M60 22h24v10c0 7-5 11-12 13-7-2-12-6-12-13z", className: "ss-g-art-fg" }),
|
|
7091
7100
|
/* @__PURE__ */ jsx63("rect", { x: "96", y: "22", width: "18", height: "26", rx: "4", className: "ss-g-art-dash" }),
|
|
7092
7101
|
/* @__PURE__ */ jsx63("text", { x: "105", y: "40", className: "ss-g-art-q", textAnchor: "middle", children: "?" })
|
|
7093
7102
|
] }),
|
|
7094
|
-
"beat-the-grid": /* @__PURE__ */ jsx63(
|
|
7095
|
-
"matchday-predictor": /* @__PURE__ */ jsxs56(
|
|
7103
|
+
"beat-the-grid": /* @__PURE__ */ jsx63(Fragment9, { children: [0, 1, 2].flatMap((r) => [0, 1, 2].map((c) => /* @__PURE__ */ jsx63("rect", { x: 33 + c * 19, y: 10 + r * 19, width: "16", height: "16", rx: "3", className: (r + c) % 3 === 0 ? "ss-g-art-accent" : "ss-g-art-block" }, `${r}${c}`))) }),
|
|
7104
|
+
"matchday-predictor": /* @__PURE__ */ jsxs56(Fragment9, { children: [
|
|
7096
7105
|
/* @__PURE__ */ jsx63("path", { d: "M10 20h20v9c0 6-4 9-10 11-6-2-10-5-10-11z", className: "ss-g-art-fg" }),
|
|
7097
7106
|
/* @__PURE__ */ jsx63("rect", { x: "38", y: "22", width: "18", height: "24", rx: "4", className: "ss-g-art-accent-stroke" }),
|
|
7098
7107
|
/* @__PURE__ */ jsx63("rect", { x: "64", y: "22", width: "18", height: "24", rx: "4", className: "ss-g-art-dash" }),
|
|
7099
7108
|
/* @__PURE__ */ jsx63("path", { d: "M90 20h20v9c0 6-4 9-10 11-6-2-10-5-10-11z", className: "ss-g-art-fg" })
|
|
7100
7109
|
] }),
|
|
7101
|
-
"starting-xi": /* @__PURE__ */ jsxs56(
|
|
7110
|
+
"starting-xi": /* @__PURE__ */ jsxs56(Fragment9, { children: [
|
|
7102
7111
|
/* @__PURE__ */ jsx63("rect", { x: "8", y: "4", width: "104", height: "66", rx: "6", className: "ss-g-art-pitch" }),
|
|
7103
7112
|
[[60, 60], [30, 46], [50, 46], [70, 46], [90, 46], [45, 30], [75, 30], [30, 16], [60, 16], [90, 16]].map(([x, y], i) => /* @__PURE__ */ jsx63("circle", { cx: x, cy: y, r: "5", className: i < 7 ? "ss-g-art-accent" : "ss-g-art-dash" }, i))
|
|
7104
7113
|
] }),
|
|
7105
|
-
"stat-ladder": /* @__PURE__ */ jsx63(
|
|
7106
|
-
"fan-motm": /* @__PURE__ */ jsxs56(
|
|
7114
|
+
"stat-ladder": /* @__PURE__ */ jsx63(Fragment9, { children: [[20, 70], [34, 52], [48, 34]].map(([y, w], i) => /* @__PURE__ */ jsx63("rect", { x: "24", y, width: w, height: "12", rx: "3", className: i === 1 ? "ss-g-art-accent" : "ss-g-art-block" }, i)) }),
|
|
7115
|
+
"fan-motm": /* @__PURE__ */ jsxs56(Fragment9, { children: [
|
|
7107
7116
|
/* @__PURE__ */ jsx63("circle", { cx: "60", cy: "37", r: "26", className: "ss-g-art-accent-stroke" }),
|
|
7108
7117
|
head(60, 40, 18),
|
|
7109
7118
|
/* @__PURE__ */ jsx63("path", { d: "M84 8l2.4 5 5.4.6-4 3.7 1.1 5.4-4.9-2.7-4.9 2.7 1.1-5.4-4-3.7 5.4-.6z", className: "ss-g-art-accent" })
|
|
@@ -7127,7 +7136,7 @@ function StatStack({ value, label }) {
|
|
|
7127
7136
|
}
|
|
7128
7137
|
|
|
7129
7138
|
// src/components/GameTile.tsx
|
|
7130
|
-
import { Fragment as
|
|
7139
|
+
import { Fragment as Fragment10, jsx as jsx65, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
7131
7140
|
function tileStatus(game, ui) {
|
|
7132
7141
|
switch (game.status) {
|
|
7133
7142
|
case "locked":
|
|
@@ -7151,7 +7160,7 @@ function GameTile({ game, onOpen, ui, variant = "tile" }) {
|
|
|
7151
7160
|
const status = tileStatus(game, ui);
|
|
7152
7161
|
const disabled = DISABLED.has(game.status);
|
|
7153
7162
|
const title = gameTitle(game, ui.games.titles);
|
|
7154
|
-
const body = variant === "hero" ? /* @__PURE__ */ jsxs58(
|
|
7163
|
+
const body = variant === "hero" ? /* @__PURE__ */ jsxs58(Fragment10, { children: [
|
|
7155
7164
|
/* @__PURE__ */ jsxs58("span", { className: "ss-g-hero-text", children: [
|
|
7156
7165
|
/* @__PURE__ */ jsx65("span", { className: "ss-g-hero-eyebrow", children: ui.games.dailyChallenge }),
|
|
7157
7166
|
status.tone === "new" && /* @__PURE__ */ jsx65(Chip, { variant: "badge", children: ui.games.newToday }),
|
|
@@ -7163,7 +7172,7 @@ function GameTile({ game, onOpen, ui, variant = "tile" }) {
|
|
|
7163
7172
|
] })
|
|
7164
7173
|
] }),
|
|
7165
7174
|
/* @__PURE__ */ jsx65("span", { className: "ss-g-hero-art", children: /* @__PURE__ */ jsx65(GameTileArt, { gameId: game.gameId }) })
|
|
7166
|
-
] }) : variant === "wide" ? /* @__PURE__ */ jsxs58(
|
|
7175
|
+
] }) : variant === "wide" ? /* @__PURE__ */ jsxs58(Fragment10, { children: [
|
|
7167
7176
|
/* @__PURE__ */ jsx65("span", { className: "ss-g-wide-art", children: /* @__PURE__ */ jsx65(GameTileArt, { gameId: game.gameId }) }),
|
|
7168
7177
|
/* @__PURE__ */ jsxs58("span", { className: "ss-g-wide-text", children: [
|
|
7169
7178
|
/* @__PURE__ */ jsx65("span", { className: "ss-g-tile-title", children: title }),
|
|
@@ -7171,7 +7180,7 @@ function GameTile({ game, onOpen, ui, variant = "tile" }) {
|
|
|
7171
7180
|
status.tone === "new" && /* @__PURE__ */ jsx65(Chip, { variant: "badge", children: ui.games.newToday })
|
|
7172
7181
|
] }),
|
|
7173
7182
|
/* @__PURE__ */ jsx65("span", { className: "ss-g-wide-chev", children: /* @__PURE__ */ jsx65(IconChevronLeft, { size: 18 }) })
|
|
7174
|
-
] }) : /* @__PURE__ */ jsxs58(
|
|
7183
|
+
] }) : /* @__PURE__ */ jsxs58(Fragment10, { children: [
|
|
7175
7184
|
/* @__PURE__ */ jsx65("span", { className: "ss-g-tile-art", children: /* @__PURE__ */ jsx65(GameTileArt, { gameId: game.gameId }) }),
|
|
7176
7185
|
/* @__PURE__ */ jsx65("span", { className: "ss-g-tile-title", children: title }),
|
|
7177
7186
|
/* @__PURE__ */ jsx65("span", { className: "ss-g-tile-status", "data-tone": status.tone, children: status.text })
|
|
@@ -7182,7 +7191,7 @@ function GameTile({ game, onOpen, ui, variant = "tile" }) {
|
|
|
7182
7191
|
}
|
|
7183
7192
|
|
|
7184
7193
|
// src/components/GamesHub.tsx
|
|
7185
|
-
import { Fragment as
|
|
7194
|
+
import { Fragment as Fragment11, jsx as jsx66, jsxs as jsxs59 } from "react/jsx-runtime";
|
|
7186
7195
|
var PLAYABLE = /* @__PURE__ */ new Set(["available", "in_progress"]);
|
|
7187
7196
|
var DONE = /* @__PURE__ */ new Set(["played", "graded"]);
|
|
7188
7197
|
function pickHeroGame(games) {
|
|
@@ -7213,7 +7222,7 @@ function GamesHub({ games, myWeeklyRow, weeklyPrize, onOpen, ui }) {
|
|
|
7213
7222
|
/* @__PURE__ */ jsxs59("div", { className: "ss-g-stat", children: [
|
|
7214
7223
|
/* @__PURE__ */ jsx66("span", { className: "ss-g-stat-l", children: ui.games.statStreak }),
|
|
7215
7224
|
/* @__PURE__ */ jsxs59("span", { className: "ss-g-stat-v", "data-testid": "stat-streak", children: [
|
|
7216
|
-
myWeeklyRow ? /* @__PURE__ */ jsxs59(
|
|
7225
|
+
myWeeklyRow ? /* @__PURE__ */ jsxs59(Fragment11, { children: [
|
|
7217
7226
|
/* @__PURE__ */ jsx66(IconFlame, {}),
|
|
7218
7227
|
myWeeklyRow.currentStreak
|
|
7219
7228
|
] }) : dash,
|
|
@@ -7603,11 +7612,11 @@ function SegmentProgress({ segments, ariaLabel, leftLabel, rightLabel, right })
|
|
|
7603
7612
|
}
|
|
7604
7613
|
|
|
7605
7614
|
// src/components/games/ui/AnswerTray.tsx
|
|
7606
|
-
import { Fragment as
|
|
7615
|
+
import { Fragment as Fragment12, jsx as jsx70, jsxs as jsxs62 } from "react/jsx-runtime";
|
|
7607
7616
|
function AnswerTray({ id, label, placeholder, optionsLabel, options, query, onQuery, onPick, disabled, minQuery = 0 }) {
|
|
7608
7617
|
const needle = query.trim().toLowerCase();
|
|
7609
7618
|
const shown = needle.length < minQuery ? [] : needle ? options.filter((o) => o.name.toLowerCase().includes(needle)) : options;
|
|
7610
|
-
return /* @__PURE__ */ jsxs62(
|
|
7619
|
+
return /* @__PURE__ */ jsxs62(Fragment12, { children: [
|
|
7611
7620
|
/* @__PURE__ */ jsx70(
|
|
7612
7621
|
SearchField,
|
|
7613
7622
|
{
|
|
@@ -7699,7 +7708,7 @@ function PointsLadderRow({ ladder, guessesUsed, ui }) {
|
|
|
7699
7708
|
}
|
|
7700
7709
|
|
|
7701
7710
|
// src/components/games/MysteryTigerGame.tsx
|
|
7702
|
-
import { Fragment as
|
|
7711
|
+
import { Fragment as Fragment13, jsx as jsx76, jsxs as jsxs66 } from "react/jsx-runtime";
|
|
7703
7712
|
function parseClientState(json) {
|
|
7704
7713
|
if (!json) return null;
|
|
7705
7714
|
try {
|
|
@@ -7847,7 +7856,7 @@ function MysteryTigerGame({
|
|
|
7847
7856
|
}
|
|
7848
7857
|
),
|
|
7849
7858
|
!config && /* @__PURE__ */ jsx76("div", { className: "ss-g-body ss-g-loading", children: ui.games.loading }),
|
|
7850
|
-
config && /* @__PURE__ */ jsxs66(
|
|
7859
|
+
config && /* @__PURE__ */ jsxs66(Fragment13, { children: [
|
|
7851
7860
|
/* @__PURE__ */ jsxs66("div", { className: "ss-g-body", children: [
|
|
7852
7861
|
!isOver && /* @__PURE__ */ jsx76(PointsLadderRow, { ladder: config.pointsLadder, guessesUsed, ui }),
|
|
7853
7862
|
/* @__PURE__ */ jsxs66("div", { className: `ss-g-mt-card${isOver ? " ss-g-mt-card--reveal" : ""}`, children: [
|
|
@@ -7947,7 +7956,7 @@ function MysteryTigerGame({
|
|
|
7947
7956
|
}
|
|
7948
7957
|
|
|
7949
7958
|
// src/components/games/HigherOrLowerGame.tsx
|
|
7950
|
-
import { Fragment as
|
|
7959
|
+
import { Fragment as Fragment14, jsx as jsx77, jsxs as jsxs67 } from "react/jsx-runtime";
|
|
7951
7960
|
var POINTS_PER_CORRECT = 10;
|
|
7952
7961
|
function parseClientState2(json) {
|
|
7953
7962
|
if (!json) return null;
|
|
@@ -8007,7 +8016,7 @@ function HigherOrLowerGame({
|
|
|
8007
8016
|
}
|
|
8008
8017
|
),
|
|
8009
8018
|
!config && /* @__PURE__ */ jsx77("div", { className: "ss-g-body ss-g-loading", children: ui.games.loading }),
|
|
8010
|
-
config && /* @__PURE__ */ jsxs67(
|
|
8019
|
+
config && /* @__PURE__ */ jsxs67(Fragment14, { children: [
|
|
8011
8020
|
/* @__PURE__ */ jsxs67("div", { className: "ss-g-body", children: [
|
|
8012
8021
|
/* @__PURE__ */ jsxs67("div", { className: "ss-g-hl-prompt", "data-testid": "hol-prompt", children: [
|
|
8013
8022
|
/* @__PURE__ */ jsx77("span", { className: "ss-g-hl-prompt-q", children: t.whoHadMore }),
|
|
@@ -8077,7 +8086,7 @@ function CrestShield({ src, name, size = 28 }) {
|
|
|
8077
8086
|
}
|
|
8078
8087
|
|
|
8079
8088
|
// src/components/games/CareerPathGame.tsx
|
|
8080
|
-
import { Fragment as
|
|
8089
|
+
import { Fragment as Fragment15, jsx as jsx79, jsxs as jsxs68 } from "react/jsx-runtime";
|
|
8081
8090
|
function parseClientState3(json) {
|
|
8082
8091
|
if (!json) return null;
|
|
8083
8092
|
try {
|
|
@@ -8157,7 +8166,7 @@ function CareerPathGame({
|
|
|
8157
8166
|
/* @__PURE__ */ jsx79("span", { className: "ss-g-cp-club", children: spell.clubName }),
|
|
8158
8167
|
/* @__PURE__ */ jsxs68("span", { className: "ss-g-cp-sub", children: [
|
|
8159
8168
|
/* @__PURE__ */ jsx79("span", { className: "ss-g-cp-years", children: years }),
|
|
8160
|
-
spell.isLoan && /* @__PURE__ */ jsxs68(
|
|
8169
|
+
spell.isLoan && /* @__PURE__ */ jsxs68(Fragment15, { children: [
|
|
8161
8170
|
years ? " \xB7 " : "",
|
|
8162
8171
|
/* @__PURE__ */ jsx79("span", { className: "ss-g-cp-loan", children: s.loan })
|
|
8163
8172
|
] })
|
|
@@ -8217,7 +8226,7 @@ function OptionList({ label, options, onPick }) {
|
|
|
8217
8226
|
}
|
|
8218
8227
|
|
|
8219
8228
|
// src/components/games/BeatTheGridGame.tsx
|
|
8220
|
-
import { Fragment as
|
|
8229
|
+
import { Fragment as Fragment16, jsx as jsx81, jsxs as jsxs69 } from "react/jsx-runtime";
|
|
8221
8230
|
function criterionIconKind(label, key) {
|
|
8222
8231
|
const l = (key ?? label).toLowerCase();
|
|
8223
8232
|
if (l.includes("app")) return "calendar";
|
|
@@ -8260,7 +8269,7 @@ function HeaderVisual({ label, textKey: iKey, meta }) {
|
|
|
8260
8269
|
case "country":
|
|
8261
8270
|
return /* @__PURE__ */ jsx81("span", { className: "ss-g-btg-hdr-flag", "aria-hidden": "true", children: nationalityFlag(meta.country ?? label) });
|
|
8262
8271
|
case "position":
|
|
8263
|
-
return /* @__PURE__ */ jsx81(
|
|
8272
|
+
return /* @__PURE__ */ jsx81(Fragment16, {});
|
|
8264
8273
|
default:
|
|
8265
8274
|
return /* @__PURE__ */ jsx81(CriterionIcon, { kind: criterionIconKind(label, iKey) });
|
|
8266
8275
|
}
|
|
@@ -8323,7 +8332,7 @@ function SearchSheet({
|
|
|
8323
8332
|
}
|
|
8324
8333
|
)
|
|
8325
8334
|
] }),
|
|
8326
|
-
playerPool.length === 0 ? /* @__PURE__ */ jsx81("div", { className: "ss-g-btg-sheet-empty", children: s.emptyPool }) : /* @__PURE__ */ jsxs69(
|
|
8335
|
+
playerPool.length === 0 ? /* @__PURE__ */ jsx81("div", { className: "ss-g-btg-sheet-empty", children: s.emptyPool }) : /* @__PURE__ */ jsxs69(Fragment16, { children: [
|
|
8327
8336
|
/* @__PURE__ */ jsx81(
|
|
8328
8337
|
SearchField,
|
|
8329
8338
|
{
|
|
@@ -8342,7 +8351,7 @@ function SearchSheet({
|
|
|
8342
8351
|
label: s.searchLabel(rowLabel, colLabel),
|
|
8343
8352
|
options: filtered.map((p) => ({
|
|
8344
8353
|
key: p.id,
|
|
8345
|
-
content: /* @__PURE__ */ jsxs69(
|
|
8354
|
+
content: /* @__PURE__ */ jsxs69(Fragment16, { children: [
|
|
8346
8355
|
/* @__PURE__ */ jsx81(PlayerAvatar, { name: p.name, imagePath: p.imagePath, className: "ss-g-opt-av" }),
|
|
8347
8356
|
/* @__PURE__ */ jsx81("span", { className: "ss-g-btg-result-name", children: p.name }),
|
|
8348
8357
|
/* @__PURE__ */ jsx81("span", { className: "ss-g-btg-result-plus", "aria-hidden": "true", children: /* @__PURE__ */ jsx81(IconPlus, { size: 18 }) })
|
|
@@ -8432,10 +8441,10 @@ function BeatTheGridGame({
|
|
|
8432
8441
|
rows.map((rowLabel, rowIdx) => {
|
|
8433
8442
|
const rowMeta = config.rowsMeta?.[rowIdx];
|
|
8434
8443
|
const abbr = rowAbbrev(rowLabel, s.rowAbbrev, config.rowsI18n?.[rowIdx]?.key);
|
|
8435
|
-
const rowHeaderContent = rowMeta ? /* @__PURE__ */ jsxs69(
|
|
8444
|
+
const rowHeaderContent = rowMeta ? /* @__PURE__ */ jsxs69(Fragment16, { children: [
|
|
8436
8445
|
/* @__PURE__ */ jsx81(HeaderVisual, { label: rowLabel, textKey: config.rowsI18n?.[rowIdx]?.key, meta: rowMeta }),
|
|
8437
8446
|
/* @__PURE__ */ jsx81("span", { children: rowLabel })
|
|
8438
|
-
] }) : abbr === rowLabel ? /* @__PURE__ */ jsx81("span", { children: rowLabel }) : /* @__PURE__ */ jsxs69(
|
|
8447
|
+
] }) : abbr === rowLabel ? /* @__PURE__ */ jsx81("span", { children: rowLabel }) : /* @__PURE__ */ jsxs69(Fragment16, { children: [
|
|
8439
8448
|
/* @__PURE__ */ jsx81("span", { "aria-hidden": "true", children: abbr }),
|
|
8440
8449
|
/* @__PURE__ */ jsx81("span", { className: "ss-g-sr", children: rowLabel })
|
|
8441
8450
|
] });
|
|
@@ -8456,7 +8465,7 @@ function BeatTheGridGame({
|
|
|
8456
8465
|
className: "ss-g-btg-cell",
|
|
8457
8466
|
disabled: isLocked2 || submitting,
|
|
8458
8467
|
onClick: () => handleCellClick(rowIdx, colIdx),
|
|
8459
|
-
children: filled ? /* @__PURE__ */ jsxs69(
|
|
8468
|
+
children: filled ? /* @__PURE__ */ jsxs69(Fragment16, { children: [
|
|
8460
8469
|
/* @__PURE__ */ jsx81(
|
|
8461
8470
|
"span",
|
|
8462
8471
|
{
|
|
@@ -8523,16 +8532,16 @@ function BeatTheGridGame({
|
|
|
8523
8532
|
import { useState as useState42, useId as useId6 } from "react";
|
|
8524
8533
|
|
|
8525
8534
|
// src/components/games/ui/PitchSvg.tsx
|
|
8526
|
-
import { Fragment as
|
|
8535
|
+
import { Fragment as Fragment17, jsx as jsx82, jsxs as jsxs70 } from "react/jsx-runtime";
|
|
8527
8536
|
function PitchSvg({ variant }) {
|
|
8528
8537
|
return /* @__PURE__ */ jsxs70("svg", { className: "ss-g-pitch-svg", viewBox: variant === "full" ? "0 0 100 150" : "0 0 100 100", preserveAspectRatio: "none", "aria-hidden": "true", children: [
|
|
8529
8538
|
/* @__PURE__ */ jsx82("rect", { x: "4", y: "4", width: "92", height: variant === "full" ? 142 : 92, fill: "none" }),
|
|
8530
|
-
variant === "full" ? /* @__PURE__ */ jsxs70(
|
|
8539
|
+
variant === "full" ? /* @__PURE__ */ jsxs70(Fragment17, { children: [
|
|
8531
8540
|
/* @__PURE__ */ jsx82("line", { x1: "4", y1: "75", x2: "96", y2: "75" }),
|
|
8532
8541
|
/* @__PURE__ */ jsx82("circle", { cx: "50", cy: "75", r: "12", fill: "none" }),
|
|
8533
8542
|
/* @__PURE__ */ jsx82("rect", { x: "26", y: "4", width: "48", height: "20", fill: "none" }),
|
|
8534
8543
|
/* @__PURE__ */ jsx82("rect", { x: "26", y: "126", width: "48", height: "20", fill: "none" })
|
|
8535
|
-
] }) : /* @__PURE__ */ jsxs70(
|
|
8544
|
+
] }) : /* @__PURE__ */ jsxs70(Fragment17, { children: [
|
|
8536
8545
|
/* @__PURE__ */ jsx82("path", { d: "M38 4a12 12 0 0 0 24 0", fill: "none" }),
|
|
8537
8546
|
/* @__PURE__ */ jsx82("rect", { x: "26", y: "76", width: "48", height: "20", fill: "none" })
|
|
8538
8547
|
] })
|
|
@@ -8590,7 +8599,7 @@ function positionsBySlot(formation, rowsAttackFirst) {
|
|
|
8590
8599
|
}
|
|
8591
8600
|
|
|
8592
8601
|
// src/components/games/GuessTheXiGame.tsx
|
|
8593
|
-
import { Fragment as
|
|
8602
|
+
import { Fragment as Fragment18, jsx as jsx83, jsxs as jsxs71 } from "react/jsx-runtime";
|
|
8594
8603
|
var MAX_GUESSES2 = 3;
|
|
8595
8604
|
function parseClientState5(json) {
|
|
8596
8605
|
if (!json) return null;
|
|
@@ -8652,7 +8661,7 @@ function GuessTheXiGame({
|
|
|
8652
8661
|
}
|
|
8653
8662
|
),
|
|
8654
8663
|
!config && /* @__PURE__ */ jsx83("div", { className: "ss-g-body ss-g-loading", children: ui.games.loading }),
|
|
8655
|
-
config && /* @__PURE__ */ jsxs71(
|
|
8664
|
+
config && /* @__PURE__ */ jsxs71(Fragment18, { children: [
|
|
8656
8665
|
/* @__PURE__ */ jsxs71("div", { className: "ss-g-body", children: [
|
|
8657
8666
|
!isOver && /* @__PURE__ */ jsx83(PointsLadderRow, { ladder: config.pointsLadder, guessesUsed: clientState?.guessHistory.length ?? 0, ui }),
|
|
8658
8667
|
rows.length > 0 && /* @__PURE__ */ jsxs71("div", { className: "ss-g-gxi-pitch", role: "group", "aria-label": t.pitchLabel, children: [
|
|
@@ -8701,7 +8710,7 @@ function GuessTheXiGame({
|
|
|
8701
8710
|
] }, g.teamId);
|
|
8702
8711
|
})
|
|
8703
8712
|
] }),
|
|
8704
|
-
isOver && /* @__PURE__ */ jsxs71(
|
|
8713
|
+
isOver && /* @__PURE__ */ jsxs71(Fragment18, { children: [
|
|
8705
8714
|
/* @__PURE__ */ jsx83(
|
|
8706
8715
|
ResultCard,
|
|
8707
8716
|
{
|
|
@@ -8727,7 +8736,7 @@ function GuessTheXiGame({
|
|
|
8727
8736
|
label: t.optionsLabel,
|
|
8728
8737
|
options: filtered.map((tm) => ({
|
|
8729
8738
|
key: tm.teamId,
|
|
8730
|
-
content: /* @__PURE__ */ jsxs71(
|
|
8739
|
+
content: /* @__PURE__ */ jsxs71(Fragment18, { children: [
|
|
8731
8740
|
/* @__PURE__ */ jsx83(CrestShield, { src: tm.crestUrl, name: tm.teamName, size: 28 }),
|
|
8732
8741
|
/* @__PURE__ */ jsx83("span", { children: tm.teamName })
|
|
8733
8742
|
] })
|
|
@@ -8753,7 +8762,7 @@ function GuessTheXiGame({
|
|
|
8753
8762
|
|
|
8754
8763
|
// src/components/games/DailyQuizGame.tsx
|
|
8755
8764
|
import { useState as useState43 } from "react";
|
|
8756
|
-
import { Fragment as
|
|
8765
|
+
import { Fragment as Fragment19, jsx as jsx84, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
8757
8766
|
function parseClientState6(json) {
|
|
8758
8767
|
if (!json) return null;
|
|
8759
8768
|
try {
|
|
@@ -8872,7 +8881,7 @@ function DailyQuizGame({
|
|
|
8872
8881
|
return /* @__PURE__ */ jsxs72("div", { className: "ss-g-screen", "data-game": "daily-quiz", "data-testid": "game-screen-daily-quiz", children: [
|
|
8873
8882
|
/* @__PURE__ */ jsx84(GameHeader, { title, eyebrow: s.questionOf(page + 1, total), onBack, backLabel: ui.back }),
|
|
8874
8883
|
/* @__PURE__ */ jsx84(SegmentProgress, { segments, ariaLabel: s.progressAria(page + 1, total) }),
|
|
8875
|
-
/* @__PURE__ */ jsx84("div", { className: "ss-g-body", children: current && /* @__PURE__ */ jsxs72(
|
|
8884
|
+
/* @__PURE__ */ jsx84("div", { className: "ss-g-body", children: current && /* @__PURE__ */ jsxs72(Fragment19, { children: [
|
|
8876
8885
|
/* @__PURE__ */ jsx84("h3", { className: "ss-g-dq-stem", children: current.stem }),
|
|
8877
8886
|
/* @__PURE__ */ jsx84("div", { className: "ss-g-dq-opts", children: current.options.map((opt, optIdx) => {
|
|
8878
8887
|
const selected = optIdx === selectedIdx;
|
|
@@ -9173,7 +9182,7 @@ function MatchdayPredictorGame({
|
|
|
9173
9182
|
|
|
9174
9183
|
// src/components/games/StartingXiGame.tsx
|
|
9175
9184
|
import { useId as useId8, useState as useState45 } from "react";
|
|
9176
|
-
import { Fragment as
|
|
9185
|
+
import { Fragment as Fragment20, jsx as jsx86, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
9177
9186
|
var POINTS_PER_STARTER = 8;
|
|
9178
9187
|
var XI_SIZE = 11;
|
|
9179
9188
|
var DEFAULT_FORMATION = "4-3-3";
|
|
@@ -9322,11 +9331,11 @@ function StartingXiGame({
|
|
|
9322
9331
|
})
|
|
9323
9332
|
] }),
|
|
9324
9333
|
/* @__PURE__ */ jsxs74("div", { className: "ss-g-xi-picker", children: [
|
|
9325
|
-
/* @__PURE__ */ jsx86("div", { className: "ss-g-xi-picker-head", children: activeSlot ? /* @__PURE__ */ jsxs74(
|
|
9334
|
+
/* @__PURE__ */ jsx86("div", { className: "ss-g-xi-picker-head", children: activeSlot ? /* @__PURE__ */ jsxs74(Fragment20, { children: [
|
|
9326
9335
|
/* @__PURE__ */ jsx86(Chip, { variant: "badge", children: activeSlot.label }),
|
|
9327
9336
|
/* @__PURE__ */ jsx86("strong", { children: t.pickFor(activeSlot.label) })
|
|
9328
9337
|
] }) : /* @__PURE__ */ jsx86("strong", { children: t.allPicked }) }),
|
|
9329
|
-
activeSlot && /* @__PURE__ */ jsxs74(
|
|
9338
|
+
activeSlot && /* @__PURE__ */ jsxs74(Fragment20, { children: [
|
|
9330
9339
|
/* @__PURE__ */ jsx86(
|
|
9331
9340
|
SearchField,
|
|
9332
9341
|
{
|
|
@@ -9824,7 +9833,7 @@ function LeaderboardEmpty({
|
|
|
9824
9833
|
}
|
|
9825
9834
|
|
|
9826
9835
|
// src/components/Leaderboard.tsx
|
|
9827
|
-
import { Fragment as
|
|
9836
|
+
import { Fragment as Fragment21, jsx as jsx92, jsxs as jsxs79 } from "react/jsx-runtime";
|
|
9828
9837
|
function Leaderboard({
|
|
9829
9838
|
data,
|
|
9830
9839
|
ui,
|
|
@@ -9866,7 +9875,7 @@ function Leaderboard({
|
|
|
9866
9875
|
onPlay,
|
|
9867
9876
|
ui
|
|
9868
9877
|
}
|
|
9869
|
-
) : /* @__PURE__ */ jsxs79(
|
|
9878
|
+
) : /* @__PURE__ */ jsxs79(Fragment21, { children: [
|
|
9870
9879
|
/* @__PURE__ */ jsx92("div", { className: "ss-w-lb2-rows", children: segment === "weekly" ? data.weeklyTop.map((row) => /* @__PURE__ */ jsx92(
|
|
9871
9880
|
LeaderboardWeeklyRow,
|
|
9872
9881
|
{
|
|
@@ -10190,7 +10199,7 @@ function SquadStats({ stats, loading, ui, onSelectPlayer }) {
|
|
|
10190
10199
|
}
|
|
10191
10200
|
|
|
10192
10201
|
// src/components/Squad.tsx
|
|
10193
|
-
import { Fragment as
|
|
10202
|
+
import { Fragment as Fragment22, jsx as jsx98, jsxs as jsxs84 } from "react/jsx-runtime";
|
|
10194
10203
|
function Squad({ squad, loading, ui, view, onToggleView, stats, statsLoading, seasonName = null, competitionName = null, matchesPlayed = null, onSelectPlayer }) {
|
|
10195
10204
|
const eyebrow = view === "stats" ? statsEyebrow(ui, seasonName, competitionName, matchesPlayed) : null;
|
|
10196
10205
|
const toggle = /* @__PURE__ */ jsxs84("div", { className: "ss-w-sq-bar", children: [
|
|
@@ -10210,20 +10219,20 @@ function Squad({ squad, loading, ui, view, onToggleView, stats, statsLoading, se
|
|
|
10210
10219
|
)) })
|
|
10211
10220
|
] });
|
|
10212
10221
|
if (view === "stats") {
|
|
10213
|
-
return /* @__PURE__ */ jsxs84(
|
|
10222
|
+
return /* @__PURE__ */ jsxs84(Fragment22, { children: [
|
|
10214
10223
|
toggle,
|
|
10215
10224
|
/* @__PURE__ */ jsx98(SquadStats, { stats, loading: statsLoading, ui, onSelectPlayer })
|
|
10216
10225
|
] });
|
|
10217
10226
|
}
|
|
10218
|
-
if (squad === null && loading) return /* @__PURE__ */ jsxs84(
|
|
10227
|
+
if (squad === null && loading) return /* @__PURE__ */ jsxs84(Fragment22, { children: [
|
|
10219
10228
|
toggle,
|
|
10220
10229
|
/* @__PURE__ */ jsx98("div", { className: "ss-w-mon-list" })
|
|
10221
10230
|
] });
|
|
10222
|
-
if (squad === null || squad.length === 0) return /* @__PURE__ */ jsxs84(
|
|
10231
|
+
if (squad === null || squad.length === 0) return /* @__PURE__ */ jsxs84(Fragment22, { children: [
|
|
10223
10232
|
toggle,
|
|
10224
10233
|
/* @__PURE__ */ jsx98("div", { className: "ss-w-mon-empty", children: ui.clubSquadEmpty })
|
|
10225
10234
|
] });
|
|
10226
|
-
return /* @__PURE__ */ jsxs84(
|
|
10235
|
+
return /* @__PURE__ */ jsxs84(Fragment22, { children: [
|
|
10227
10236
|
toggle,
|
|
10228
10237
|
/* @__PURE__ */ jsx98("div", { className: "ss-w-mon-list", children: groupByPosition(squad).map((group, gi) => /* @__PURE__ */ jsxs84("div", { children: [
|
|
10229
10238
|
group.positionName && /* @__PURE__ */ jsx98("div", { className: "ss-w-club-eyebrow", children: positionLabel(ui, group.positionName) }),
|
|
@@ -10353,7 +10362,7 @@ function PerformanceBars({ performance, competitionName, strings }) {
|
|
|
10353
10362
|
}
|
|
10354
10363
|
|
|
10355
10364
|
// src/components/PlayerDetail.tsx
|
|
10356
|
-
import { Fragment as
|
|
10365
|
+
import { Fragment as Fragment23, jsx as jsx102, jsxs as jsxs86 } from "react/jsx-runtime";
|
|
10357
10366
|
var DASH = "\u2014";
|
|
10358
10367
|
function ageFrom(dobMs) {
|
|
10359
10368
|
if (dobMs === null) return DASH;
|
|
@@ -10433,10 +10442,10 @@ function PlayerDetail({ detail, loading, ui, seasonName, onClose }) {
|
|
|
10433
10442
|
ui.clubPlayerBack
|
|
10434
10443
|
] });
|
|
10435
10444
|
if (detail === null) {
|
|
10436
|
-
return loading ? /* @__PURE__ */ jsxs86(
|
|
10445
|
+
return loading ? /* @__PURE__ */ jsxs86(Fragment23, { children: [
|
|
10437
10446
|
/* @__PURE__ */ jsx102("div", { className: "ss-w-pd-bar", children: back }),
|
|
10438
10447
|
/* @__PURE__ */ jsx102("div", { className: "ss-w-mon-list" })
|
|
10439
|
-
] }) : /* @__PURE__ */ jsxs86(
|
|
10448
|
+
] }) : /* @__PURE__ */ jsxs86(Fragment23, { children: [
|
|
10440
10449
|
/* @__PURE__ */ jsx102("div", { className: "ss-w-pd-bar", children: back }),
|
|
10441
10450
|
/* @__PURE__ */ jsx102("div", { className: "ss-w-mon-empty", children: ui.clubPlayerDetailEmpty })
|
|
10442
10451
|
] });
|
|
@@ -10451,7 +10460,7 @@ function PlayerDetail({ detail, loading, ui, seasonName, onClose }) {
|
|
|
10451
10460
|
const next = detail.nextFixture ?? null;
|
|
10452
10461
|
const availability = detail.availability ?? null;
|
|
10453
10462
|
const log = detail.matchLog ?? [];
|
|
10454
|
-
return /* @__PURE__ */ jsxs86(
|
|
10463
|
+
return /* @__PURE__ */ jsxs86(Fragment23, { children: [
|
|
10455
10464
|
/* @__PURE__ */ jsx102("div", { className: "ss-w-pd-bar", children: back }),
|
|
10456
10465
|
/* @__PURE__ */ jsxs86("div", { className: "ss-w-mon-list ss-w-pd-list", children: [
|
|
10457
10466
|
/* @__PURE__ */ jsxs86("div", { className: "ss-w-pd-card ss-w-pd-profile", children: [
|
|
@@ -10529,8 +10538,8 @@ function PresetSpeedDial({ expanded, showDot, strings, onToggle, onOpen, rootRef
|
|
|
10529
10538
|
}
|
|
10530
10539
|
|
|
10531
10540
|
// src/components/PresetTools.tsx
|
|
10532
|
-
import { Fragment as
|
|
10533
|
-
import { Fragment as
|
|
10541
|
+
import { Fragment as Fragment24, useEffect as useEffect31, useId as useId11, useRef as useRef28, useState as useState52 } from "react";
|
|
10542
|
+
import { Fragment as Fragment25, jsx as jsx104, jsxs as jsxs88 } from "react/jsx-runtime";
|
|
10534
10543
|
var FOCUSABLE = 'button:not([disabled]), [href], input:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
10535
10544
|
function PresetToolModal({ title, closeLabel, onClose, children, footer }) {
|
|
10536
10545
|
const dialogRef = useRef28(null);
|
|
@@ -10580,7 +10589,7 @@ function PresetToolModal({ title, closeLabel, onClose, children, footer }) {
|
|
|
10580
10589
|
function fillTemplate(template, slots) {
|
|
10581
10590
|
return template.split(/(\{[a-z]+\})/).filter((part) => part !== "").map((part, i) => {
|
|
10582
10591
|
const key = /^\{([a-z]+)\}$/.exec(part)?.[1];
|
|
10583
|
-
return /* @__PURE__ */ jsx104(
|
|
10592
|
+
return /* @__PURE__ */ jsx104(Fragment24, { children: key !== void 0 && key in slots ? slots[key] : part }, i);
|
|
10584
10593
|
});
|
|
10585
10594
|
}
|
|
10586
10595
|
function NumberSelect({ current, choices: choices2, label, notToday, lockEmpty = true, onChoose }) {
|
|
@@ -10621,7 +10630,7 @@ function PickList({ picks, formatKickoff }) {
|
|
|
10621
10630
|
] }, p.matchOddsId)) });
|
|
10622
10631
|
}
|
|
10623
10632
|
function ComboPreview({ cell, formatKickoff }) {
|
|
10624
|
-
return /* @__PURE__ */ jsxs88(
|
|
10633
|
+
return /* @__PURE__ */ jsxs88(Fragment25, { children: [
|
|
10625
10634
|
/* @__PURE__ */ jsx104(PickList, { picks: cell.combo.legs, formatKickoff }),
|
|
10626
10635
|
/* @__PURE__ */ jsx104("div", { className: "ss-w-tool-math", children: cell.combo.multiplication })
|
|
10627
10636
|
] });
|
|
@@ -10919,7 +10928,7 @@ function markToolSeen() {
|
|
|
10919
10928
|
}
|
|
10920
10929
|
|
|
10921
10930
|
// src/components/ChatPanel.tsx
|
|
10922
|
-
import { Fragment as
|
|
10931
|
+
import { Fragment as Fragment26, jsx as jsx105, jsxs as jsxs89 } from "react/jsx-runtime";
|
|
10923
10932
|
var FULLSCREEN_QUERY = "(max-width: 639px)";
|
|
10924
10933
|
function useIsModal() {
|
|
10925
10934
|
const [modal, setModal] = useState54(false);
|
|
@@ -11098,7 +11107,7 @@ function ChatPanel({ controller, ui, slip, onDashboardTap, monitor, discovery, g
|
|
|
11098
11107
|
monitor && monitor.activeTab === "odds" && /* @__PURE__ */ jsx105(OddsPanel, { monitor, ui, slip }),
|
|
11099
11108
|
monitor && monitor.activeTab === "fixtures" && /* @__PURE__ */ jsx105(Fixtures, { fixtures: clubFixturesResult?.fixtures ?? [], loading: clubFixturesResult?.loading ?? false, ui }),
|
|
11100
11109
|
monitor && monitor.activeTab === "standings" && /* @__PURE__ */ jsx105(Standings, { standings: clubStandingsResult?.data ?? null, loading: clubStandingsResult?.loading ?? false, ui }),
|
|
11101
|
-
monitor && monitor.activeTab === "squad" && /* @__PURE__ */ jsxs89(
|
|
11110
|
+
monitor && monitor.activeTab === "squad" && /* @__PURE__ */ jsxs89(Fragment26, { children: [
|
|
11102
11111
|
/* @__PURE__ */ jsx105(
|
|
11103
11112
|
"div",
|
|
11104
11113
|
{
|
|
@@ -11140,7 +11149,7 @@ function ChatPanel({ controller, ui, slip, onDashboardTap, monitor, discovery, g
|
|
|
11140
11149
|
}
|
|
11141
11150
|
}
|
|
11142
11151
|
),
|
|
11143
|
-
(!monitor || monitor.activeTab !== "games") && /* @__PURE__ */ jsxs89(
|
|
11152
|
+
(!monitor || monitor.activeTab !== "games") && /* @__PURE__ */ jsxs89(Fragment26, { children: [
|
|
11144
11153
|
/* @__PURE__ */ jsx105("div", { ref: limitRef, className: "ss-w-limit", role: "status", tabIndex: -1, children: state.limit ? limitText(state.limit, ui) : null }),
|
|
11145
11154
|
paused ? null : /* @__PURE__ */ jsx105(
|
|
11146
11155
|
ChatInput,
|
|
@@ -12172,8 +12181,13 @@ var WIDGET_CSS = `.ss-w-root { all: revert; }
|
|
|
12172
12181
|
.ss-w-fandash-live-team-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; font-weight: 700; line-height: 1.15; color: var(--ss-w-ink); }
|
|
12173
12182
|
.ss-w-fandash-live-score-main { display: flex; align-items: baseline; justify-content: center; font-size: 36px; font-weight: 850; font-variant-numeric: tabular-nums; line-height: 1; white-space: nowrap; color: var(--ss-w-ink); }
|
|
12174
12183
|
.ss-w-fandash-live-score-sep { color: var(--ss-w-faint); font-weight: 500; margin: 0 5px; }
|
|
12175
|
-
.ss-w-fandash-live-scorers { margin-top: 12px; display: flex; justify-content:
|
|
12176
|
-
.ss-w-fandash-live-scorers
|
|
12184
|
+
.ss-w-fandash-live-scorers-row { margin-top: 12px; display: flex; justify-content: space-between; gap: 10px; }
|
|
12185
|
+
.ss-w-fandash-live-scorers { display: flex; align-items: center; gap: 7px; min-width: 0; font-size: 12.5px; color: var(--ss-w-faint); overflow-wrap: anywhere; }
|
|
12186
|
+
.ss-w-fandash-live-scorers--home { justify-content: flex-start; }
|
|
12187
|
+
.ss-w-fandash-live-scorers--away { justify-content: flex-end; }
|
|
12188
|
+
.ss-w-fandash-live-scorers--home .ss-w-fandash-live-scorers-icon { color: var(--ss-w-home); }
|
|
12189
|
+
.ss-w-fandash-live-scorers--away .ss-w-fandash-live-scorers-icon { color: var(--ss-w-away); }
|
|
12190
|
+
.ss-w-fandash-live-scorers-icon { flex: none; }
|
|
12177
12191
|
|
|
12178
12192
|
/* live timeline: a compact two-sided event list down a centre spine -- each club's events sit on
|
|
12179
12193
|
its own side (home left, away right), most-recent 3 shown with a "See more" toggle for the
|