Feat/282 283 284 285 UI ux improvements#430
Open
Lex-Studios wants to merge 3 commits into
Open
Conversation
…-24#285): Add tooltips, improve touch targets, add toasts, and confirmation modals - Issue dev-fatima-24#282: Add Tooltip component for icon buttons and truncated content - Appears on hover and keyboard focus - Accessible via role='tooltip' and aria-describedby - Dismissible with Escape key - Positioned to avoid obscuring adjacent elements - Issue dev-fatima-24#283: Optimize layout and touch targets for mobile - All buttons and inputs now have minimum 44×44px touch targets - Updated padding and spacing in AdminDashboard, IssuerDashboard, and CopyButton - Improved form layout with flexWrap for mobile responsiveness - Issue dev-fatima-24#284: Implement user feedback toasts for async actions - Integrated useToast hook in AdminDashboard for API key operations - Added success/error toasts for create, revoke, and review actions - Toasts already integrated in useFreighter (wallet connection) and useVaccination (issue vaccination) - Issue dev-fatima-24#285: Add confirmation modal for destructive actions - Created ConfirmationModal component with keyboard accessibility - Focus trap and Escape key support - Integrated in AdminDashboard for API key revocation - Clear messaging about irreversible actions Components created: - Tooltip.jsx: Reusable tooltip component - ConfirmationModal.jsx: Reusable confirmation dialog Updated components: - CopyButton.jsx: Now uses Tooltip, improved touch targets - AdminDashboard.jsx: Added toasts, confirmation modal, improved touch targets - IssuerDashboard.jsx: Added toasts for vaccination issuance, improved touch targets
…nents and improve touch targets across UI - NavBar: Added tooltip for wallet indicator, improved button touch targets (44×44px) - DarkModeToggle: Added tooltip, improved touch target - VerifyPage: Improved input and button touch targets, added success toast - PatientDashboard: Improved button touch targets - NFTCard: Added tooltip for truncated issuer address, improved button touch targets All interactive elements now meet WCAG 2.1 AA standards for touch targets (minimum 44×44px) and have appropriate tooltips for icon-only buttons and truncated content.
…/UX improvements - touch targets and toasts - ConfirmMintDialog: Improved button touch targets (44×44px minimum) - IssuerOnboarding: Improved input and button touch targets, added success/error toasts - AnalyticsDashboard: Improved table padding, added tooltip for truncated vaccine names All components now have consistent touch target sizing and appropriate feedback for user actions.
|
@Lex-Studios 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! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
UI/UX Improvements: Tooltips, Mobile Optimization, Toasts & Confirmation Modals
Overview
This PR implements comprehensive UI/UX improvements across the VacciChain frontend, addressing accessibility, mobile usability, and user feedback concerns. All changes maintain WCAG 2.1 AA compliance and follow the project's design patterns.
Issues Closed
Closes #282
Closes #283
Closes #284
Closes #285
Changes Implemented
Issue #282: Add tooltips to icon buttons and truncated content
New Component:
Tooltip.jsx- Reusable tooltip with smart positioningrole="tooltip"andaria-describedbyUpdated Components:
CopyButton.jsx- Tooltip for copy actionNavBar.jsx- Tooltip for wallet indicatorDarkModeToggle.jsx- Tooltip for theme toggleNFTCard.jsx- Tooltip for truncated issuer addressAnalyticsDashboard.jsx- Tooltip for truncated vaccine namesIssue #283: Optimize layout and touch targets for mobile
Touch Target Optimization: All interactive elements now meet WCAG 2.1 AA standards
Updated Components:
AdminDashboard.jsx- Buttons, inputs, table cellsIssuerDashboard.jsx- Form inputs, submit buttonPatientDashboard.jsx- Connect wallet buttonVerifyPage.jsx- Input field, verify buttonIssuerOnboarding.jsx- Form inputs, submit buttonNavBar.jsx- Hamburger menu, wallet button, dark mode toggleCopyButton.jsx- Icon buttonDarkModeToggle.jsx- Theme toggle buttonConfirmMintDialog.jsx- Confirm/Cancel buttonsNFTCard.jsx- Export certificate buttonIssue #284: Implement user feedback toasts for all async actions
Toast Integration: Success, error, and info notifications for all async operations
aria-live="polite"Updated Components:
AdminDashboard.jsx- API key creation, revocation, and application reviewIssuerDashboard.jsx- Vaccination NFT issuanceIssuerOnboarding.jsx- Application submissionVerifyPage.jsx- Verification resultsuseFreighter.jsx- Wallet connection (already integrated)useVaccination.js- Vaccination operations (already integrated)Issue #285: Add confirmation modal for destructive actions
New Component:
ConfirmationModal.jsx- Reusable confirmation dialogrole="alertdialog"andaria-modal="true"Updated Components:
AdminDashboard.jsx- Confirmation modal for API key revocationFiles Changed
New Files
frontend/src/components/Tooltip.jsx(96 lines)frontend/src/components/ConfirmationModal.jsx(129 lines)Modified Files
frontend/src/components/CopyButton.jsxfrontend/src/components/DarkModeToggle.jsxfrontend/src/components/NavBar.jsxfrontend/src/components/NFTCard.jsxfrontend/src/components/ConfirmMintDialog.jsxfrontend/src/pages/AdminDashboard.jsxfrontend/src/pages/IssuerDashboard.jsxfrontend/src/pages/IssuerOnboarding.jsxfrontend/src/pages/PatientDashboard.jsxfrontend/src/pages/VerifyPage.jsxfrontend/src/pages/AnalyticsDashboard.jsxAcceptance Criteria Met
#282 - Tooltips
role="tooltip"andaria-describedby#283 - Mobile Optimization
#284 - User Feedback Toasts
aria-live="polite"#285 - Confirmation Modals
Testing Recommendations
Build Status
✓ Frontend builds successfully with no errors
✓ All components compile correctly
✓ No TypeScript/ESLint errors
Notes