Skip to content

fix(settings): redesign About Updates as hero card with check animation#145

Merged
quiet-node merged 2 commits intomainfrom
feat/about-updates-hero
May 7, 2026
Merged

fix(settings): redesign About Updates as hero card with check animation#145
quiet-node merged 2 commits intomainfrom
feat/about-updates-hero

Conversation

@quiet-node
Copy link
Copy Markdown
Owner

Summary

Refactors the Updates section in Settings → About into a centered hero card matching the macOS Software Update aesthetic. The "Check for updates" action now plays the same green circle-draw + checkmark animation already used by the "Unload now" button in the AI tab, giving Settings a consistent feedback language for async actions.

Why

The previous layout duplicated the version (already shown immediately under the Thuki mascot in the About header) as a "Current version" row, surfaced a bare "Last checked" timestamp without any status context, and offered a small "Check now" button at the row's right edge. The result felt disconnected: three pieces of information stacked without answering the user's first question — am I up to date?

Changes

  • Replaces the two-row UPDATES table with a single centered hero card.
  • Hero shows a green check mark with "Thuki is up to date" in the idle state, or an amber pulse with "Thuki vX.Y.Z is ready" when an update is pending.
  • "Last checked X minutes ago" now sits as a quiet caption below the status, eliminating the "Last checked" label noise.
  • Primary "Check for updates" button below the caption. While a check is in flight, the button disables and renders the green draw-circle plus checkmark animation, matching the existing pattern in ModelTab for the "Unload now" action.
  • Drops the redundant "Current version" row entirely.
  • Adds data-state attributes on the hero so the available-update state gets a subtle amber tint, mirroring the existing settings banner accent.

Test plan

  • bun run test:all:coverage clean (1232 frontend + 753 Rust tests, 100% line and function coverage)
  • bun run validate-build clean (no signing key required locally; CI handles signing on release)
  • Manual: idle state renders "Thuki is up to date" with green check icon and quiet last-checked caption
  • Manual: clicking the button disables it, plays the circle + checkmark animation for 1.1 seconds, then reverts
  • Manual: rapid double-click only fires one check_for_update invocation (button disabled state guards against re-entry)
  • Manual: when an update is detected, hero switches to amber pulse + "Thuki X.Y.Z is ready" copy

quiet-node added 2 commits May 7, 2026 12:32
…tion

Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
@quiet-node quiet-node merged commit b4190e1 into main May 7, 2026
3 checks passed
@quiet-node quiet-node deleted the feat/about-updates-hero branch May 7, 2026 17:41
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