Description
Multiple elements use suppressHydrationWarning even though they rely on client-only state like mounted, username, and trimmedUsername. This can mask real hydration mismatches and lead to UI being rendered in an unexpected state after hydration.
Steps to Reproduce
- Load the landing page.
- Immediately type in the username input or click “Generate Badge” before the page finishes hydrating (slow 3G / throttling helps).
- Observe whether buttons/validation messages briefly show incorrect states.
Expected Behavior
No UI inconsistencies after hydration:
“Generate Badge” disabled/enabled correctly
validation message corresponds to the actual input
badge preview area updates correctly
Screenshots / Logs
No response
GitHub Username (If applicable)
No response
Environment
Chrome
Description
Multiple elements use suppressHydrationWarning even though they rely on client-only state like mounted, username, and trimmedUsername. This can mask real hydration mismatches and lead to UI being rendered in an unexpected state after hydration.
Steps to Reproduce
Expected Behavior
No UI inconsistencies after hydration:
“Generate Badge” disabled/enabled correctly
validation message corresponds to the actual input
badge preview area updates correctly
Screenshots / Logs
No response
GitHub Username (If applicable)
No response
Environment
Chrome