Refactor time selectors state shape to use array #1
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.
Why:
Previously we were using a complex and nested object to encode selector
state in the application. This is both more structure than what is
required, increasing mental overhead to understand, and mixes the
concerns of updatable state and static presentational data, introducing
unnecessary coupling between components and the redux store. (We don't
need redux or a web server to tell us there is 7 days in the week and
what their names are.)
This commit:
Refactors the time selector components and their slice of redux state to
use an array to encode selected days. Components are provided constants
to supply button title information. These titles will also be used as
the toggle selector action payloads.
In general:
render a default state.