feat: clic Animer démarre la lecture automatiquement en vitesse ×1
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
- activate() appelle maintenant setSpeed(1) + setPlaying(true) en plus de setActive(true) - L'effet de reset ne stoppe playing que lors d'une désactivation (active=false), pas lors d'une activation, pour ne pas annuler le setPlaying(true) ci-dessus Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -64,10 +64,12 @@ export function useAnimation(transactions: Transaction[], periodDays: number) {
|
||||
|
||||
const frames = useMemo(() => buildFrames(periodDays), [periodDays]);
|
||||
|
||||
// Reset cursor and playback when period or activation changes
|
||||
// Reset cursor when period or activation changes.
|
||||
// Stop playback only on deactivation — not on activation, so activate() can
|
||||
// start playing immediately without being overridden by this effect.
|
||||
useEffect(() => {
|
||||
setCurrentIndex(0);
|
||||
setPlaying(false);
|
||||
if (!active) setPlaying(false);
|
||||
}, [periodDays, active]);
|
||||
|
||||
// Auto-advance: one step every (2000 / speed) ms
|
||||
@@ -95,7 +97,7 @@ export function useAnimation(transactions: Transaction[], periodDays: number) {
|
||||
|
||||
return {
|
||||
active,
|
||||
activate: () => setActive(true),
|
||||
activate: () => { setActive(true); setSpeed(1); setPlaying(true); },
|
||||
deactivate: () => { setActive(false); },
|
||||
playing,
|
||||
play: () => setPlaying(true),
|
||||
|
||||
Reference in New Issue
Block a user