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);
}
Future<void> updatePalette() async {
final palette = await PaletteGenerator.fromImageProvider(
UniversalImage.imageProvider(
TypeConversionUtils.image_X_UrlString(
state?.activeTrack.album?.images,
placeholder: ImagePlaceholder.albumArt,
Future<void> updatePalette() {
return Future.microtask(() async {
final palette = await PaletteGenerator.fromImageProvider(
UniversalImage.imageProvider(
TypeConversionUtils.image_X_UrlString(
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
@ -555,6 +557,8 @@ class PlaylistQueueNotifier extends PersistedStateNotifier<PlaylistQueue?> {
state != null &&
state.active != this.state?.active) {
updatePalette();
} else if (state == null && ref.read(paletteProvider) != null) {
ref.read(paletteProvider.notifier).state = null;
}
super.state = state;
}

View File

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