From fece073def000392bbecdc439e9a1bff9bf09644 Mon Sep 17 00:00:00 2001 From: Alessio <180280867+aleatd@users.noreply.github.com> Date: Sun, 13 Apr 2025 14:52:25 +0200 Subject: [PATCH] This pull request primarily involves the removal of several configuration files and assets, as well as minor updates to documentation. The most significant changes are the deletion of various .vscode configuration files and the removal of unused assets from the project. Configuration File Removals: .vscode/c_cpp_properties.json: Removed the entire configuration for C/C++ properties. .vscode/launch.json: Removed the Dart launch configurations for different environments and modes. .vscode/settings.json: Removed settings related to CMake, spell checking, file nesting, and Dart Flutter SDK path. .vscode/snippets.code-snippets: Removed code snippets for Dart, including PaginatedState and PaginatedNotifier templates. .vscode/tasks.json: Removed the tasks configuration file. Documentation Updates: CONTRIBUTION.md: Removed heart emoji from the introductory text. README.md: Updated the logo image and made minor text adjustments, including removing emojis and updating section titles. [1] [2] [3] [4] [5] Asset Removals: lib/collections/assets.gen.dart: Removed multiple unused asset references, including images related to Spotube logos and banners. [1] [2] [3] Minor Code Cleanups: cli/commands/build/linux.dart, cli/commands/build/windows.dart, cli/commands/translated.dart, cli/commands/untranslated.dart: Adjusted import statements for consistency. [1] [2] [3] [4] integration_test/app_test.dart: Removed an unnecessary blank line. lib/collections/routes.dart: Commented out the TrackRoute configuration. --- .gitignore | 2 +- .vscode/c_cpp_properties.json | 22 -- .vscode/launch.json | 47 --- .vscode/settings.json | 32 -- .vscode/snippets.code-snippets | 170 --------- .vscode/tasks.json | 4 - CONTRIBUTION.md | 4 +- README.md | 49 +-- assets/bengali-patterns-bg.jpg | Bin 705883 -> 0 bytes assets/spotube-hero-banner.png | Bin 789046 -> 0 bytes assets/spotube-logo-foreground.jpg | Bin 18120 -> 0 bytes assets/spotube-logo-macos.png | Bin 87666 -> 0 bytes assets/spotube-logo-nightly-notWallpaper.png | Bin 0 -> 1467542 bytes assets/spotube-logo-stable-notWallpaper.png | Bin 0 -> 1493831 bytes assets/spotube-logo-stable-wallpaper.png | Bin 0 -> 498077 bytes assets/spotube-logo.bmp | Bin 9294 -> 0 bytes assets/spotube-logo.ico | Bin 3668 -> 0 bytes assets/spotube-logo.png | Bin 91271 -> 0 bytes assets/spotube-logo.svg | 349 ----------------- assets/spotube-logo_android12.png | Bin 367741 -> 0 bytes assets/spotube-nightly-logo-foreground.jpg | Bin 39629 -> 0 bytes assets/spotube-nightly-logo.png | Bin 131619 -> 0 bytes assets/spotube-nightly-logo.svg | 359 ------------------ assets/spotube-nightly-logo_android12.png | Bin 302269 -> 0 bytes assets/spotube-screenshot.png | Bin 1030639 -> 0 bytes assets/spotube-tall-capsule.png | Bin 92147 -> 0 bytes assets/spotube-wide-capsule-large.png | Bin 92067 -> 0 bytes assets/spotube-wide-capsule-small.png | Bin 31257 -> 0 bytes assets/spotube_banner.png | Bin 305234 -> 0 bytes assets/success.png | Bin 21808 -> 0 bytes cli/commands/build/linux.dart | 2 +- cli/commands/build/windows.dart | 3 +- cli/commands/translated.dart | 2 +- cli/commands/untranslated.dart | 2 +- integration_test/app_test.dart | 1 - lib/collections/assets.gen.dart | 62 +-- lib/collections/routes.dart | 12 +- lib/collections/side_bar_tiles.dart | 2 +- lib/collections/spotube_icons.dart | 2 +- .../dialogs/playlist_add_track_dialog.dart | 3 +- .../dialogs/replace_downloaded_dialog.dart | 1 - .../dialogs/track_details_dialog.dart | 2 +- .../fallbacks/anonymous_fallback.dart | 1 - lib/components/heart_button/heart_button.dart | 1 - .../inter_scrollbar/inter_scrollbar.dart | 2 +- lib/components/shimmers/shimmer_lyrics.dart | 4 +- lib/components/titlebar/titlebar_buttons.dart | 3 +- .../presentation_actions.dart | 2 +- .../track_presentation/presentation_list.dart | 2 +- .../presentation_modifiers.dart | 2 +- .../track_presentation/presentation_top.dart | 2 +- .../sort_tracks_dropdown.dart | 2 +- .../track_presentation.dart | 2 +- .../use_action_callbacks.dart | 1 - .../use_track_tile_play_callback.dart | 4 +- lib/components/track_tile/track_options.dart | 5 +- lib/components/track_tile/track_tile.dart | 1 - lib/extensions/duration.dart | 2 +- lib/extensions/image.dart | 2 +- lib/extensions/string.dart | 2 +- lib/generated_plugin_registrant.dart | 3 +- .../configurators/use_close_behavior.dart | 3 +- lib/hooks/configurators/use_deep_linking.dart | 4 +- .../use_disable_battery_optimizations.dart | 1 - .../configurators/use_endless_playback.dart | 4 +- .../use_fix_window_stretching.dart | 2 +- .../configurators/use_get_storage_perms.dart | 1 - lib/hooks/configurators/use_has_touch.dart | 2 +- .../configurators/use_window_listener.dart | 1 - .../use_auto_scroll_controller.dart | 2 +- lib/hooks/controllers/use_package_info.dart | 2 +- lib/hooks/utils/use_breakpoint_value.dart | 2 +- lib/hooks/utils/use_brightness_value.dart | 2 +- .../utils/use_custom_status_bar_color.dart | 2 +- lib/hooks/utils/use_palette_color.dart | 2 +- lib/l10n/app_ar.arb | 22 +- lib/l10n/app_bn.arb | 22 +- lib/l10n/app_ca.arb | 22 +- lib/l10n/app_cs.arb | 22 +- lib/l10n/app_de.arb | 22 +- lib/l10n/app_en.arb | 22 +- lib/l10n/app_es.arb | 22 +- lib/l10n/app_eu.arb | 22 +- lib/l10n/app_fa.arb | 22 +- lib/l10n/app_fi.arb | 22 +- lib/l10n/app_fr.arb | 22 +- lib/l10n/app_hi.arb | 22 +- lib/l10n/app_id.arb | 22 +- lib/l10n/app_it.arb | 50 +-- lib/l10n/app_ja.arb | 22 +- lib/l10n/app_ka.arb | 22 +- lib/l10n/app_ko.arb | 22 +- lib/l10n/app_ne.arb | 20 +- lib/l10n/app_nl.arb | 24 +- lib/l10n/app_pl.arb | 22 +- lib/l10n/app_pt.arb | 22 +- lib/l10n/app_ru.arb | 22 +- lib/l10n/app_ta.arb | 22 +- lib/l10n/app_th.arb | 22 +- lib/l10n/app_tl.arb | 22 +- lib/l10n/app_tr.arb | 22 +- lib/l10n/app_uk.arb | 22 +- lib/l10n/app_vi.arb | 22 +- lib/l10n/app_zh.arb | 22 +- lib/l10n/generated/app_localizations.dart | 50 +-- lib/l10n/generated/app_localizations_ar.dart | 22 +- lib/l10n/generated/app_localizations_bn.dart | 22 +- lib/l10n/generated/app_localizations_ca.dart | 22 +- lib/l10n/generated/app_localizations_cs.dart | 22 +- lib/l10n/generated/app_localizations_de.dart | 22 +- lib/l10n/generated/app_localizations_en.dart | 24 +- lib/l10n/generated/app_localizations_es.dart | 22 +- lib/l10n/generated/app_localizations_eu.dart | 22 +- lib/l10n/generated/app_localizations_fa.dart | 22 +- lib/l10n/generated/app_localizations_fi.dart | 22 +- lib/l10n/generated/app_localizations_fr.dart | 22 +- lib/l10n/generated/app_localizations_hi.dart | 22 +- lib/l10n/generated/app_localizations_id.dart | 22 +- lib/l10n/generated/app_localizations_it.dart | 50 +-- lib/l10n/generated/app_localizations_ja.dart | 22 +- lib/l10n/generated/app_localizations_ka.dart | 22 +- lib/l10n/generated/app_localizations_ko.dart | 22 +- lib/l10n/generated/app_localizations_ne.dart | 20 +- lib/l10n/generated/app_localizations_nl.dart | 24 +- lib/l10n/generated/app_localizations_pl.dart | 22 +- lib/l10n/generated/app_localizations_pt.dart | 22 +- lib/l10n/generated/app_localizations_ru.dart | 22 +- lib/l10n/generated/app_localizations_ta.dart | 22 +- lib/l10n/generated/app_localizations_th.dart | 22 +- lib/l10n/generated/app_localizations_tl.dart | 22 +- lib/l10n/generated/app_localizations_tr.dart | 22 +- lib/l10n/generated/app_localizations_uk.dart | 22 +- lib/l10n/generated/app_localizations_vi.dart | 22 +- lib/l10n/generated/app_localizations_zh.dart | 22 +- lib/l10n/l10n.dart | 1 + lib/main.dart | 20 +- lib/models/connect/connect.dart | 3 +- lib/models/database/database.dart | 18 +- lib/models/database/database.steps.dart | 2 +- lib/models/database/tables/preferences.dart | 4 +- lib/models/spotify/recommendation_seeds.dart | 8 +- .../spotify/recommendation_seeds.freezed.dart | 146 +++---- .../spotify/recommendation_seeds.g.dart | 16 +- lib/modules/album/album_card.dart | 2 +- lib/modules/artist/artist_card.dart | 3 - lib/modules/connect/connect_device.dart | 8 +- lib/modules/home/sections/friends.dart | 2 +- .../home/sections/friends/friend_item.dart | 1 - lib/modules/home/sections/genres/genres.dart | 1 - .../local_folder/cache_export_dialog.dart | 2 +- .../local_folder/local_folder_item.dart | 1 - .../recommendation_attribute_fields.dart | 4 +- .../playlist_generate/simple_track_tile.dart | 1 - lib/modules/lyrics/zoom_controls.dart | 1 - lib/modules/player/player.dart | 14 +- lib/modules/player/player_actions.dart | 15 +- lib/modules/player/player_controls.dart | 5 +- lib/modules/player/player_overlay.dart | 5 +- lib/modules/player/player_queue.dart | 1 - lib/modules/player/player_track_details.dart | 4 +- lib/modules/player/sibling_tracks_sheet.dart | 1 - lib/modules/player/volume_slider.dart | 1 - lib/modules/playlist/playlist_card.dart | 2 +- .../playlist/playlist_create_dialog.dart | 3 +- lib/modules/root/bottom_player.dart | 14 +- lib/modules/root/sidebar/sidebar.dart | 6 +- lib/modules/root/sidebar/sidebar_footer.dart | 5 +- lib/modules/root/spotube_navigation_bar.dart | 11 +- lib/modules/root/update_dialog.dart | 2 +- .../settings/color_scheme_picker_dialog.dart | 1 - lib/modules/stats/common/album_item.dart | 4 +- lib/modules/stats/summary/summary.dart | 2 +- lib/modules/stats/top/albums.dart | 2 +- lib/modules/stats/top/artists.dart | 2 +- lib/modules/stats/top/top.dart | 3 +- lib/modules/stats/top/tracks.dart | 2 +- lib/pages/album/album.dart | 2 +- lib/pages/artist/artist.dart | 6 +- lib/pages/artist/section/footer.dart | 3 +- lib/pages/artist/section/header.dart | 1 + lib/pages/artist/section/related_artists.dart | 2 +- lib/pages/artist/section/top_tracks.dart | 2 +- lib/pages/connect/connect.dart | 6 +- lib/pages/connect/control/control.dart | 10 +- .../getting_started/getting_started.dart | 10 +- .../getting_started/sections/greeting.dart | 26 +- .../getting_started/sections/playback.dart | 221 +++++------ .../getting_started/sections/region.dart | 26 +- .../getting_started/sections/support.dart | 260 +++++++------ lib/pages/home/feed/feed_section.dart | 2 +- lib/pages/home/genres/genre_playlists.dart | 10 +- lib/pages/home/genres/genres.dart | 4 +- lib/pages/home/home.dart | 7 +- lib/pages/lastfm_login/lastfm_login.dart | 3 +- .../playlist_generate/playlist_generate.dart | 71 ++-- .../playlist_generate_result.dart | 5 +- lib/pages/library/user_albums.dart | 18 +- lib/pages/library/user_artists.dart | 8 +- lib/pages/library/user_downloads.dart | 5 +- .../user_local_tracks/local_folder.dart | 16 +- .../user_local_tracks/user_local_tracks.dart | 6 +- lib/pages/library/user_playlists.dart | 13 +- lib/pages/lyrics/lyrics.dart | 9 +- lib/pages/lyrics/mini_lyrics.dart | 10 +- lib/pages/lyrics/plain_lyrics.dart | 3 +- lib/pages/lyrics/synced_lyrics.dart | 5 +- .../mobile_login/hooks/login_callback.dart | 3 +- lib/pages/mobile_login/mobile_login.dart | 6 +- lib/pages/playlist/liked_playlist.dart | 2 +- lib/pages/playlist/playlist.dart | 4 +- lib/pages/profile/profile.dart | 4 +- lib/pages/root/root_app.dart | 2 +- lib/pages/search/search.dart | 349 +++++++++-------- lib/pages/search/sections/albums.dart | 1 - lib/pages/search/sections/artists.dart | 1 - lib/pages/search/sections/tracks.dart | 3 +- lib/pages/settings/about.dart | 7 +- lib/pages/settings/blacklist.dart | 5 +- lib/pages/settings/logs.dart | 2 +- lib/pages/settings/sections/about.dart | 3 +- lib/pages/settings/sections/accounts.dart | 5 +- lib/pages/settings/sections/appearance.dart | 14 +- lib/pages/settings/sections/desktop.dart | 4 +- lib/pages/settings/sections/developers.dart | 3 +- lib/pages/settings/sections/downloads.dart | 5 +- .../settings/sections/language_region.dart | 2 +- lib/pages/settings/sections/playback.dart | 6 +- lib/pages/settings/settings.dart | 2 +- lib/pages/stats/albums/albums.dart | 5 +- lib/pages/stats/artists/artists.dart | 5 +- lib/pages/stats/fees/fees.dart | 7 +- lib/pages/stats/minutes/minutes.dart | 7 +- lib/pages/stats/playlists/playlists.dart | 5 +- lib/pages/stats/stats.dart | 2 +- lib/pages/stats/streams/streams.dart | 5 +- lib/pages/track/track.dart | 5 +- .../audio_player/audio_player_streams.dart | 2 +- .../sources/piped_instances_provider.dart | 2 +- .../authentication/authentication.dart | 6 +- lib/provider/connect/connect.dart | 11 +- lib/provider/download_manager_provider.dart | 4 +- .../local_tracks/local_tracks_provider.dart | 7 +- lib/provider/server/routes/connect.dart | 3 +- lib/provider/server/routes/playback.dart | 3 +- lib/provider/skip_segments/skip_segments.dart | 7 +- lib/provider/spotify/spotify.dart | 69 ++-- lib/provider/tray_manager/tray_menu.dart | 2 +- .../user_preferences_provider.dart | 3 +- lib/services/audio_player/audio_player.dart | 36 +- lib/services/audio_player/custom_player.dart | 9 +- .../audio_services/audio_services.dart | 2 +- .../audio_services/mobile_audio_service.dart | 2 +- .../download_manager/download_manager.dart | 3 +- lib/services/kv_store/encrypted_kv_store.dart | 2 +- lib/services/logger/logger.dart | 4 +- lib/services/song_link/song_link.dart | 3 +- .../sourced_track/models/video_info.dart | 1 - lib/services/sourced_track/sourced_track.dart | 1 - .../sourced_track/sources/invidious.dart | 2 +- .../sourced_track/sources/jiosaavn.dart | 4 +- lib/services/sourced_track/sources/piped.dart | 1 - .../youtube_engine/newpipe_engine.dart | 2 +- .../youtube_engine/yt_dlp_engine.dart | 4 +- lib/utils/primitive_utils.dart | 1 + lib/utils/service_utils.dart | 22 +- scripts/update_flathub_version.py | 2 +- test/drift/app_db/generated/schema.dart | 7 +- test/drift/app_db/migration_test.dart | 2 +- test/widget_test.dart | 1 - website/.vscode/settings.json | 120 ------ 270 files changed, 1675 insertions(+), 2857 deletions(-) delete mode 100644 .vscode/c_cpp_properties.json delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/settings.json delete mode 100644 .vscode/snippets.code-snippets delete mode 100644 .vscode/tasks.json delete mode 100644 assets/bengali-patterns-bg.jpg delete mode 100644 assets/spotube-hero-banner.png delete mode 100644 assets/spotube-logo-foreground.jpg delete mode 100644 assets/spotube-logo-macos.png create mode 100644 assets/spotube-logo-nightly-notWallpaper.png create mode 100644 assets/spotube-logo-stable-notWallpaper.png create mode 100644 assets/spotube-logo-stable-wallpaper.png delete mode 100644 assets/spotube-logo.bmp delete mode 100644 assets/spotube-logo.ico delete mode 100644 assets/spotube-logo.png delete mode 100644 assets/spotube-logo.svg delete mode 100644 assets/spotube-logo_android12.png delete mode 100644 assets/spotube-nightly-logo-foreground.jpg delete mode 100644 assets/spotube-nightly-logo.png delete mode 100644 assets/spotube-nightly-logo.svg delete mode 100644 assets/spotube-nightly-logo_android12.png delete mode 100644 assets/spotube-screenshot.png delete mode 100644 assets/spotube-tall-capsule.png delete mode 100644 assets/spotube-wide-capsule-large.png delete mode 100644 assets/spotube-wide-capsule-small.png delete mode 100644 assets/spotube_banner.png delete mode 100644 assets/success.png delete mode 100644 website/.vscode/settings.json diff --git a/.gitignore b/.gitignore index 119e42e5..83861548 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,7 @@ # The .vscode folder contains launch configuration and tasks you configure in # VS Code which you may wish to be included in version control, so this line # is commented out by default. -#.vscode/ +.vscode/ # Flutter/Dart/Pub related **/doc/api/ diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json deleted file mode 100644 index 6d27ad30..00000000 --- a/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Win32", - "includePath": [ - "${workspaceFolder}/**" - ], - "defines": [ - "_DEBUG", - "UNICODE", - "_UNICODE" - ], - "windowsSdkVersion": "10.0.19041.0", - "compilerPath": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\bin\\Hostx64\\x64\\cl.exe", - "cStandard": "c17", - "cppStandard": "c++17", - "intelliSenseMode": "windows-msvc-x64", - "configurationProvider": "ms-vscode.makefile-tools" - } - ], - "version": 4 -} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index deabf1d3..00000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "spotube", - "type": "dart", - "request": "launch", - "program": "lib/main.dart", - }, - { - "name": "spotube (mobile)", - "type": "dart", - "request": "launch", - "program": "lib/main.dart", - "args": [ - "--flavor", - "dev" - ] - }, - { - "name": "spotube (profile)", - "type": "dart", - "request": "launch", - "program": "lib/main.dart", - "flutterMode": "profile" - }, - { - "name": "spotube (release)", - "type": "dart", - "request": "launch", - "program": "lib/main.dart", - "flutterMode": "release" - }, - { - "name": "spotube (mobile) (release)", - "type": "dart", - "request": "launch", - "program": "lib/main.dart", - "flutterMode": "release", - "args": [ - "--flavor", - "dev" - ] - } - ], - "compounds": [] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 3229a158..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "cmake.configureOnOpen": false, - "cSpell.words": [ - "acousticness", - "ambiguate", - "Amoled", - "Buildless", - "danceability", - "fuzzywuzzy", - "gapless", - "instrumentalness", - "Mpris", - "RGBO", - "riverpod", - "Scrobblenaut", - "shadcn", - "skeletonizer", - "songlink", - "speechiness", - "Spotube", - "titlebar", - "winget" - ], - "editor.formatOnSave": true, - "explorer.fileNesting.enabled": true, - "explorer.fileNesting.patterns": { - "pubspec.yaml": "pubspec.lock,analysis_options.yaml,.packages,.flutter-plugins,.flutter-plugins-dependencies,flutter_launcher_icons*.yaml,flutter_native_splash*.yaml", - "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.29.2" -} \ No newline at end of file diff --git a/.vscode/snippets.code-snippets b/.vscode/snippets.code-snippets deleted file mode 100644 index 9a18929b..00000000 --- a/.vscode/snippets.code-snippets +++ /dev/null @@ -1,170 +0,0 @@ -{ - "PaginatedState": { - "scope": "dart", - "prefix": "paginatedState", - "description": "Generate a PaginatedState", - "body": [ - "class ${1:Model}State extends PaginatedState<${2:Model}> {", - " ${1:Model}State({", - " required super.items,", - " required super.offset,", - " required super.limit,", - " required super.hasMore,", - " });", - " ", - " @override", - " ${1:Model}State copyWith({", - " List<${2:Model}>? items,", - " int? offset,", - " int? limit,", - " bool? hasMore,", - " }) {", - " return ${1:Model}State(", - " items: items ?? this.items,", - " offset: offset ?? this.offset,", - " limit: limit ?? this.limit,", - " hasMore: hasMore ?? this.hasMore,", - " );", - " }", - "}" - ] - }, - "PaginatedAsyncNotifier": { - "scope": "dart", - "prefix": "paginatedAsyncNotifier", - "description": "Generate a PaginatedAsyncNotifier", - "body": [ - "class ${1:NotifierName}Notifier extends PaginatedAsyncNotifier<${3:Item}, ${2:Model}State> {", - " ${1:NotifierName}Notifier() : super();", - " ", - " @override", - " fetch(int offset, int limit) async {", - " throw UnimplementedError();", - " }", - " ", - " @override", - " build() async {", - " throw UnimplementedError();", - " }", - "}" - ] - }, - "PaginaitedNotifierWithState": { - "scope": "dart", - "prefix": "paginatedNotifierWithState", - "description": "Generate a PaginatedNotifier with PaginatedState", - "body": [ - "class $1State extends PaginatedState<$2> {", - " $1State({", - " required super.items,", - " required super.offset,", - " required super.limit,", - " required super.hasMore,", - " });", - " ", - " @override", - " $1State copyWith({", - " List<$2>? items,", - " int? offset,", - " int? limit,", - " bool? hasMore,", - " }) {", - " return $1State(", - " items: items ?? this.items,", - " offset: offset ?? this.offset,", - " limit: limit ?? this.limit,", - " hasMore: hasMore ?? this.hasMore,", - " );", - " }", - "}", - " ", - "class $1Notifier", - " extends PaginatedAsyncNotifier<$2, $1State> {", - " $1Notifier() : super();", - " ", - " @override", - " fetch(int offset, int limit) async {", - " throw UnimplementedError();", - " }", - " ", - " @override", - " build() async {", - " throw UnimplementedError();", - " }", - "}", - " ", - "final ${1/(.*)/${1:/camelcase}/}Provider = AsyncNotifierProvider<$1Notifier, $1State>(", - " ()=> $1Notifier(),", - ");" - ] - }, - "FamilyPaginatedAsyncNotifier": { - "scope": "dart", - "prefix": "familyPaginatedAsyncNotifier", - "description": "Generate a FamilyPaginatedAsyncNotifier", - "body": [ - "class ${1:NotifierName}Notifier extends FamilyPaginatedAsyncNotifier<${3:Item}, ${2:Model}State, {$4:Arg}> {", - " ${1:NotifierName}Notifier() : super();", - " ", - " @override", - " fetch(arg, offset, limit) async {", - " throw UnimplementedError();", - " }", - " ", - " @override", - " build(arg) async {", - " throw UnimplementedError();", - " }", - "}" - ] - }, - "FamilyPaginaitedNotifierWithState": { - "scope": "dart", - "prefix": "familyPaginatedNotifierWithState", - "description": "Generate a FamilyPaginatedAsyncNotifier with PaginatedState", - "body": [ - "class $1State extends PaginatedState<$2> {", - " $1State({", - " required super.items,", - " required super.offset,", - " required super.limit,", - " required super.hasMore,", - " });", - " ", - " @override", - " $1State copyWith({", - " List<$2>? items,", - " int? offset,", - " int? limit,", - " bool? hasMore,", - " }) {", - " return $1State(", - " items: items ?? this.items,", - " offset: offset ?? this.offset,", - " limit: limit ?? this.limit,", - " hasMore: hasMore ?? this.hasMore,", - " );", - " }", - "}", - " ", - "class $1Notifier", - " extends FamilyPaginatedAsyncNotifier<$2, $1State, $3> {", - " $1Notifier() : super();", - " ", - " @override", - " fetch(arg, offset, limit) async {", - " throw UnimplementedError();", - " }", - " ", - " @override", - " build(arg) async {", - " throw UnimplementedError();", - " }", - "}", - " ", - "final ${1/(.*)/${1:/camelcase}/}Provider = AsyncNotifierProviderFamily<$1Notifier, $1State, $3>(", - " ()=> $1Notifier(),", - ");" - ] - }, -} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index f67eb4c6..00000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [] -} \ No newline at end of file diff --git a/CONTRIBUTION.md b/CONTRIBUTION.md index d4746a1a..50b698e2 100644 --- a/CONTRIBUTION.md +++ b/CONTRIBUTION.md @@ -1,8 +1,8 @@ # Contributing to Spotube -First off, thanks for taking the time to contribute! ❤️ +First off, thanks for taking the time to contribute! -All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. 🎉 +All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. > And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about: > diff --git a/README.md b/README.md index b2c388e4..cc01c353 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@
[Click to show]
🙏 Services/Package/Plugin Credits[Click to show]
!L1OZ66%>_}RaEu#4GfKp- *@
z68d=4serg6p1d9p<6d2Cy-Q=ytA&+4U~2e(;#{WbZ8gY}-MW3DP^biUU@|gD9R@kC
zo5bbrI~YQ=p`_0C8REH#WrjtPHW^k^kU{8i*YmFir72Tqd}>BR>nkQ`^w=n2ahDeH
z-CMj8# <(+@>rj;@cGIgFBG1;jS~d!M0HBmPT!YZy
z@@kWmLvxk!AH!W6#BzDEBiYV+%WOa=9=QiK=+nl|1h^h!;!lLyu93Q1J-7DCGnmOP
zIqon3{Oj1Ij#Avo#NuR)p_QX`D(Y~`agcp5E7PYq%+AG&El%f7Ai*g?(63`w<8vuf
zOxm~ctiXXh2+N*YJm>PwWa*r;!=`U(`sJRWgJhc={{RE
l0v#SsBDkR6{kIg&wa|r!naoEHn;A8bO7R?I%GOe2y`Ui
z@y8