Implement settings save/load to local storage #45
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.
This change implements settings save and load to the browser's local storage (request from #25). It also implements some helper getter/setter functions for using in other parts of the code without those other parts needing to be aware of how the settings work (e.g. needing to know to query the DOM). And it allows for setting up callbacks to listen for setting changes.
The settings are stored as a single serialized JSON blob in the storage. This made it a bit easier to load and save non-string values. It's maybe a little more difficult to reset or change a single setting in the dev tools, but I thought the trade-off was worth it.