From 4c3718467d2037caea3c85ccd273f3b3e4ef093b Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sun, 26 Jan 2025 22:36:11 +0600 Subject: [PATCH] chore: local library not working --- .fvm/fvm_config.json | 2 +- .fvmrc | 2 +- .github/workflows/spotube-release-binary.yml | 2 +- .vscode/launch.json | 2 +- .vscode/settings.json | 2 +- lib/collections/intents.dart | 2 +- lib/collections/routes.dart | 45 ++++++++++--------- lib/collections/side_bar_tiles.dart | 2 +- .../presentation_state.dart | 2 +- .../sort_tracks_dropdown.dart | 2 +- .../local_folder/local_folder_item.dart | 4 +- lib/pages/library/library.dart | 12 ++++- .../{ => user_local_tracks}/local_folder.dart | 2 +- .../user_local_tracks.dart | 0 lib/utils/service_utils.dart | 2 +- 15 files changed, 48 insertions(+), 35 deletions(-) rename lib/pages/library/{ => user_local_tracks}/local_folder.dart (99%) rename lib/pages/library/{ => user_local_tracks}/user_local_tracks.dart (100%) diff --git a/.fvm/fvm_config.json b/.fvm/fvm_config.json index 7572d05e..c0b314bc 100644 --- a/.fvm/fvm_config.json +++ b/.fvm/fvm_config.json @@ -1,3 +1,3 @@ { - "flutterSdkVersion": "3.28.0-0.1.pre" + "flutterSdkVersion": "3.27.3" } \ No newline at end of file diff --git a/.fvmrc b/.fvmrc index 089fa312..74c2c15a 100644 --- a/.fvmrc +++ b/.fvmrc @@ -1,4 +1,4 @@ { - "flutter": "3.28.0-0.1.pre", + "flutter": "3.27.3", "flavors": {} } \ No newline at end of file diff --git a/.github/workflows/spotube-release-binary.yml b/.github/workflows/spotube-release-binary.yml index fa736f27..5cfa5b6e 100644 --- a/.github/workflows/spotube-release-binary.yml +++ b/.github/workflows/spotube-release-binary.yml @@ -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: diff --git a/.vscode/launch.json b/.vscode/launch.json index df4131e5..deabf1d3 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -14,7 +14,7 @@ "program": "lib/main.dart", "args": [ "--flavor", - "nightly" + "dev" ] }, { diff --git a/.vscode/settings.json b/.vscode/settings.json index a5548411..ac8518d1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -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" } \ No newline at end of file diff --git a/lib/collections/intents.dart b/lib/collections/intents.dart index 1ec62812..d0a0c8b6 100644 --- a/lib/collections/intents.dart +++ b/lib/collections/intents.dart @@ -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'; diff --git a/lib/collections/routes.dart b/lib/collections/routes.dart index 25cf995c..4cd869cd 100644 --- a/lib/collections/routes.dart +++ b/lib/collections/routes.dart @@ -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'; @@ -127,11 +127,28 @@ final routerProvider = Provider((ref) { const SpotubePage(child: UserAlbumsPage()), ), GoRoute( - path: "/library/local", - name: UserLocalLibraryPage.name, - pageBuilder: (context, state) => - const SpotubePage(child: UserLocalLibraryPage()), - ), + path: "/library/local", + 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, diff --git a/lib/collections/side_bar_tiles.dart b/lib/collections/side_bar_tiles.dart index 26396e39..f84bd158 100644 --- a/lib/collections/side_bar_tiles.dart +++ b/lib/collections/side_bar_tiles.dart @@ -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'; diff --git a/lib/components/track_presentation/presentation_state.dart b/lib/components/track_presentation/presentation_state.dart index 91adbfcd..2ae0b451 100644 --- a/lib/components/track_presentation/presentation_state.dart +++ b/lib/components/track_presentation/presentation_state.dart @@ -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'; diff --git a/lib/components/track_presentation/sort_tracks_dropdown.dart b/lib/components/track_presentation/sort_tracks_dropdown.dart index ecab615f..54990503 100644 --- a/lib/components/track_presentation/sort_tracks_dropdown.dart +++ b/lib/components/track_presentation/sort_tracks_dropdown.dart @@ -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'; diff --git a/lib/modules/library/local_folder/local_folder_item.dart b/lib/modules/library/local_folder/local_folder_item.dart index 20845ef7..149657cc 100644 --- a/lib/modules/library/local_folder/local_folder_item.dart +++ b/lib/modules/library/local_folder/local_folder_item.dart @@ -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", diff --git a/lib/pages/library/library.dart b/lib/pages/library/library.dart index 7ae5a0e4..6677a3b6 100644 --- a/lib/pages/library/library.dart +++ b/lib/pages/library/library.dart @@ -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( diff --git a/lib/pages/library/local_folder.dart b/lib/pages/library/user_local_tracks/local_folder.dart similarity index 99% rename from lib/pages/library/local_folder.dart rename to lib/pages/library/user_local_tracks/local_folder.dart index b8cdd096..5282894a 100644 --- a/lib/pages/library/local_folder.dart +++ b/lib/pages/library/user_local_tracks/local_folder.dart @@ -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'; diff --git a/lib/pages/library/user_local_tracks.dart b/lib/pages/library/user_local_tracks/user_local_tracks.dart similarity index 100% rename from lib/pages/library/user_local_tracks.dart rename to lib/pages/library/user_local_tracks/user_local_tracks.dart diff --git a/lib/utils/service_utils.dart b/lib/utils/service_utils.dart index bc57dd4a..c89866b4 100644 --- a/lib/utils/service_utils.dart +++ b/lib/utils/service_utils.dart @@ -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';