Skip to content

fix(ui/ux): address issues #821, #822, #824, #826 - #1002

Open
maccoder374-sudo wants to merge 1 commit into
Iris-IV:mainfrom
maccoder374-sudo:fix/ui-ux-issues-821-822-824-826
Open

fix(ui/ux): address issues #821, #822, #824, #826#1002
maccoder374-sudo wants to merge 1 commit into
Iris-IV:mainfrom
maccoder374-sudo:fix/ui-ux-issues-821-822-824-826

Conversation

@maccoder374-sudo

@maccoder374-sudo maccoder374-sudo commented Jul 30, 2026

Copy link
Copy Markdown

Summary

Implements four UI/UX fixes for the ProofOfHeart-frontend:

Issues Closed

Changes

Issue #821: CampaignMap has no visible loading state while markers load

  • Added an isLoading prop to CampaignMap (defaults to false for backward compatibility)
  • When isLoading is true, a spinner overlay with "Loading map…" text is shown over the map container
  • The loading state clears correctly on both success (valid campaigns render the map) and error (empty state renders)
  • Added tests covering the loading-to-loaded transition

Issue #822: MultiSigWithdrawalPanel does not show who has and hasn't signed a proposal

  • Added visual distinction for the current wallet's signer row with a blue highlight background and a "You" badge
  • Per-signer rows already displayed approve/pending status; now the current user's row is clearly highlighted
  • Added tests asserting per-signer rows render correctly with the current wallet's visual distinction

Issue #824: ShareButtons and QR code entry points are not co-located

  • Replaced the separate QR modal overlay with an inline QR panel that is part of the share panel itself
  • The QR panel is toggled by the same QR button and renders below the social share buttons in the same container
  • Added aria-expanded, aria-controls, and role="region" attributes for keyboard and screen-reader accessibility
  • Added tests asserting both entry points (social share buttons and QR) render from the same trigger/panel

Issue #826: AnimatedProgressFill ignores prefers-reduced-motion on individual instances

  • Imported and used the useReducedMotion hook in AnimatedProgressFill
  • When prefers-reduced-motion is preferred, the component renders the final width immediately as a plain <div> instead of using Framer Motion spring animations
  • When reduced motion is not preferred, the existing Framer Motion animation behavior is preserved
  • Added tests covering both the animated and reduced-motion render paths

Testing

All new and existing tests pass.

…-IV#826

- Iris-IV#821: Add visible loading state to CampaignMap with isLoading prop and spinner overlay
- Iris-IV#822: Visually distinguish current wallet signer in MultiSigWithdrawalPanel with highlight and 'You' badge
- Iris-IV#824: Replace QR modal with inline QR panel co-located in share panel for keyboard/screen-reader accessibility
- Iris-IV#826: Make AnimatedProgressFill respect prefers-reduced-motion by rendering final width immediately when reduced motion is preferred

Co-authored-by: maccoder374-sudo <maccoder374-sudo@users.noreply.github.com>
@drips-wave

drips-wave Bot commented Jul 30, 2026

Copy link
Copy Markdown

@maccoder374-sudo Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@sshdopey

Copy link
Copy Markdown
Contributor

Auto-review failed (API error). Leaving PR for human review.

@maccoder374-sudo maccoder374-sudo changed the title fix: address UI/UX issues #821, #822, #824, #826 fix(ui/ux): address issues #821, #822, #824, #826 Jul 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants