All Posts
February 26, 20260.1.39Jugg.ai

v0.1.39 — feat: sign-up form terms checkbox error state with shake & toast

Release v0.1.39: Sign-up Form Error State Feedback

What Changed

  • Inline hint message — amber alert below provider buttons explains why they're disabled when terms haven't been accepted
  • Shake animation — checkbox label jiggles when a user clicks a disabled button, drawing attention to the required action
  • Toast notification — deduplication-safe error toast fires on disabled button click
  • Accessibility — hint includes role="alert" and aria-live="polite" for screen readers
  • 189 new unit tests — comprehensive coverage of error state behavior paths

Why It Matters

New users no longer encounter mysteriously grayed-out buttons with no explanation. Three layers of feedback—inline hint, animation, and toast—guide them to accept the Terms of Service before proceeding.

Technical Notes

  • Added @keyframes shake animation to globals.css via --animate-shake CSS variable
  • handleDisabledClick uses double requestAnimationFrame to ensure repeated clicks re-trigger the shake
  • Toast deduplication via stable id: "terms-not-accepted" prevents spam on rapid clicks

Release Notes

Everything completed successfully. Here's a summary of what was done:


✅ Release v0.1.39 Published

PR #454 — Merged (squash)

"feat: sign-up form terms checkbox error state with shake & toast"

  • Commit: 7afbe28
  • 3 files changed: +254 / -5

What Was Released

A sign-up UX fix that eliminates the silent "buttons greyed out for no reason" experience for new users who haven't yet accepted the Terms of Service. Three layers of feedback now guide them:

  1. 🟡 Amber inline hint — visible below the provider buttons, with proper ARIA accessibility attributes
  2. 🫨 Shake animation — the checkbox label jiggles when a disabled button is clicked, drawing the eye to the required action
  3. 🔔 Sonner toast — a deduplication-safe error toast fires on the same click

Plus 189 lines of new Vitest unit tests covering all the new behaviour paths.

Release Details

Tagv0.1.39
Date2026-02-26
Release URLhttps://github.com/Jugg-ai/Jugg-ai.jugg-ai/releases/tag/v0.1.39
Breaking changesNone