tpmjs/apps
Ajax Davis 52c7d8d844 fix: resolve new ESLint rules from eslint-plugin-react-hooks update
- Use useId() instead of Math.random() for stable ID generation in Checkbox and Switch
- Use deterministic rotation/delay calculations instead of Math.random() in CategoryGrid and ProblemSection
- Add eslint-disable comments for intentional setState in useEffect patterns:
  - Hydration safety (setMounted)
  - Initial localStorage sync
  - Route-based UI sync
  - Controlled component sync
  - Browser API initial sync (scroll position, media queries)
- Add eslint-disable for ref merging pattern in AnimatedCounter and StatCard

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-09 23:25:15 +10:00
..
playground fix: add eslint-disable comments for set-state-in-effect rule in playground 2026-01-09 23:08:26 +10:00
railway-executor chore: update dependencies with compatibility fixes 2026-01-09 22:49:41 +10:00
tutorial chore: update dependencies with compatibility fixes 2026-01-09 22:49:41 +10:00
web fix: resolve new ESLint rules from eslint-plugin-react-hooks update 2026-01-09 23:25:15 +10:00