mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00
chore: enable sliding transition for queue, alternative source and lyrics page for small screen
This commit is contained in:
parent
677f95f266
commit
a9586a64f2
@ -190,15 +190,24 @@ class AppRouter extends RootStackRouter {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
AutoRoute(
|
CustomRoute(
|
||||||
|
transitionsBuilder: TransitionsBuilders.slideBottom,
|
||||||
|
durationInMilliseconds: 200,
|
||||||
|
reverseDurationInMilliseconds: 200,
|
||||||
path: "/player/queue",
|
path: "/player/queue",
|
||||||
page: PlayerQueueRoute.page,
|
page: PlayerQueueRoute.page,
|
||||||
),
|
),
|
||||||
AutoRoute(
|
CustomRoute(
|
||||||
|
transitionsBuilder: TransitionsBuilders.slideBottom,
|
||||||
|
durationInMilliseconds: 200,
|
||||||
|
reverseDurationInMilliseconds: 200,
|
||||||
path: "/player/sources",
|
path: "/player/sources",
|
||||||
page: PlayerTrackSourcesRoute.page,
|
page: PlayerTrackSourcesRoute.page,
|
||||||
),
|
),
|
||||||
AutoRoute(
|
CustomRoute(
|
||||||
|
transitionsBuilder: TransitionsBuilders.slideBottom,
|
||||||
|
durationInMilliseconds: 200,
|
||||||
|
reverseDurationInMilliseconds: 200,
|
||||||
path: "/player/lyrics",
|
path: "/player/lyrics",
|
||||||
page: PlayerLyricsRoute.page,
|
page: PlayerLyricsRoute.page,
|
||||||
),
|
),
|
||||||
|
@ -9,6 +9,7 @@ import 'package:scroll_to_index/scroll_to_index.dart';
|
|||||||
import 'package:shadcn_flutter/shadcn_flutter.dart';
|
import 'package:shadcn_flutter/shadcn_flutter.dart';
|
||||||
import 'package:spotify/spotify.dart';
|
import 'package:spotify/spotify.dart';
|
||||||
import 'package:spotube/collections/spotube_icons.dart';
|
import 'package:spotube/collections/spotube_icons.dart';
|
||||||
|
import 'package:spotube/components/button/back_button.dart';
|
||||||
import 'package:spotube/components/fallbacks/not_found.dart';
|
import 'package:spotube/components/fallbacks/not_found.dart';
|
||||||
import 'package:spotube/components/inter_scrollbar/inter_scrollbar.dart';
|
import 'package:spotube/components/inter_scrollbar/inter_scrollbar.dart';
|
||||||
import 'package:spotube/components/track_tile/track_tile.dart';
|
import 'package:spotube/components/track_tile/track_tile.dart';
|
||||||
@ -50,7 +51,7 @@ class PlayerQueue extends HookConsumerWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context, ref) {
|
Widget build(BuildContext context, ref) {
|
||||||
final mediaQuery = MediaQuery.of(context);
|
final mediaQuery = MediaQuery.sizeOf(context);
|
||||||
|
|
||||||
final controller = useAutoScrollController();
|
final controller = useAutoScrollController();
|
||||||
final searchText = useState('');
|
final searchText = useState('');
|
||||||
@ -91,8 +92,7 @@ class PlayerQueue extends HookConsumerWidget {
|
|||||||
final searchBar = ConstrainedBox(
|
final searchBar = ConstrainedBox(
|
||||||
constraints: BoxConstraints(
|
constraints: BoxConstraints(
|
||||||
maxHeight: 40,
|
maxHeight: 40,
|
||||||
maxWidth:
|
maxWidth: mediaQuery.smAndDown ? mediaQuery.width - 40 : 300,
|
||||||
mediaQuery.smAndDown ? mediaQuery.size.width - 40 : 300,
|
|
||||||
),
|
),
|
||||||
child: TextField(
|
child: TextField(
|
||||||
onChanged: (value) {
|
onChanged: (value) {
|
||||||
@ -157,7 +157,7 @@ class PlayerQueue extends HookConsumerWidget {
|
|||||||
isSearching.value = !isSearching.value;
|
isSearching.value = !isSearching.value;
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
if (mediaQuery.mdAndUp || !isSearching.value) ...[
|
if (!isSearching.value) ...[
|
||||||
const SizedBox(width: 10),
|
const SizedBox(width: 10),
|
||||||
Tooltip(
|
Tooltip(
|
||||||
tooltip: TooltipContainer(
|
tooltip: TooltipContainer(
|
||||||
@ -170,6 +170,9 @@ class PlayerQueue extends HookConsumerWidget {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
const Gap(5),
|
||||||
|
if (mediaQuery.smAndDown)
|
||||||
|
const BackButton(icon: SpotubeIcons.angleDown),
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -252,7 +252,7 @@ class SiblingTracksSheet extends HookConsumerWidget {
|
|||||||
isSearching.value = true;
|
isSearching.value = true;
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
if (!floating) const BackButton(icon: SpotubeIcons.close)
|
if (!floating) const BackButton(icon: SpotubeIcons.angleDown)
|
||||||
] else ...[
|
] else ...[
|
||||||
if (preferences.audioSource == AudioSource.piped)
|
if (preferences.audioSource == AudioSource.piped)
|
||||||
IconButton.outline(
|
IconButton.outline(
|
||||||
|
@ -48,7 +48,7 @@ class PlayerLyricsPage extends HookConsumerWidget {
|
|||||||
AppBar(
|
AppBar(
|
||||||
leading: [tabbar],
|
leading: [tabbar],
|
||||||
trailing: const [
|
trailing: const [
|
||||||
BackButton(icon: SpotubeIcons.close),
|
BackButton(icon: SpotubeIcons.angleDown),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
import 'package:auto_route/annotations.dart';
|
import 'package:auto_route/annotations.dart';
|
||||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||||
import 'package:shadcn_flutter/shadcn_flutter.dart';
|
import 'package:shadcn_flutter/shadcn_flutter.dart';
|
||||||
import 'package:spotube/collections/spotube_icons.dart';
|
|
||||||
import 'package:spotube/components/button/back_button.dart';
|
|
||||||
import 'package:spotube/extensions/context.dart';
|
|
||||||
import 'package:spotube/modules/player/player_queue.dart';
|
import 'package:spotube/modules/player/player_queue.dart';
|
||||||
import 'package:spotube/provider/audio_player/audio_player.dart';
|
import 'package:spotube/provider/audio_player/audio_player.dart';
|
||||||
|
|
||||||
@ -18,14 +15,6 @@ class PlayerQueuePage extends HookConsumerWidget {
|
|||||||
);
|
);
|
||||||
final playlistNotifier = ref.read(audioPlayerProvider.notifier);
|
final playlistNotifier = ref.read(audioPlayerProvider.notifier);
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
headers: [
|
|
||||||
AppBar(
|
|
||||||
title: Text(context.l10n.queue),
|
|
||||||
trailing: const [
|
|
||||||
BackButton(icon: SpotubeIcons.close),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
],
|
|
||||||
child: PlayerQueue.fromAudioPlayerNotifier(
|
child: PlayerQueue.fromAudioPlayerNotifier(
|
||||||
floating: false,
|
floating: false,
|
||||||
playlist: playlist,
|
playlist: playlist,
|
||||||
|
Loading…
Reference in New Issue
Block a user