feat: Add settings to control play button visibility on home shelves

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.
This commit is contained in:
google-labs-jules[bot] 2025-05-22 00:44:06 +00:00
parent 23e5d73bea
commit cc9a94de62
9 changed files with 457 additions and 0 deletions

View file

@ -120,6 +120,16 @@ class AppSettingsPage extends HookConsumerWidget {
context.pushNamed(Routes.notificationSettings.name);
},
),
SettingsTile.navigation(
leading: const Icon(Icons.home_filled),
title: const Text('Home Page Settings'),
description: const Text(
'Customize the home page shelves',
),
onPressed: (context) {
context.pushNamed(Routes.homePageSettings.name);
},
),
],
),