@devrongx/games 0.4.17 → 0.4.19

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devrongx/games",
3
- "version": "0.4.17",
3
+ "version": "0.4.19",
4
4
  "description": "Game UI components for sports prediction markets",
5
5
  "license": "MIT",
6
6
  "main": "./src/index.ts",
@@ -153,7 +153,7 @@ export const PreMatchGame = ({ config, bets, onBetsChange, onOptionClick, onAmou
153
153
  }, [config.markets]);
154
154
 
155
155
  return (
156
- <div className={`w-full flex flex-col gap-3 px-4${marketsOnly ? "" : " relative"}`}>
156
+ <div className={`w-full flex flex-col gap-3 px-4 pb-28${marketsOnly ? "" : " relative"}`}>
157
157
  {!marketsOnly && (
158
158
  <>
159
159
  {/* Match header — edge-to-edge, black bg */}
@@ -113,7 +113,7 @@ const GAME_TYPE_STYLE: Record<number, { icon: typeof Target; color: string; bg:
113
113
  };
114
114
 
115
115
  function PoolPill({ pool, onPress }: { pool: ITDPool; onPress: (pool: ITDPool) => void }) {
116
- const style = GAME_TYPE_STYLE[pool.game_type] ?? { icon: Target, color: "#22E3E8", bg: "rgba(34,227,232,0.06)" };
116
+ const style = GAME_TYPE_STYLE[pool.game_type] ?? { icon: Target, color: "#22E3E8", bg: "rgba(34,227,232,0.06)", label: "Play" };
117
117
  const isClosed = pool.status === TDPoolStatus.CLOSED || pool.status === TDPoolStatus.RESOLVING || pool.status === TDPoolStatus.COMPLETE;
118
118
  const isOpen = pool.status === TDPoolStatus.OPEN;
119
119
 
@@ -131,20 +131,20 @@ function PoolPill({ pool, onPress }: { pool: ITDPool; onPress: (pool: ITDPool) =
131
131
  boxShadow: isOpen ? `0 0 8px ${style.color}18` : undefined,
132
132
  }}
133
133
  >
134
- <span className="text-[10px] font-bold" style={{ ...OUTFIT, color: "#fff" }}>
135
- {pool.display_price}
136
- </span>
137
- {pool.entry_count > 0 && (
138
- <span className="text-[8px] font-medium" style={{ ...OUTFIT, color: "rgba(255,255,255,0.65)" }}>
139
- {pool.entry_count > 999 ? `${(pool.entry_count / 1000).toFixed(1)}k` : pool.entry_count}
140
- </span>
141
- )}
142
134
  {isOpen && (
143
135
  <span className="relative flex h-1.5 w-1.5 shrink-0">
144
136
  <span className="animate-ping absolute inline-flex h-full w-full rounded-full opacity-60" style={{ backgroundColor: style.color }} />
145
137
  <span className="relative inline-flex rounded-full h-1.5 w-1.5" style={{ backgroundColor: style.color }} />
146
138
  </span>
147
139
  )}
140
+ <span className="text-[10px] font-bold tracking-wide" style={{ ...OUTFIT, color: "#fff" }}>
141
+ PLAY
142
+ </span>
143
+ {pool.entry_count > 0 && (
144
+ <span className="text-[8px] font-medium" style={{ ...OUTFIT, color: `${style.color}99` }}>
145
+ {pool.entry_count > 999 ? `${(pool.entry_count / 1000).toFixed(1)}k` : pool.entry_count} in
146
+ </span>
147
+ )}
148
148
  </motion.button>
149
149
  );
150
150
  }
@@ -430,17 +430,6 @@ export function MatchCalendar({ tournamentId, onPoolPress, partnerSource }: Matc
430
430
  }
431
431
  }, [scrollTargetIndex, days]);
432
432
 
433
- // Stage groups
434
- const stageGroups = useMemo(() => {
435
- const stages = new Map<number, { name: string; orderNo: number }>();
436
- for (const m of matches) {
437
- if (m.stage && !stages.has(m.stage.id)) {
438
- stages.set(m.stage.id, { name: m.stage.name, orderNo: m.stage.order_no });
439
- }
440
- }
441
- return Array.from(stages.values()).sort((a, b) => a.orderNo - b.orderNo);
442
- }, [matches]);
443
-
444
433
  const tournament = matches[0]?.tournament;
445
434
 
446
435
  if (isLoading) {
@@ -471,20 +460,8 @@ export function MatchCalendar({ tournamentId, onPoolPress, partnerSource }: Matc
471
460
  </span>
472
461
  )}
473
462
  <span className="text-[11px] text-white" style={OUTFIT}>
474
- {matches.length} matches
463
+ {matches.length} matches announced
475
464
  </span>
476
- {stageGroups.length > 0 && (
477
- <span
478
- className="text-[9px] barlowcondensedBold tracking-widest px-2 py-0.5 rounded-full"
479
- style={{
480
- color: "#22E3E8",
481
- background: "rgba(34,227,232,0.08)",
482
- border: "1px solid rgba(34,227,232,0.15)",
483
- }}
484
- >
485
- {stageGroups[0].name.toUpperCase()}
486
- </span>
487
- )}
488
465
  </div>
489
466
  </div>
490
467
  )}