This PR introduces useful error messages for essentially all parts of the frontend accessing the API.
The error messages are based on a fallback system using the i18n keys from #93; a feature-specific message takes precedence over a generic one, and an error-code-specific message does likewise. See errorMessage.ts for details.
The PR also cleans up some unused/legacy Redux state and error handling. saving is now tracked in form libraries and errors are mostly used temporarily (and some errors will be tracked in form libraries in the future).
This PR introduces useful error messages for essentially all parts of the frontend accessing the API.
The error messages are based on a fallback system using the i18n keys from #93; a feature-specific message takes precedence over a generic one, and an error-code-specific message does likewise. See errorMessage.ts for details.
The PR also cleans up some unused/legacy Redux state and error handling.
saving
is now tracked in form libraries and errors are mostly used temporarily (and some errors will be tracked in form libraries in the future).