fix: screen breakpoints and persist lyrics delay across screens

This commit is contained in:
Kingkor Roy Tirtho 2023-06-28 17:00:37 +06:00
parent 6b4584e91b
commit df79638fb6
2 changed files with 10 additions and 10 deletions

View File

@ -3,8 +3,8 @@ import 'package:flutter/widgets.dart';
extension ContainerBreakpoints on BoxConstraints { extension ContainerBreakpoints on BoxConstraints {
bool get isXs => biggest.width <= 480; bool get isXs => biggest.width <= 480;
bool get isSm => biggest.width > 480 && biggest.width <= 640; bool get isSm => biggest.width > 480 && biggest.width <= 640;
bool get isMd => biggest.width > 640 && biggest.width <= 768; bool get isMd => biggest.width > 640 && biggest.width <= 820;
bool get isLg => biggest.width > 768 && biggest.width <= 1024; bool get isLg => biggest.width > 820 && biggest.width <= 1024;
bool get isXl => biggest.width > 1024 && biggest.width <= 1280; bool get isXl => biggest.width > 1024 && biggest.width <= 1280;
bool get is2Xl => biggest.width > 1280; bool get is2Xl => biggest.width > 1280;
@ -22,8 +22,8 @@ extension ContainerBreakpoints on BoxConstraints {
extension ScreenBreakpoints on MediaQueryData { extension ScreenBreakpoints on MediaQueryData {
bool get isXs => size.width <= 480; bool get isXs => size.width <= 480;
bool get isSm => size.width > 480 && size.width <= 640; bool get isSm => size.width > 480 && size.width <= 640;
bool get isMd => size.width > 640 && size.width <= 768; bool get isMd => size.width > 640 && size.width <= 820;
bool get isLg => size.width > 768 && size.width <= 1024; bool get isLg => size.width > 820 && size.width <= 1024;
bool get isXl => size.width > 1024 && size.width <= 1280; bool get isXl => size.width > 1024 && size.width <= 1280;
bool get is2Xl => size.width > 1280; bool get is2Xl => size.width > 1280;

View File

@ -57,13 +57,13 @@ class SyncedLyrics extends HookConsumerWidget {
final textTheme = Theme.of(context).textTheme; final textTheme = Theme.of(context).textTheme;
useEffect(() { ref.listen(
controller.scrollToIndex(0); ProxyPlaylistNotifier.provider.select((s) => s.activeTrack),
WidgetsBinding.instance.addPostFrameCallback((_) { (previous, next) {
controller.scrollToIndex(0);
ref.read(_delay.notifier).state = 0; ref.read(_delay.notifier).state = 0;
}); },
return null; );
}, [playlist.activeTrack]);
final headlineTextStyle = (mediaQuery.mdAndUp final headlineTextStyle = (mediaQuery.mdAndUp
? textTheme.displaySmall ? textTheme.displaySmall