Skip to content

🎨 Palette: Add async loading states to auth buttons#174

Open
singhaditya21 wants to merge 1 commit into
mainfrom
palette-auth-loading-state-3494836327034013892
Open

🎨 Palette: Add async loading states to auth buttons#174
singhaditya21 wants to merge 1 commit into
mainfrom
palette-auth-loading-state-3494836327034013892

Conversation

@singhaditya21

Copy link
Copy Markdown
Owner

💡 What

Added visual loading and disabled states to the email login, email registration, and Google sign-in buttons during asynchronous authentication operations.

🎯 Why

To prevent users from double-clicking submit buttons during latency, which can cause duplicate API requests and errors, and to provide immediate visual feedback that the application is actively processing their request. This significantly improves user confidence.

📸 Before/After

Before: Buttons remained active and visually static after clicking submit, providing no indication that a background request was in progress.
After: Buttons immediately become disabled, their opacity is reduced, cursor changes to 'not-allowed', and the text updates to "⏳ Loading...". Once the request completes (or fails), the button's state is fully restored.

♿ Accessibility

The disabled HTML attribute inherently communicates to screen readers that the interactive element is currently unavailable, preventing further keyboard interaction until the async process resolves.


PR created automatically by Jules for task 3494836327034013892 started by @singhaditya21

- Captures form submissions via e.submitter to target the correct button
- Adds disabled state and ⏳ Loading... text during async API calls
- Ensures state is cleanly reset using try/finally blocks
- Refactors Google Sign-in setTimeout into an awaitable promise for proper finally execution
- Appends new learning to .Jules/palette.md about async UI feedback

Co-authored-by: singhaditya21 <53948039+singhaditya21@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

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.

1 participant