Skip to content

Enhance competition search, sorting, and haptic interactions - #39

Open
kamm3r wants to merge 34 commits into
feat/interaction-micro-animations-part2from
code-review
Open

Enhance competition search, sorting, and haptic interactions#39
kamm3r wants to merge 34 commits into
feat/interaction-micro-animations-part2from
code-review

Conversation

@kamm3r

@kamm3r kamm3r commented Mar 19, 2026

Copy link
Copy Markdown
Owner

Search & Navigation

  • Enhanced the search form with glassmorphism, focus animations, staggered list transitions, and improved typography.
  • Improved event list navigation by adding a loading state that shows a spinner on the clicked item and prevents double-navigation.
  • Fixed layout shifts in the header by restructuring flex rows and Suspense boundaries.
  • Refined search filtering logic and removed redundant UI elements like duplicate badges and hint text.

Competition Logic & Performance

  • Updated pole vault results sorting to ensure "NH" (No Height) and "NM" (No Mark) entries appear at the bottom.
  • Implemented priority-based sorting for athlete allocations based on results and attempts.
  • Optimized the competition router with HTTP status checks, memoized sorting, and cached formatters.

User Interaction

  • Integrated haptic feedback for tabs, round switchers, heat selectors, and other interactive UI elements.
  • Added visual click feedback and refined scale animations for list items.
  • Improved tab and OBS (On-Screen Broadcasting) animations for smoother transitions.

Technical Fixes

  • Resolved hydration mismatches for client-side date and time displays.
  • Fixed React hook ordering to comply with rendering rules.
  • Corrected icon passing between Server and Client components by using string identifiers to avoid serialization errors.

v0 Session

v0 and others added 19 commits March 14, 2026 07:58
Add HTTP status checks, extract flattenEvents to utility, cache formatter, memoize sorting

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Add 'suppressHydrationWarning' for client-side time display.

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Move hooks before early return to comply with React Hooks rules.

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Separate header and Suspense boundary into distinct rows.

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Update 'INVALID_RESULTS' to sort "NH" and "NM" last

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Implement priority-based sorting for athletes based on results and attempts.

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Integrate haptic feedback into RoundSwitcher and EventSwitcher.

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Remove non-existent 'web-haptics' package from package.json

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Update Vibration API usage and add rebuild comment.

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Use correct import and expose feedback function for haptics.

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Integrate haptic feedback for tabs, round switchers, and heat selectors.

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Pass icon names as strings instead of components and resolve
in client component to avoid serialization errors.

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Enhance user experience with haptic feedback across key components

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
…rovements

Add glassmorphism, focus animations, staggered list, sparkles, ping effect, and improved typography

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Track clicked event, show loading spinner, disable others, and prevent double navigations

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Remove duplicate badge and add click interaction to items.

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Update 'whileTap' scale and 'itemVariants.initial' to 0.97, extract duplicated 'CommandGroup' class.

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Removed duplicate hint and improved tab and OBS animations.

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
@vercel vercel Bot added the v0 label Mar 19, 2026
@vercel

vercel Bot commented Mar 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
livetila Error Error May 22, 2026 12:35pm

Fixes bugs and improves performance based on Vercel React Best Practices:

Bugs Fixed:
- Fix setState during render in use-event-rounds hook (moved to useEffect)
- Fix duplicate React keys in competition-layout (added id field to Column type)
- Fix memory leak in embed component (added timeout cleanup)
- Remove unnecessary useEffect in obs-popover (use ref instead)

Performance Optimizations:
- Add React.cache for API calls in competition router (prevents duplicate fetches)
- Add useMemo for expensive search filtering/sorting operations
- Add useCallback for event handlers to prevent child re-renders
- Add startTransition for non-urgent search input updates
- Add preconnect hints for external API domain
- Improve type safety in try-catch utility
Center content, adjust typography, spacing, and layout for mobile

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Introduce 'step' variable and memoize filters for cleaner UI logic

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Track 'showDropdown', 'query', and 'isLoading' states for troubleshooting.

Co-authored-by: Marco Kammer <32336620+kamm3r@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant