🎨 Palette: Add loading states to authentication buttons#185
🎨 Palette: Add loading states to authentication buttons#185singhaditya21 wants to merge 1 commit into
Conversation
…\n- Safely update innerHTML and disable state during async API calls.\n- Use `try...finally` to ensure state is accurately restored even on failure.\n- Wrap Google Sign-In `setTimeout` in an awaitable Promise to sync with `finally`.\n- Add Palette journal learning. Co-authored-by: singhaditya21 <53948039+singhaditya21@users.noreply.github.com>
|
👋 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 New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
💡 What
Added async loading states (disabled, opacity change, and
⏳ Loading...text) to the Login, Register, and Google Sign-in buttons.🎯 Why
During network latency, users could spam the submit button, leading to duplicate submissions or confusion. These loading states provide immediate visual feedback that their action is processing and disables the button to prevent unintended multiple API calls.
📸 Before/After
(Verified via Playwright Screenshot capture of the "⏳ Loading..." state)
♿ Accessibility
disabled=trueandcursor: not-allowedwhile the API call is inflight to prevent confusing keyboard/screen reader focus interactions on an inactive element.try...finallyblocks strictly ensure state is restored exactly to theoriginalHtmlin both success and error paths.PR created automatically by Jules for task 4165394286025492640 started by @singhaditya21