mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2025-12-12 22:19:29 +00:00
custom palette generator
This commit is contained in:
parent
5e152a0baf
commit
3ecdaadc3f
15 changed files with 761 additions and 159 deletions
47
lib/theme/theme_from_cover_provider.dart
Normal file
47
lib/theme/theme_from_cover_provider.dart
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:shelfsdk/audiobookshelf_api.dart';
|
||||
import 'package:whispering_pages/api/image_provider.dart';
|
||||
|
||||
part 'theme_from_cover_provider.g.dart';
|
||||
|
||||
@riverpod
|
||||
FutureOr<ColorScheme> themeFromCover(
|
||||
ThemeFromCoverRef ref,
|
||||
ImageProvider<Object> img, {
|
||||
Brightness brightness = Brightness.dark,
|
||||
}) {
|
||||
return ColorScheme.fromImageProvider(
|
||||
provider: img,
|
||||
brightness: brightness,
|
||||
);
|
||||
}
|
||||
|
||||
@riverpod
|
||||
FutureOr<ColorScheme?> themeOfLibraryItem(
|
||||
ThemeOfLibraryItemRef ref,
|
||||
LibraryItem? item, {
|
||||
Brightness brightness = Brightness.dark,
|
||||
}) async {
|
||||
if (item == null) {
|
||||
return null;
|
||||
}
|
||||
final coverImage = await ref.watch(coverImageProvider(item).future);
|
||||
final val = await ref.watch(
|
||||
themeFromCoverProvider(MemoryImage(coverImage), brightness: brightness)
|
||||
.future,
|
||||
);
|
||||
return val;
|
||||
// coverImage.when(
|
||||
// data: (value) async {
|
||||
// debugPrint('CoverImage: $value');
|
||||
// final val = ref.watch(themeFromCoverProvider(MemoryImage(value)));
|
||||
// debugPrint('ColorScheme generated: $val');
|
||||
// ref.invalidateSelf();
|
||||
// return val;
|
||||
// },
|
||||
// loading: () => null,
|
||||
// error: (error, stackTrace) => null,
|
||||
// );
|
||||
// return null;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue