mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00
feat: Add Go to Album option in track option #917
This commit is contained in:
parent
f86d544916
commit
b0beeca0cb
@ -3,6 +3,7 @@ import 'dart:io';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:spotify/spotify.dart';
|
||||
import 'package:spotube/collections/spotube_icons.dart';
|
||||
@ -12,6 +13,7 @@ import 'package:spotube/components/shared/dialogs/playlist_add_track_dialog.dart
|
||||
import 'package:spotube/components/shared/dialogs/track_details_dialog.dart';
|
||||
import 'package:spotube/components/shared/heart_button.dart';
|
||||
import 'package:spotube/components/shared/image/universal_image.dart';
|
||||
import 'package:spotube/extensions/constrains.dart';
|
||||
import 'package:spotube/extensions/context.dart';
|
||||
import 'package:spotube/models/local_track.dart';
|
||||
import 'package:spotube/provider/authentication_provider.dart';
|
||||
@ -22,6 +24,7 @@ import 'package:spotube/services/mutations/mutations.dart';
|
||||
import 'package:spotube/utils/type_conversion_utils.dart';
|
||||
|
||||
enum TrackOptionValue {
|
||||
album,
|
||||
share,
|
||||
addToPlaylist,
|
||||
addToQueue,
|
||||
@ -79,9 +82,12 @@ class TrackOptions extends HookConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final scaffoldMessenger = ScaffoldMessenger.of(context);
|
||||
final mediaQuery = MediaQuery.of(context);
|
||||
final router = GoRouter.of(context);
|
||||
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playback = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final scaffoldMessenger = ScaffoldMessenger.of(context);
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
ref.watch(downloadManagerProvider);
|
||||
final downloadManager = ref.watch(downloadManagerProvider.notifier);
|
||||
@ -122,6 +128,12 @@ class TrackOptions extends HookConsumerWidget {
|
||||
final adaptivePopSheetList = AdaptivePopSheetList<TrackOptionValue>(
|
||||
onSelected: (value) async {
|
||||
switch (value) {
|
||||
case TrackOptionValue.album:
|
||||
await router.push(
|
||||
'/album/${track.album!.id}',
|
||||
extra: track.album!,
|
||||
);
|
||||
break;
|
||||
case TrackOptionValue.delete:
|
||||
await File((track as LocalTrack).path).delete();
|
||||
ref.refresh(localTracksProvider);
|
||||
@ -233,6 +245,13 @@ class TrackOptions extends HookConsumerWidget {
|
||||
)
|
||||
],
|
||||
_ => [
|
||||
if (mediaQuery.smAndDown)
|
||||
PopSheetEntry(
|
||||
value: TrackOptionValue.album,
|
||||
leading: const Icon(SpotubeIcons.album),
|
||||
title: Text(context.l10n.go_to_album),
|
||||
subtitle: Text(track.album!.name!),
|
||||
),
|
||||
if (!playlist.containsTrack(track)) ...[
|
||||
PopSheetEntry(
|
||||
value: TrackOptionValue.addToQueue,
|
||||
|
@ -279,5 +279,6 @@
|
||||
"password": "Password",
|
||||
"login": "Login",
|
||||
"login_with_your_lastfm": "Login with your Last.fm account",
|
||||
"scrobble_to_lastfm": "Scrobble to Last.fm"
|
||||
"scrobble_to_lastfm": "Scrobble to Last.fm",
|
||||
"go_to_album": "Go to Album"
|
||||
}
|
@ -1 +1,61 @@
|
||||
{}
|
||||
{
|
||||
"ar": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"bn": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"ca": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"de": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"es": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"fa": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"fr": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"hi": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"ja": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"pl": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"pt": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"ru": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"tr": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"uk": [
|
||||
"go_to_album"
|
||||
],
|
||||
|
||||
"zh": [
|
||||
"go_to_album"
|
||||
]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user