Summary
When a goal's current value reaches or exceeds its target, nothing special happens. A confetti burst would make completion feel rewarding.
Expected Behaviour
When goal.current >= goal.target transitions from false to true (i.e., the goal just got completed), trigger a brief confetti burst over the GoalTracker card.
Implementation Notes
- Use the lightweight canvas-confetti package (7kb gzip) or implement a pure CSS/JS particle burst
- Only fire once per goal completion — track completedGoalIds in a ref to avoid re-triggering on re-render
- Respect prefers-reduced-motion: skip confetti if user prefers reduced motion
- Confetti should use var(--accent) color and complementary colors
GSSoC Info
- Difficulty: Intermediate — 35 pts
- Area: UI / Animation
Summary
When a goal's current value reaches or exceeds its target, nothing special happens. A confetti burst would make completion feel rewarding.
Expected Behaviour
When goal.current >= goal.target transitions from false to true (i.e., the goal just got completed), trigger a brief confetti burst over the GoalTracker card.
Implementation Notes
GSSoC Info