Animation Types
| Transition | Effect | Description |
|---|---|---|
| → In Progress | Amber sparks | 12 glowing particles fly outward with a golden pulse |
| → Testing | Shimmer wave | Purple/amber gradient sweeps across with floating dots |
| → Done | Confetti burst | 24 colorful particles in mixed shapes with a checkmark pop |
| ← Backward | Rewind sweep | Subtle gray sweep in reverse direction |
- A glow pulse matching the target status color
- A card pop scale animation (briefly scales up then settles)
How It Works
The animation system uses a React context (StatusTransitionContext) that tracks recent transitions:
- When
onStatusChangefires,emitStatusTransition(taskId, fromStatus, toStatus)records the transition - Each
TaskCardchecks the context for active transitions - If a transition exists for its task, it renders
StatusTransitionEffectoverlay - Animations auto-clear after 2 seconds
Technical Details
- All effects use pure CSS animations — no external libraries
- Particles are randomly generated
divelements with CSS@keyframes - The confetti uses 8 different colors and mixed shapes (circles + rectangles)
- Performance is lightweight since effects are short-lived and use GPU-accelerated transforms