This commit introduces new functionality to customize the visibility of the
play button on home page shelves.
Key changes:
- Added `HomePageSettings` to `AppSettings` to store your preferences:
- `showPlayButtonOnContinueShelves`: Controls visibility on "Continue Listening" and "Continue Series" shelves (default: true).
- `showPlayButtonOnAllShelves`: Controls visibility on other shelves (default: false).
- Modified `BookHomeShelf` to respect these settings when rendering books.
- Created a new "Home Page Settings" page under "Appearance" in App Settings, allowing you to toggle these two options.
- Added comprehensive unit and widget tests to cover the new settings model, the conditional logic in `BookHomeShelf`, and the functionality of the new settings page.
* refactor: consolidate theme definitions by removing separate dark and light theme files
* feat: integrate dynamic color support and enhance theme settings management
* feat: add theme settings route and update theme management in app settings
* feat: enhance theme management by integrating high contrast support in various components
* feat: implement mode selection dialog for theme settings and enhance button functionality
* refactor: update theme import paths and consolidate theme provider files
* feat: enhance theme management by integrating theme selection based on audiobook playback
* refactor: update default value for useMaterialThemeFromSystem to false in theme settings
* refactor: adjust high contrast condition order in theme settings for consistency
* refactor: rename useMaterialThemeOfPlayingItem to useCurrentPlayerThemeThroughoutApp for clarity
* refactor: correct spelling in system theme provider and replace with updated implementation
* refactor: extract restore backup dialog into a separate widget for improved readability
* refactor: reorganize settings sections for clarity and improve restore dialog functionality
* feat: add ability to get logs file from ui
* test: add unit test for log line parsing in logs_provider
* refactor: update all logs to obfuscate sensitive information
* feat: generate dynamic zip file name for logs export
* feat: enhance logging in audiobook player and provider for better debugging
* refactor: extract user display logic into UserBar widget for offline access of settings and logs
* feat: add About section with app metadata and source code link in YouPage