Skip to content

Upgrade shared UI components to MUI v7 standards #2655

Description

@SAUMILDHANKAR

This issue written with ChatGPT models' help

Overview

The client/src/components/UI/ folder contains shared UI components that should be reviewed for compatibility with MUI v7.

Details

⚠️ Important workflow note:
This work should be done on a dedicated feature branch and must not be merged directly into develop or main until the MUI v7 migration epic is complete.

Most files in this folder have already been converted to TypeScript, but they should still be reviewed for MUI v7 compatibility. Some components may already work without modification, while others may benefit from adopting newer MUI patterns or removing legacy implementation details.

This migration may include:

  • Reviewing reusable MUI wrapper components for compatibility with MUI v7
  • Verifying sx usage follows current recommended patterns
  • Checking custom Button, IconButton, Box, Alert, Snackbar, Typography, and Collapse wrappers for deprecated props or behavior
  • Reviewing spacing, sizing, color, and typography consistency
  • Ensuring custom wrapper components continue to expose the correct MUI props
  • Verifying accessibility (aria-* attributes, focus behavior, keyboard navigation)
  • Confirming Snackbar and Alert behavior still functions correctly after upgrading
  • Reviewing icon imports and ensuring they use current MUI package conventions
  • Removing obsolete workarounds or compatibility code if no longer needed
  • Performing manual QA for visual regressions

Known files in scope include (non-exhaustive):

  • client/src/components/UI/AnnouncementSnackbar.tsx
  • client/src/components/UI/Box.tsx
  • client/src/components/UI/InternalLink.tsx
  • client/src/components/UI/PasswordInput.tsx
  • client/src/components/UI/StandardButton.tsx
  • client/src/components/UI/SurveySnackbar.tsx
  • client/src/components/UI/Toast.tsx
  • client/src/components/UI/iconLookup.ts
  • client/src/components/UI/index.ts

Particular attention should be given to AnnouncementSnackbar.tsx, since it combines several MUI components (Alert, Collapse, Box, Typography, IconButton) together. During migration, developers should verify:

  • Alert severity rendering remains unchanged
  • Collapse animations continue working correctly
  • sx styling behaves consistently
  • Snackbar dismissal state stored in sessionStorage still behaves correctly
  • Accessibility and keyboard interaction remain intact

If no MUI v7 code changes are ultimately required for some components, that should be documented after verifying compatibility rather than assuming the components require modification.

Action Items

[PLEASE ADD ACTION ITEMS (Dev lead/developer will add)]

Resources

Metadata

Metadata

Assignees

No one assigned

    Fields

    No fields configured for Feature.

    Projects

    Status
    Prioritized Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions