Another stepping stone for settings sync, should enable easier debug for us and manual sync solution for the impatient. Also should make wiping localstorage less of a problem since it also backs up user highlights which don't have proper UI for them.
- Changed ImportExport component into a service since it's mostly logic/direct DOM-manip, not much of markup going on, makes it more reusable and avoid mess with slots
- Implemented settings save/restore function
- New dropdown button in modal footer: save, save with theme, restore
- Settings saved with array version - current version [1, 0] - works similarly to semver but in array, for future-proofing it will refuse to load settings with major version != 1 (i.e. [2, 0]) but will work different minor version, i.e. [1, 1].
- Separate control for theme saving since theme data is quite heavy.
- For future we might add dialog box asking if user wants to import theme as well if it's present
- Restoring goes over supported properties and updates them using
setOptionwith data found in file. Minor stuff:
- one more fix for "p's broken theme" fucking up theme editor and making it mostly unusable
- changed "Peek"/"Close" buttons to use icons instead, feels a bit more natural and less confusing given that there are now button in footer too.
- panel footers no longer use panel header colors, it just looked silly and didn't really work with some themes (redmond), cleaned up their styles a bit