@@ -73,28 +73,44 @@ const CustomRouletteGroupList = forwardRef<
7373 return (
7474 < div ref = { ref } className = { styles . container } >
7575 { pointer }
76- { groups . map ( ( group , index ) => (
77- < div
78- key = { index }
79- className = { `${ styles . rouletteWrapper } ${
80- group . isReversed ? styles . reversed : ""
81- } `}
82- style = { {
83- opacity : rouletteOpacities [ index ] ?? 1 ,
84- transition : "opacity 2s ease-out" ,
85- } }
86- onTransitionEnd = { ( ) => handleTransitionEnd ( index ) }
87- >
88- < CustomRoulette
89- prizes = { group . prizes }
90- prizeIndex = { group . prizeIndex }
91- isReversed = { group . isReversed }
92- start = { rouletteStart }
93- spinningTime = { group . hasWinner ? 23 : 20 }
94- onComplete = { ( ) => handleRouletteComplete ( index ) }
95- />
96- </ div >
97- ) ) }
76+ { groups . map ( ( group , index ) => {
77+ // Для невыигрышных рулеток добавляем случайную вариативность
78+ const getSpinningTime = ( ) => {
79+ if ( group . hasWinner ) return 23 ;
80+ // Разное время для каждой невыигрышной рулетки (18-22 сек)
81+ return 18 + ( ( index * 1.7 ) % 4 ) ;
82+ } ;
83+
84+ // Случайное направление для невыигрышных рулеток
85+ const getDirection = ( ) => {
86+ if ( group . hasWinner ) return group . isReversed ;
87+ // Чередуем направления + добавляем вариативность по индексу
88+ return index % 2 === 0 ? ! group . isReversed : group . isReversed ;
89+ } ;
90+
91+ return (
92+ < div
93+ key = { index }
94+ className = { `${ styles . rouletteWrapper } ${
95+ getDirection ( ) ? styles . reversed : ""
96+ } `}
97+ style = { {
98+ opacity : rouletteOpacities [ index ] ?? 1 ,
99+ transition : "opacity 2s ease-out" ,
100+ } }
101+ onTransitionEnd = { ( ) => handleTransitionEnd ( index ) }
102+ >
103+ < CustomRoulette
104+ prizes = { group . prizes }
105+ prizeIndex = { group . prizeIndex }
106+ isReversed = { getDirection ( ) }
107+ start = { rouletteStart }
108+ spinningTime = { getSpinningTime ( ) }
109+ onComplete = { ( ) => handleRouletteComplete ( index ) }
110+ />
111+ </ div >
112+ ) ;
113+ } ) }
98114 </ div >
99115 ) ;
100116 }
0 commit comments