Skip to content

Enhance UI and functionality across the PWA sign in flow - #115

Open
Scott1UP wants to merge 3 commits into
mainfrom
redesign-sign-in-flow
Open

Enhance UI and functionality across the PWA sign in flow#115
Scott1UP wants to merge 3 commits into
mainfrom
redesign-sign-in-flow

Conversation

@Scott1UP

Copy link
Copy Markdown
Collaborator
  • Updated global styles in globals.css to improve toast notifications with new color variables and styles.
  • Modified RootLayout to include custom icons for success and error toasts, enhancing user feedback.
  • Changed the header title for the ticket page from "Tickets" to "My Devcon" for better clarity.
  • Improved button components to ensure consistent hover and active states, enhancing user interaction.
  • Refined the InstallAppButton and InstallPrompt components for better accessibility and visual consistency.
  • Enhanced the OtpInput component with error handling and placeholder support for improved user experience.
  • Updated the Ticket component to better manage user sign-in and ticket display, including a new layout for user greetings and sign-out options.
  • Streamlined the useUser hook to provide clearer success and error messages during authentication processes.

- Updated global styles in `globals.css` to improve toast notifications with new color variables and styles.
- Modified `RootLayout` to include custom icons for success and error toasts, enhancing user feedback.
- Changed the header title for the ticket page from "Tickets" to "My Devcon" for better clarity.
- Improved button components to ensure consistent hover and active states, enhancing user interaction.
- Refined the `InstallAppButton` and `InstallPrompt` components for better accessibility and visual consistency.
- Enhanced the `OtpInput` component with error handling and placeholder support for improved user experience.
- Updated the `Ticket` component to better manage user sign-in and ticket display, including a new layout for user greetings and sign-out options.
- Streamlined the `useUser` hook to provide clearer success and error messages during authentication processes.
@Scott1UP
Scott1UP requested a review from didierkrux August 24, 2026 12:36
@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

This comment has been minimized.

@netlify

netlify Bot commented Aug 24, 2026

Copy link
Copy Markdown

Deploy Preview for devcon-event-app ready!

Name Link
🔨 Latest commit 2f89217
🔍 Latest deploy log https://app.netlify.com/projects/devcon-event-app/deploys/6a8c6d108870c00008bd51f9
😎 Deploy Preview https://deploy-preview-115--devcon-event-app.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

- Added a new script `test-otp-input.ts` to verify OTP digit distribution for autofill and paste functionality.
- Updated `package.json` to include a new test command for the OTP input script.
- Enhanced button styles in `Buttons.tsx` to improve hover and active states, ensuring better user interaction.
- Adjusted the `DebugPanel` position for improved accessibility on mobile devices.
- Refined the `InstallAppButton` to streamline the user experience when opening links in Safari.
- Removed the `InstallPrompt` component to simplify the sign-in flow and reduce redundancy.

@didierkrux didierkrux left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed and improved a few details, see recap 👇


Sign-in flow — fixes & polish

Sign-in could be impossible to complete on small phones

  • The six OTP boxes needed 328px but the card only offers ~309px on a 375px iPhone (SE, 12-mini), so the 6th box was pushed outside the card and clipped — unreachable, with no way to scroll to it. Boxes now shrink to fit: all six visible from 320px up, desktop unchanged.
  • One-time-code autofill only filled a single digit. iOS/Android insert the whole code as a normal input event (not a paste), and the handler kept just the last character. It now spreads the code across all six boxes. → Tap the suggested code and you're in, instead of retyping it by hand.

Dead ends in the email step

  • A pasted address carrying a trailing space or newline (routine when copying from a confirmation email) failed validation, so the button stayed disabled on a field that looked perfectly correct. Now trimmed.
  • Pressing Enter on an invalid address did nothing at all — no error, no message. It now says what's wrong.
  • The error no longer nags while you're retyping; it re-checks when you leave the field. And showing it no longer changes the card's height.

Error messages that lied

  • Every code failure said "the code is invalid or has expired" — including network failures and rate limits. So an offline user kept requesting new codes until they hit Supabase's rate limit, still being told the code was wrong. Offline and rate-limit cases now say what actually happened.

Installing from a non-Safari iOS browser

  • The "switch to Safari" action only existed when signed in, because it was built around copying a sign-in link. But switching doesn't need a session — only carrying one does. The install card now has a real Open in Safari button either way, and it's hidden when you're already in Safari. Retired the older install banner it replaced.

Accessibility

  • After a wrong code, every box turned red with no visible focus indicator — you couldn't tell which box you were in. Fixed.
  • The email error is now properly announced and linked to the field for screen readers.
  • Hover animations are genuinely disabled for people with "reduce motion" on (the old guard silently didn't work).
  • Mobile sign-out keeps its small look but has a proper 44px touch target — it sits right next to an email that can wrap into it, and a mis-tap costs a full email round-trip.

Small stuff

  • Debug button moved to the bottom-left so it stops covering page content and the A–Z rail.
  • Install icon no longer clashes with the homepage hero.
  • Ticket cards use the design tokens — the eyebrow was a slightly different purple from the text right above it.
  • Toast shadow no longer bleeds square corners behind the app-update prompt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants