chore: local library not working

This commit is contained in:
Kingkor Roy Tirtho 2025-01-26 22:36:11 +06:00
parent 4e8a50ec58
commit 4c3718467d
15 changed files with 48 additions and 35 deletions

View File

@ -1,3 +1,3 @@
{
"flutterSdkVersion": "3.28.0-0.1.pre"
"flutterSdkVersion": "3.27.3"
}

2
.fvmrc
View File

@ -1,4 +1,4 @@
{
"flutter": "3.28.0-0.1.pre",
"flutter": "3.27.3",
"flavors": {}
}

View File

@ -20,7 +20,7 @@ on:
description: Dry run without uploading to release
env:
FLUTTER_VERSION: 3.28.0-0.1.pre
FLUTTER_VERSION: 3.27.3
FLUTTER_CHANNEL: master
permissions:

2
.vscode/launch.json vendored
View File

@ -14,7 +14,7 @@
"program": "lib/main.dart",
"args": [
"--flavor",
"nightly"
"dev"
]
},
{

View File

@ -28,5 +28,5 @@
"README.md": "LICENSE,CODE_OF_CONDUCT.md,CONTRIBUTING.md,SECURITY.md,CONTRIBUTION.md,CHANGELOG.md,PRIVACY_POLICY.md",
"*.dart": "${capture}.g.dart,${capture}.freezed.dart"
},
"dart.flutterSdkPath": ".fvm/versions/3.28.0-0.1.pre"
"dart.flutterSdkPath": ".fvm/versions/3.27.3"
}

View File

@ -10,7 +10,7 @@ import 'package:spotube/pages/home/home.dart';
import 'package:spotube/pages/library/user_albums.dart';
import 'package:spotube/pages/library/user_artists.dart';
import 'package:spotube/pages/library/user_downloads.dart';
import 'package:spotube/pages/library/user_local_tracks.dart';
import 'package:spotube/pages/library/user_local_tracks/user_local_tracks.dart';
import 'package:spotube/pages/library/user_playlists.dart';
import 'package:spotube/pages/lyrics/lyrics.dart';
import 'package:spotube/pages/search/search.dart';

View File

@ -13,13 +13,13 @@ import 'package:spotube/pages/home/genres/genre_playlists.dart';
import 'package:spotube/pages/home/genres/genres.dart';
import 'package:spotube/pages/home/home.dart';
import 'package:spotube/pages/lastfm_login/lastfm_login.dart';
import 'package:spotube/pages/library/local_folder.dart';
import 'package:spotube/pages/library/user_local_tracks/local_folder.dart';
import 'package:spotube/pages/library/playlist_generate/playlist_generate.dart';
import 'package:spotube/pages/library/playlist_generate/playlist_generate_result.dart';
import 'package:spotube/pages/library/user_albums.dart';
import 'package:spotube/pages/library/user_artists.dart';
import 'package:spotube/pages/library/user_downloads.dart';
import 'package:spotube/pages/library/user_local_tracks.dart';
import 'package:spotube/pages/library/user_local_tracks/user_local_tracks.dart';
import 'package:spotube/pages/library/user_playlists.dart';
import 'package:spotube/pages/lyrics/mini_lyrics.dart';
import 'package:spotube/pages/playlist/liked_playlist.dart';
@ -131,7 +131,24 @@ final routerProvider = Provider((ref) {
name: UserLocalLibraryPage.name,
pageBuilder: (context, state) =>
const SpotubePage(child: UserLocalLibraryPage()),
routes: [
GoRoute(
path: "folder",
name: LocalLibraryPage.name,
parentNavigatorKey: shellRouteNavigatorKey,
pageBuilder: (context, state) {
assert(state.extra is String);
return SpotubePage(
child: LocalLibraryPage(
state.extra as String,
isDownloads:
state.uri.queryParameters["downloads"] != null,
isCache: state.uri.queryParameters["cache"] != null,
),
);
},
),
]),
GoRoute(
path: "/library/downloads",
name: UserDownloadsPage.name,
@ -157,20 +174,6 @@ final routerProvider = Provider((ref) {
)
],
),
GoRoute(
path: "/library/local",
name: LocalLibraryPage.name,
pageBuilder: (context, state) {
assert(state.extra is String);
return SpotubePage(
child: LocalLibraryPage(
state.extra as String,
isDownloads: state.uri.queryParameters["downloads"] != null,
isCache: state.uri.queryParameters["cache"] != null,
),
);
},
),
GoRoute(
path: "/lyrics",
name: LyricsPage.name,

View File

@ -4,7 +4,7 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:spotube/pages/home/home.dart';
import 'package:spotube/pages/library/user_albums.dart';
import 'package:spotube/pages/library/user_artists.dart';
import 'package:spotube/pages/library/user_local_tracks.dart';
import 'package:spotube/pages/library/user_local_tracks/user_local_tracks.dart';
import 'package:spotube/pages/library/user_playlists.dart';
import 'package:spotube/pages/lyrics/lyrics.dart';
import 'package:spotube/pages/search/search.dart';

View File

@ -2,7 +2,7 @@ import 'package:collection/collection.dart';
import 'package:fuzzywuzzy/fuzzywuzzy.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:spotify/spotify.dart';
import 'package:spotube/pages/library/user_local_tracks.dart';
import 'package:spotube/pages/library/user_local_tracks/user_local_tracks.dart';
import 'package:spotube/provider/spotify/spotify.dart';
import 'package:spotube/utils/service_utils.dart';

View File

@ -1,6 +1,6 @@
import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/pages/library/user_local_tracks.dart';
import 'package:spotube/pages/library/user_local_tracks/user_local_tracks.dart';
import 'package:spotube/components/adaptive/adaptive_pop_sheet_list.dart';
import 'package:spotube/extensions/context.dart';

View File

@ -12,7 +12,7 @@ import 'package:spotube/extensions/constrains.dart';
import 'package:spotube/extensions/context.dart';
import 'package:spotube/extensions/image.dart';
import 'package:spotube/extensions/string.dart';
import 'package:spotube/pages/library/local_folder.dart';
import 'package:spotube/pages/library/user_local_tracks/local_folder.dart';
import 'package:spotube/provider/local_tracks/local_tracks_provider.dart';
import 'package:spotube/provider/user_preferences/user_preferences_provider.dart';
@ -59,7 +59,7 @@ class LocalFolderItem extends HookConsumerWidget {
return Button(
onPressed: () {
context.goNamed(
context.pushNamed(
LocalLibraryPage.name,
queryParameters: {
if (isDownloadFolder) "downloads": "true",

View File

@ -4,9 +4,11 @@ import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:spotube/collections/side_bar_tiles.dart';
import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/components/titlebar/titlebar.dart';
import 'package:spotube/extensions/constrains.dart';
import 'package:spotube/extensions/context.dart';
import 'package:spotube/pages/library/user_downloads.dart';
import 'package:spotube/provider/download_manager_provider.dart';
class LibraryPage extends HookConsumerWidget {
@ -18,7 +20,15 @@ class LibraryPage extends HookConsumerWidget {
final downloadingCount = ref.watch(downloadManagerProvider).$downloadCount;
final routerState = GoRouterState.of(context);
final sidebarLibraryTileList = useMemoized(
() => getSidebarLibraryTileList(context.l10n),
() => [
...getSidebarLibraryTileList(context.l10n),
SideBarTiles(
id: "downloads",
title: context.l10n.downloads,
name: UserDownloadsPage.name,
icon: SpotubeIcons.download,
),
],
[context.l10n],
);
final index = sidebarLibraryTileList.indexWhere(

View File

@ -16,7 +16,7 @@ import 'package:spotube/components/button/back_button.dart';
import 'package:spotube/extensions/constrains.dart';
import 'package:spotube/extensions/string.dart';
import 'package:spotube/modules/library/local_folder/cache_export_dialog.dart';
import 'package:spotube/pages/library/user_local_tracks.dart';
import 'package:spotube/pages/library/user_local_tracks/user_local_tracks.dart';
import 'package:spotube/components/expandable_search/expandable_search.dart';
import 'package:spotube/components/inter_scrollbar/inter_scrollbar.dart';
import 'package:spotube/components/titlebar/titlebar.dart';

View File

@ -6,7 +6,7 @@ import 'package:go_router/go_router.dart';
import 'package:html/dom.dart' hide Text;
import 'package:shadcn_flutter/shadcn_flutter.dart' hide Element;
import 'package:spotify/spotify.dart';
import 'package:spotube/pages/library/user_local_tracks.dart';
import 'package:spotube/pages/library/user_local_tracks/user_local_tracks.dart';
import 'package:spotube/modules/root/update_dialog.dart';
import 'package:spotube/models/lyrics.dart';