mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00

* feat: add riverpod based favorite album provider * feat: add album is saved, new releases and tracks providers * feat: add artist related providers * feat: add all categories providers * feat: add lyrics provider * feat: add playlist related providers * feat: add search provider * feat: add view and spotify friends provider * feat: add playlist create and update and favorite handlers * feat: use providers in home screen * chore: fix dart lint issues * feat: use new providers for playlist and albums screen * feat: use providers in artist page * feat: use providers on library page * feat: use provider for playlist and album card and heart button * feat: use provider in search page * feat: use providers in generate playlist * feat: use provider in lyrics screen * feat: use provider for create playlist * feat: use provider in add track dialog * feat: use providers in remaining pages and remove fl_query * fix: remove direct access to provider.value * fix: glitching when loading * fix: user album loading next page indicator * feat: make many provider autoDispose after 5 minutes of no usage * fix: ignore episodes in tracks
74 lines
2.2 KiB
Dart
74 lines
2.2 KiB
Dart
library spotify;
|
|
|
|
import 'dart:async';
|
|
import 'dart:convert';
|
|
|
|
import 'package:catcher_2/catcher_2.dart';
|
|
import 'package:collection/collection.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:hive_flutter/hive_flutter.dart';
|
|
import 'package:intl/intl.dart';
|
|
import 'package:spotify/spotify.dart';
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
// ignore: depend_on_referenced_packages, implementation_imports
|
|
import 'package:riverpod/src/async_notifier.dart';
|
|
import 'package:spotube/extensions/map.dart';
|
|
import 'package:spotube/extensions/track.dart';
|
|
import 'package:spotube/models/lyrics.dart';
|
|
import 'package:spotube/models/spotify/recommendation_seeds.dart';
|
|
import 'package:spotube/models/spotify_friends.dart';
|
|
import 'package:spotube/provider/custom_spotify_endpoint_provider.dart';
|
|
import 'package:spotube/provider/spotify_provider.dart';
|
|
import 'package:spotube/provider/user_preferences/user_preferences_provider.dart';
|
|
import 'package:spotube/services/wikipedia/wikipedia.dart';
|
|
import 'package:spotube/utils/persisted_state_notifier.dart';
|
|
import 'package:http/http.dart' as http;
|
|
import 'package:spotube/utils/type_conversion_utils.dart';
|
|
import 'package:wikipedia_api/wikipedia_api.dart';
|
|
|
|
part 'album/favorite.dart';
|
|
part 'album/tracks.dart';
|
|
part 'album/releases.dart';
|
|
part 'album/is_saved.dart';
|
|
|
|
part 'artist/artist.dart';
|
|
part 'artist/is_following.dart';
|
|
part 'artist/following.dart';
|
|
part 'artist/top_tracks.dart';
|
|
part 'artist/albums.dart';
|
|
part 'artist/wikipedia.dart';
|
|
part 'artist/related.dart';
|
|
|
|
part 'category/genres.dart';
|
|
part 'category/categories.dart';
|
|
part 'category/playlists.dart';
|
|
|
|
part 'lyrics/synced.dart';
|
|
|
|
part 'playlist/favorite.dart';
|
|
part 'playlist/playlist.dart';
|
|
part 'playlist/liked.dart';
|
|
part 'playlist/tracks.dart';
|
|
part 'playlist/featured.dart';
|
|
part 'playlist/generate.dart';
|
|
|
|
part 'search/search.dart';
|
|
|
|
part 'user/me.dart';
|
|
part 'user/friends.dart';
|
|
|
|
part 'tracks/track.dart';
|
|
|
|
part 'views/view.dart';
|
|
|
|
part 'utils/mixin.dart';
|
|
part 'utils/state.dart';
|
|
part 'utils/provider.dart';
|
|
part 'utils/persistence.dart';
|
|
part 'utils/async.dart';
|
|
|
|
part 'utils/provider/paginated.dart';
|
|
part 'utils/provider/cursor.dart';
|
|
part 'utils/provider/paginated_family.dart';
|
|
part 'utils/provider/cursor_family.dart';
|