- {FLOWER_IMAGE_LIST.map((item) => {
- const selectionMeta = selectionByCell[item.id]
- const hasPlacedSelection = Boolean(selectionMeta)
- const isMarqueeActive = showStandbyState && item.id === marqueeId
- const isRevealWinner =
- !shouldHideRevealHighlight &&
- (isRevealResult || isRevealHoldingResult) &&
- revealWinningCellId === item.id
- const warningType =
- cellWarning?.cellId === item.id ? cellWarning.type : null
- const showCellWarning = warningType !== null
- const warningLabel =
- warningType === 'balance'
- ? t('gameDesktop.animal.insufficientBalanceRecharge')
- : warningType === 'betLimit'
- ? t('gameDesktop.animal.betLimitExceeded')
- : t('gameDesktop.animal.selectionLimitReached')
+
+
+ {FLOWER_IMAGE_LIST.map((item) => {
+ const selectionMeta = selectionByCell[item.id]
+ const hasPlacedSelection = Boolean(selectionMeta)
+ const isMarqueeActive = showStandbyState && item.id === marqueeId
+ const isRevealWinner =
+ !shouldHideRevealHighlight &&
+ (isRevealResult || isRevealHoldingResult) &&
+ revealWinningCellId === item.id
+ const warningType =
+ cellWarning?.cellId === item.id ? cellWarning.type : null
+ const showCellWarning = warningType !== null
+ const warningLabel =
+ warningType === 'balance'
+ ? t('gameDesktop.animal.insufficientBalanceRecharge')
+ : warningType === 'betLimit'
+ ? t('gameDesktop.animal.betLimitExceeded')
+ : t('gameDesktop.animal.selectionLimitReached')
- return (
- {
- if (node) {
- cellRefs.current.set(item.id, node)
- } else {
- cellRefs.current.delete(item.id)
- }
- }}
- type="button"
- disabled={lockInteraction || showStopOverlay}
- onClick={() => handleSelect(item.id)}
- animate={
- showCellWarning
- ? {
- rotate: [0, -1.8, 1.4, -1, 0.6, 0],
- scale: [1, 1.015, 0.992, 1.01, 1],
- x: [0, -2, 2, -1, 1, 0],
- }
- : {
- rotate: 0,
- scale: 1,
- x: 0,
- }
- }
- transition={
- showCellWarning
- ? {
- duration: 0.46,
- ease: 'easeInOut',
- }
- : { duration: 0.16, ease: 'easeOut' }
- }
- className={cn(
- 'relative flex h-design-36 flex-col items-center justify-center overflow-hidden rounded-[calc(var(--design-unit)*6)] border border-transparent transition-[transform,border-color,box-shadow,opacity] duration-150',
- lockInteraction
- ? 'cursor-not-allowed opacity-90'
- : 'cursor-pointer hover:-translate-y-[1px]',
- isMarqueeActive &&
- 'border-[rgba(121,255,250,1)] shadow-[0_0_calc(var(--design-unit)*18)_rgba(85,255,247,0.98),0_0_calc(var(--design-unit)*34)_rgba(39,245,255,0.88),inset_0_0_calc(var(--design-unit)*26)_rgba(112,255,248,0.34)]',
- isRevealRunning &&
- 'border-[rgba(104,255,249,0.76)] shadow-[0_0_calc(var(--design-unit)*10)_rgba(68,244,255,0.46),0_0_calc(var(--design-unit)*22)_rgba(37,214,255,0.28),inset_0_0_calc(var(--design-unit)*16)_rgba(115,255,247,0.18)] brightness-115 saturate-125',
- isRevealWinner &&
- 'border-[rgba(121,255,250,0.72)] shadow-[0_0_calc(var(--design-unit)*12)_rgba(81,248,255,0.54),0_0_calc(var(--design-unit)*22)_rgba(30,199,255,0.32),inset_0_0_calc(var(--design-unit)*18)_rgba(125,255,249,0.24)] brightness-110 saturate-120',
- showCellWarning &&
- 'border-[rgba(255,92,92,1)] shadow-[0_0_calc(var(--design-unit)*18)_rgba(255,88,88,0.56),0_0_calc(var(--design-unit)*28)_rgba(255,44,44,0.32),inset_0_0_calc(var(--design-unit)*18)_rgba(255,126,126,0.3)]',
- !showStandbyState && !hasPlacedSelection && 'opacity-95',
- itemClassName,
- )}
- >
-
-
- {String(item.id).padStart(2, '0')}
-
- {
+ if (node) {
+ cellRefs.current.set(item.id, node)
+ } else {
+ cellRefs.current.delete(item.id)
+ }
+ }}
+ type="button"
+ disabled={lockInteraction || showStopOverlay}
+ onClick={() => handleSelect(item.id)}
animate={
showCellWarning
? {
- opacity: [0.45, 1, 0.6, 1, 0.82],
+ rotate: [0, -1.8, 1.4, -1, 0.6, 0],
+ scale: [1, 1.015, 0.992, 1.01, 1],
+ x: [0, -2, 2, -1, 1, 0],
+ }
+ : {
+ rotate: 0,
+ scale: 1,
+ x: 0,
}
- : undefined
}
transition={
showCellWarning
? {
- duration: 0.52,
+ duration: 0.46,
ease: 'easeInOut',
}
- : undefined
+ : { duration: 0.16, ease: 'easeOut' }
}
className={cn(
- 'pointer-events-none absolute inset-[calc(var(--design-unit)*1)] rounded-[calc(var(--design-unit)*6)] opacity-0 transition-opacity duration-150',
+ 'relative flex h-design-36 flex-col items-center justify-center overflow-hidden rounded-[calc(var(--design-unit)*6)] border border-transparent transition-[transform,border-color,box-shadow,opacity] duration-150',
+ lockInteraction
+ ? 'cursor-not-allowed opacity-90'
+ : 'cursor-pointer hover:-translate-y-[1px]',
isMarqueeActive &&
- 'bg-[radial-gradient(circle_at_center,rgba(129,255,250,0.48)_0%,rgba(94,255,247,0.18)_38%,rgba(43,236,255,0.08)_56%,transparent_76%)] opacity-100 shadow-[0_0_calc(var(--design-unit)*12)_rgba(119,255,249,0.98),0_0_calc(var(--design-unit)*28)_rgba(53,246,255,0.9),0_0_calc(var(--design-unit)*44)_rgba(37,241,255,0.58),inset_0_0_calc(var(--design-unit)*20)_rgba(163,255,250,0.52)]',
+ 'border-[rgba(121,255,250,1)] shadow-[0_0_calc(var(--design-unit)*18)_rgba(85,255,247,0.98),0_0_calc(var(--design-unit)*34)_rgba(39,245,255,0.88),inset_0_0_calc(var(--design-unit)*26)_rgba(112,255,248,0.34)]',
isRevealRunning &&
- 'bg-[radial-gradient(circle_at_center,rgba(128,255,250,0.36)_0%,rgba(77,244,255,0.16)_40%,rgba(27,183,255,0.07)_68%,transparent_88%)] opacity-100 shadow-[0_0_calc(var(--design-unit)*12)_rgba(95,249,255,0.46),inset_0_0_calc(var(--design-unit)*18)_rgba(151,255,250,0.24)]',
+ 'border-[rgba(104,255,249,0.76)] shadow-[0_0_calc(var(--design-unit)*10)_rgba(68,244,255,0.46),0_0_calc(var(--design-unit)*22)_rgba(37,214,255,0.28),inset_0_0_calc(var(--design-unit)*16)_rgba(115,255,247,0.18)] brightness-115 saturate-125',
isRevealWinner &&
- 'bg-[radial-gradient(circle_at_center,rgba(128,255,250,0.34)_0%,rgba(67,226,255,0.16)_38%,rgba(25,131,255,0.07)_58%,transparent_76%)] opacity-100 shadow-[0_0_calc(var(--design-unit)*12)_rgba(92,248,255,0.42),inset_0_0_calc(var(--design-unit)*18)_rgba(126,255,250,0.24)]',
+ 'border-[rgba(121,255,250,0.72)] shadow-[0_0_calc(var(--design-unit)*12)_rgba(81,248,255,0.54),0_0_calc(var(--design-unit)*22)_rgba(30,199,255,0.32),inset_0_0_calc(var(--design-unit)*18)_rgba(125,255,249,0.24)] brightness-110 saturate-120',
showCellWarning &&
- 'bg-[radial-gradient(circle_at_center,rgba(255,106,106,0.34)_0%,rgba(255,58,58,0.18)_42%,rgba(108,0,0,0.2)_78%,transparent_100%)] opacity-100',
+ 'border-[rgba(255,92,92,1)] shadow-[0_0_calc(var(--design-unit)*18)_rgba(255,88,88,0.56),0_0_calc(var(--design-unit)*28)_rgba(255,44,44,0.32),inset_0_0_calc(var(--design-unit)*18)_rgba(255,126,126,0.3)]',
+ !showStandbyState && !hasPlacedSelection && 'opacity-95',
+ itemClassName,
)}
- />
- {!showStandbyState && !hasPlacedSelection ? (
-
+
- ) : null}
-
- {showCellWarning ? (
+
+ {String(item.id).padStart(2, '0')}
+
+ aria-hidden="true"
+ animate={
+ showCellWarning
+ ? {
+ opacity: [0.45, 1, 0.6, 1, 0.82],
+ }
+ : undefined
+ }
+ transition={
+ showCellWarning
+ ? {
+ duration: 0.52,
+ ease: 'easeInOut',
+ }
+ : undefined
+ }
+ className={cn(
+ 'pointer-events-none absolute inset-[calc(var(--design-unit)*1)] rounded-[calc(var(--design-unit)*6)] opacity-0 transition-opacity duration-150',
+ isMarqueeActive &&
+ 'bg-[radial-gradient(circle_at_center,rgba(129,255,250,0.48)_0%,rgba(94,255,247,0.18)_38%,rgba(43,236,255,0.08)_56%,transparent_76%)] opacity-100 shadow-[0_0_calc(var(--design-unit)*12)_rgba(119,255,249,0.98),0_0_calc(var(--design-unit)*28)_rgba(53,246,255,0.9),0_0_calc(var(--design-unit)*44)_rgba(37,241,255,0.58),inset_0_0_calc(var(--design-unit)*20)_rgba(163,255,250,0.52)]',
+ isRevealRunning &&
+ 'bg-[radial-gradient(circle_at_center,rgba(128,255,250,0.36)_0%,rgba(77,244,255,0.16)_40%,rgba(27,183,255,0.07)_68%,transparent_88%)] opacity-100 shadow-[0_0_calc(var(--design-unit)*12)_rgba(95,249,255,0.46),inset_0_0_calc(var(--design-unit)*18)_rgba(151,255,250,0.24)]',
+ isRevealWinner &&
+ 'bg-[radial-gradient(circle_at_center,rgba(128,255,250,0.34)_0%,rgba(67,226,255,0.16)_38%,rgba(25,131,255,0.07)_58%,transparent_76%)] opacity-100 shadow-[0_0_calc(var(--design-unit)*12)_rgba(92,248,255,0.42),inset_0_0_calc(var(--design-unit)*18)_rgba(126,255,250,0.24)]',
+ showCellWarning &&
+ 'bg-[radial-gradient(circle_at_center,rgba(255,106,106,0.34)_0%,rgba(255,58,58,0.18)_42%,rgba(108,0,0,0.2)_78%,transparent_100%)] opacity-100',
+ )}
+ />
+ {!showStandbyState && !hasPlacedSelection ? (
+
+ ) : null}
+
+ {showCellWarning ? (
-
+
+
+
+
+ {warningLabel}
+
-
- {warningLabel}
-
-
- ) : null}
- {hasPlacedSelection ? (
-
-
-
-
- {selectionMeta.amount}
+ ) : null}
+ {hasPlacedSelection ? (
+
+
+
+
+ {selectionMeta.amount}
+
-
- ) : null}
-
- )
- })}
-
-
- {revealFrame ? (
-
-
-
-
+ ) : null}
+
+ )
+ })}
- ) : null}
-
+ {revealFrame ? (
+
+ ) : null}
+
+
+