mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2026-07-07 09:51:34 +00:00
feat: enhance theme management by integrating theme selection based on audiobook playback
This commit is contained in:
parent
db85a76c0b
commit
37f775a79a
1 changed files with 25 additions and 8 deletions
|
|
@ -9,13 +9,14 @@ import 'package:vaani/features/logging/core/logger.dart';
|
||||||
import 'package:vaani/features/playback_reporting/providers/playback_reporter_provider.dart';
|
import 'package:vaani/features/playback_reporting/providers/playback_reporter_provider.dart';
|
||||||
import 'package:vaani/features/player/core/init.dart';
|
import 'package:vaani/features/player/core/init.dart';
|
||||||
import 'package:vaani/features/player/providers/audiobook_player.dart'
|
import 'package:vaani/features/player/providers/audiobook_player.dart'
|
||||||
show simpleAudiobookPlayerProvider;
|
show audiobookPlayerProvider, simpleAudiobookPlayerProvider;
|
||||||
import 'package:vaani/features/shake_detection/providers/shake_detector.dart';
|
import 'package:vaani/features/shake_detection/providers/shake_detector.dart';
|
||||||
import 'package:vaani/features/sleep_timer/providers/sleep_timer_provider.dart';
|
import 'package:vaani/features/sleep_timer/providers/sleep_timer_provider.dart';
|
||||||
import 'package:vaani/router/router.dart';
|
import 'package:vaani/router/router.dart';
|
||||||
import 'package:vaani/settings/api_settings_provider.dart';
|
import 'package:vaani/settings/api_settings_provider.dart';
|
||||||
import 'package:vaani/settings/app_settings_provider.dart';
|
import 'package:vaani/settings/app_settings_provider.dart';
|
||||||
import 'package:vaani/theme/providers/system_them_provider.dart';
|
import 'package:vaani/theme/providers/system_them_provider.dart';
|
||||||
|
import 'package:vaani/theme/providers/theme_from_cover_provider.dart';
|
||||||
import 'package:vaani/theme/theme.dart';
|
import 'package:vaani/theme/theme.dart';
|
||||||
|
|
||||||
final appLogger = Logger('vaani');
|
final appLogger = Logger('vaani');
|
||||||
|
|
@ -73,7 +74,6 @@ class MyApp extends ConsumerWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (themeSettings.useMaterialThemeFromSystem) {
|
if (themeSettings.useMaterialThemeFromSystem) {
|
||||||
appLogger.info('Using theme from system');
|
|
||||||
var themes =
|
var themes =
|
||||||
ref.watch(systemThemeProvider(highContrast: shouldUseHighContrast));
|
ref.watch(systemThemeProvider(highContrast: shouldUseHighContrast));
|
||||||
if (themes.valueOrNull != null) {
|
if (themes.valueOrNull != null) {
|
||||||
|
|
@ -82,12 +82,29 @@ class MyApp extends ConsumerWidget {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// AudiobookPlayer? player;
|
if (themeSettings.useMaterialThemeOfPlayingItem) {
|
||||||
|
final player = ref.watch(audiobookPlayerProvider);
|
||||||
// if (themeSettings.useMaterialThemeOfPlayingItem) {
|
if (player.book != null) {
|
||||||
// appLogger.info('Using theme from playing item');
|
final themeLight = ref.watch(
|
||||||
// player = ref.watch(audiobookPlayerProvider);
|
themeOfLibraryItemProvider(
|
||||||
// }
|
player.book!.libraryItemId,
|
||||||
|
highContrast: shouldUseHighContrast,
|
||||||
|
brightness: Brightness.light,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
final themeDark = ref.watch(
|
||||||
|
themeOfLibraryItemProvider(
|
||||||
|
player.book!.libraryItemId,
|
||||||
|
highContrast: shouldUseHighContrast,
|
||||||
|
brightness: Brightness.dark,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
if (themeLight.valueOrNull != null && themeDark.valueOrNull != null) {
|
||||||
|
lightColorScheme = themeLight.valueOrNull!;
|
||||||
|
darkColorScheme = themeDark.valueOrNull!;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
final appThemeLight = ThemeData(
|
final appThemeLight = ThemeData(
|
||||||
useMaterial3: true,
|
useMaterial3: true,
|
||||||
colorScheme: lightColorScheme.harmonized(),
|
colorScheme: lightColorScheme.harmonized(),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue