Choose & configure theme from config TUI #36
  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 PR introduces the ability to choose and configure your blog theme from the TUI. Closes #31 .
RATATUI UPDATE
Ratatui has been updated from 0.24 to 0.29. While this made adapting the ratatui examples on the Table widget much easier, it did also require updating some table-related method calls across the project.
DETERMINISTIC THEME LIST
Previously we stored themes in a HashMap. This produced a nondeterministic page order that changed every time the theme table was viewed in the TUI. The map has been replaced with a Vec.
EDIT THEME FROM TUI
Choosing the theme from the TUI requires a new edit mode that displays a table of themes.
EDIT THEME CONFIG FROM TUI
ConfigFieldcontains representations of each standard config field. A new variant needed to be added that could contain toml values from the theme config (as read from blogr.toml). We create as many of this field variant as is necessary for any given theme.THEME CONFIG OPTIONS ARE NOW TOML
in the
ConfigOptionused to configure themes we had a field fortypeand a field fordefaultvalue. It didn't seem we actually referenced these default values anywhere - but now we want to update blogr.toml with these values as soon as a new theme is selected. It helps a lot to condense thetypeanddefaultfields into one field namedvalueof typetoml::Value.theme-change-demo.mov
ISSUES