This PR accomplishes the following:
-Migrate Header and PopupModal components
-Add simple UserContext to provide a user to components that depend on user data
-Add a User type to models folder
-Reorganize these components/break them down into smaller files to better follow the single responsibility principle
-Update them to function better with a screen reader + keyboard interaction
-Update them to better match the figma
-Other minor updates to stylesheets
-Write tests for these components
-Introduce BuilderPattern library as a means of testing contexts
-Mimicked file structure of each component in its styles/modules folder and in tests, chose to only put sub-components in their own folder if they themselves had sub/sibling components with which they should be grouped
Test Plan
The changes have been manually tested in Firefox and Chrome for visual consistency, and in Chrome with a screen reader. Additionally, thorough unit tests have been written for each component.
Follow ups
-Test on more devices/browsers
-Add prettier so that code style can be more consistent throughout the project
-Apply testing patterns to other components as they are ported
Overview
This PR accomplishes the following: -Migrate Header and PopupModal components -Add simple UserContext to provide a user to components that depend on user data -Add a User type to models folder -Reorganize these components/break them down into smaller files to better follow the single responsibility principle -Update them to function better with a screen reader + keyboard interaction -Update them to better match the figma -Other minor updates to stylesheets -Write tests for these components -Introduce BuilderPattern library as a means of testing contexts -Mimicked file structure of each component in its styles/modules folder and in tests, chose to only put sub-components in their own folder if they themselves had sub/sibling components with which they should be grouped
Test Plan
The changes have been manually tested in Firefox and Chrome for visual consistency, and in Chrome with a screen reader. Additionally, thorough unit tests have been written for each component.
Follow ups
-Test on more devices/browsers -Add prettier so that code style can be more consistent throughout the project -Apply testing patterns to other components as they are ported