feat: make snackbar floating

This commit is contained in:
Kingkor Roy Tirtho 2023-04-28 13:06:36 +06:00
parent 31b9249cc8
commit 9dbb8171a6
2 changed files with 21 additions and 11 deletions

View File

@ -535,18 +535,20 @@ class PlaylistQueueNotifier extends PersistedStateNotifier<PlaylistQueue?> {
state = state!.copyWith(tracks: Set.from(tracks), active: active); state = state!.copyWith(tracks: Set.from(tracks), active: active);
} }
Future<void> updatePalette() async { Future<void> updatePalette() {
final palette = await PaletteGenerator.fromImageProvider( return Future.microtask(() async {
UniversalImage.imageProvider( final palette = await PaletteGenerator.fromImageProvider(
TypeConversionUtils.image_X_UrlString( UniversalImage.imageProvider(
state?.activeTrack.album?.images, TypeConversionUtils.image_X_UrlString(
placeholder: ImagePlaceholder.albumArt, state?.activeTrack.album?.images,
placeholder: ImagePlaceholder.albumArt,
),
height: 50,
width: 50,
), ),
height: 50, );
width: 50, ref.read(paletteProvider.notifier).state = palette;
), });
);
ref.read(paletteProvider.notifier).state = palette;
} }
@override @override
@ -555,6 +557,8 @@ class PlaylistQueueNotifier extends PersistedStateNotifier<PlaylistQueue?> {
state != null && state != null &&
state.active != this.state?.active) { state.active != this.state?.active) {
updatePalette(); updatePalette();
} else if (state == null && ref.read(paletteProvider) != null) {
ref.read(paletteProvider.notifier).state = null;
} }
super.state = state; super.state = state;
} }

View File

@ -41,5 +41,11 @@ ThemeData theme(Color seed, Brightness brightness) {
color: scheme.surface, color: scheme.surface,
elevation: 4, elevation: 4,
), ),
snackBarTheme: SnackBarThemeData(
behavior: SnackBarBehavior.floating,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)),
backgroundColor: scheme.onSurface,
contentTextStyle: TextStyle(color: scheme.surface),
),
); );
} }