mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00
refactor: rename providers
This commit is contained in:
parent
2781127da1
commit
57ccf16311
@ -92,7 +92,7 @@ class SeekIntent extends Intent {
|
||||
class SeekAction extends Action<SeekIntent> {
|
||||
@override
|
||||
invoke(intent) async {
|
||||
final playlist = intent.ref.read(ProxyPlaylistNotifier.provider);
|
||||
final playlist = intent.ref.read(proxyPlaylistProvider);
|
||||
if (playlist.isFetching) {
|
||||
DirectionalFocusAction().invoke(
|
||||
DirectionalFocusIntent(
|
||||
|
@ -49,8 +49,7 @@ final routerProvider = Provider((ref) {
|
||||
GoRoute(
|
||||
path: "/",
|
||||
redirect: (context, state) async {
|
||||
final authNotifier =
|
||||
ref.read(AuthenticationNotifier.provider.notifier);
|
||||
final authNotifier = ref.read(authenticationProvider.notifier);
|
||||
final json = await authNotifier.box.get(authNotifier.cacheKey);
|
||||
|
||||
if (json?["cookie"] == null &&
|
||||
|
@ -28,10 +28,10 @@ class AlbumCard extends HookConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final playing =
|
||||
useStream(audioPlayer.playingStream).data ?? audioPlayer.isPlaying;
|
||||
final playlistNotifier = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final playlistNotifier = ref.watch(proxyPlaylistProvider.notifier);
|
||||
|
||||
bool isPlaylistPlaying = useMemoized(
|
||||
() => playlist.containsCollection(album.id!),
|
||||
|
@ -25,7 +25,7 @@ class ArtistCard extends HookConsumerWidget {
|
||||
),
|
||||
);
|
||||
final isBlackListed = ref.watch(
|
||||
BlackListNotifier.provider.select(
|
||||
blacklistProvider.select(
|
||||
(blacklist) => blacklist.contains(
|
||||
BlacklistedElement.artist(artist.id!, artist.name!),
|
||||
),
|
||||
|
@ -14,8 +14,7 @@ class TokenLoginForm extends HookConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final authenticationNotifier =
|
||||
ref.watch(AuthenticationNotifier.provider.notifier);
|
||||
final authenticationNotifier = ref.watch(authenticationProvider.notifier);
|
||||
final directCodeController = useTextEditingController();
|
||||
final mounted = useIsMounted();
|
||||
|
||||
|
@ -11,7 +11,7 @@ class HomeNewReleasesSection extends HookConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
|
||||
final newReleases = ref.watch(albumReleasesProvider);
|
||||
final newReleasesNotifier = ref.read(albumReleasesProvider.notifier);
|
||||
|
@ -22,7 +22,7 @@ class UserAlbums extends HookConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
final albumsQuery = ref.watch(favoriteAlbumsProvider);
|
||||
final albumsQueryNotifier = ref.watch(favoriteAlbumsProvider.notifier);
|
||||
|
||||
|
@ -21,7 +21,7 @@ class UserArtists extends HookConsumerWidget {
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final theme = Theme.of(context);
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
|
||||
final artistQuery = ref.watch(followedArtistsProvider);
|
||||
|
||||
|
@ -138,8 +138,8 @@ class UserLocalTracks extends HookConsumerWidget {
|
||||
List<LocalTrack> tracks, {
|
||||
LocalTrack? currentTrack,
|
||||
}) async {
|
||||
final playlist = ref.read(ProxyPlaylistNotifier.provider);
|
||||
final playback = ref.read(ProxyPlaylistNotifier.notifier);
|
||||
final playlist = ref.read(proxyPlaylistProvider);
|
||||
final playback = ref.read(proxyPlaylistProvider.notifier);
|
||||
currentTrack ??= tracks.first;
|
||||
final isPlaylistPlaying = playlist.containsTracks(tracks);
|
||||
if (!isPlaylistPlaying) {
|
||||
@ -158,7 +158,7 @@ class UserLocalTracks extends HookConsumerWidget {
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final sortBy = useState<SortBy>(SortBy.none);
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final trackSnapshot = ref.watch(localTracksProvider);
|
||||
final isPlaylistPlaying =
|
||||
playlist.containsTracks(trackSnapshot.asData?.value ?? []);
|
||||
|
@ -26,7 +26,7 @@ class UserPlaylists extends HookConsumerWidget {
|
||||
Widget build(BuildContext context, ref) {
|
||||
final searchText = useState('');
|
||||
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
|
||||
final playlistsQuery = ref.watch(favoritePlaylistsProvider);
|
||||
final playlistsQueryNotifier =
|
||||
|
@ -43,8 +43,8 @@ class PlayerView extends HookConsumerWidget {
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final theme = Theme.of(context);
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final currentTrack = ref.watch(ProxyPlaylistNotifier.provider.select(
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
final currentTrack = ref.watch(proxyPlaylistProvider.select(
|
||||
(value) => value.activeTrack,
|
||||
));
|
||||
final isLocalTrack = currentTrack is LocalTrack;
|
||||
@ -307,12 +307,11 @@ class PlayerView extends HookConsumerWidget {
|
||||
builder: (context) => Consumer(
|
||||
builder: (context, ref, _) {
|
||||
final playlist = ref.watch(
|
||||
ProxyPlaylistNotifier
|
||||
.provider,
|
||||
proxyPlaylistProvider,
|
||||
);
|
||||
final playlistNotifier =
|
||||
ref.read(
|
||||
ProxyPlaylistNotifier
|
||||
proxyPlaylistProvider
|
||||
.notifier,
|
||||
);
|
||||
return PlayerQueue
|
||||
|
@ -33,7 +33,7 @@ class PlayerActions extends HookConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final isLocalTrack = playlist.activeTrack is LocalTrack;
|
||||
ref.watch(downloadManagerProvider);
|
||||
final downloader = ref.watch(downloadManagerProvider.notifier);
|
||||
@ -46,9 +46,9 @@ class PlayerActions extends HookConsumerWidget {
|
||||
]);
|
||||
|
||||
final localTracks = [] /* ref.watch(localTracksProvider).value */;
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final sleepTimer = ref.watch(SleepTimerNotifier.provider);
|
||||
final sleepTimerNotifier = ref.watch(SleepTimerNotifier.notifier);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
final sleepTimer = ref.watch(sleepTimerProvider);
|
||||
final sleepTimerNotifier = ref.watch(sleepTimerProvider.notifier);
|
||||
|
||||
final isDownloaded = useMemoized(() {
|
||||
return localTracks.any(
|
||||
|
@ -43,8 +43,8 @@ class PlayerControls extends HookConsumerWidget {
|
||||
SeekIntent: SeekAction(),
|
||||
},
|
||||
[]);
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlistNotifier = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final playlistNotifier = ref.watch(proxyPlaylistProvider.notifier);
|
||||
|
||||
final playing =
|
||||
useStream(audioPlayer.playingStream).data ?? audioPlayer.isPlaying;
|
||||
|
@ -24,8 +24,8 @@ class PlayerOverlay extends HookConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final playlistNotifier = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlistNotifier = ref.watch(proxyPlaylistProvider.notifier);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final canShow = playlist.activeTrack != null;
|
||||
|
||||
final playing =
|
||||
|
@ -21,7 +21,7 @@ class PlayerTrackDetails extends HookConsumerWidget {
|
||||
Widget build(BuildContext context, ref) {
|
||||
final theme = Theme.of(context);
|
||||
final mediaQuery = MediaQuery.of(context);
|
||||
final playback = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playback = ref.watch(proxyPlaylistProvider);
|
||||
|
||||
return Row(
|
||||
children: [
|
||||
|
@ -52,7 +52,7 @@ class SiblingTracksSheet extends HookConsumerWidget {
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final theme = Theme.of(context);
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final preferences = ref.watch(userPreferencesProvider);
|
||||
|
||||
final isSearching = useState(false);
|
||||
|
@ -20,8 +20,8 @@ class PlaylistCard extends HookConsumerWidget {
|
||||
});
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final playlistQueue = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlistNotifier = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final playlistQueue = ref.watch(proxyPlaylistProvider);
|
||||
final playlistNotifier = ref.watch(proxyPlaylistProvider.notifier);
|
||||
final playing =
|
||||
useStream(audioPlayer.playingStream).data ?? audioPlayer.isPlaying;
|
||||
bool isPlaylistPlaying = useMemoized(
|
||||
|
@ -31,8 +31,8 @@ class BottomPlayer extends HookConsumerWidget {
|
||||
final logger = getLogger(BottomPlayer);
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final layoutMode =
|
||||
ref.watch(userPreferencesProvider.select((s) => s.layoutMode));
|
||||
|
||||
|
@ -249,7 +249,7 @@ class SidebarFooter extends HookConsumerWidget {
|
||||
placeholder: ImagePlaceholder.artist,
|
||||
);
|
||||
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
|
||||
if (mediaQuery.mdAndDown) {
|
||||
return IconButton(
|
||||
|
@ -14,7 +14,7 @@ class AnonymousFallback extends ConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final isLoggedIn = ref.watch(AuthenticationNotifier.provider) != null;
|
||||
final isLoggedIn = ref.watch(authenticationProvider) != null;
|
||||
|
||||
if (isLoggedIn && child != null) return child!;
|
||||
return Center(
|
||||
|
@ -25,7 +25,7 @@ class HeartButton extends HookConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
|
||||
if (auth == null) return const SizedBox.shrink();
|
||||
|
||||
|
@ -95,8 +95,8 @@ class TrackOptions extends HookConsumerWidget {
|
||||
WidgetRef ref,
|
||||
Track track,
|
||||
) async {
|
||||
final playback = ref.read(ProxyPlaylistNotifier.notifier);
|
||||
final playlist = ref.read(ProxyPlaylistNotifier.provider);
|
||||
final playback = ref.read(proxyPlaylistProvider.notifier);
|
||||
final playlist = ref.read(proxyPlaylistProvider);
|
||||
final spotify = ref.read(spotifyProvider);
|
||||
final query = "${track.name} Radio";
|
||||
final pages =
|
||||
@ -159,12 +159,12 @@ class TrackOptions extends HookConsumerWidget {
|
||||
final router = GoRouter.of(context);
|
||||
final ThemeData(:colorScheme) = Theme.of(context);
|
||||
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playback = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final playback = ref.watch(proxyPlaylistProvider.notifier);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
ref.watch(downloadManagerProvider);
|
||||
final downloadManager = ref.watch(downloadManagerProvider.notifier);
|
||||
final blacklist = ref.watch(BlackListNotifier.provider);
|
||||
final blacklist = ref.watch(blacklistProvider);
|
||||
final me = ref.watch(meProvider);
|
||||
|
||||
final favorites = useTrackToggleLike(track, ref);
|
||||
@ -257,11 +257,11 @@ class TrackOptions extends HookConsumerWidget {
|
||||
break;
|
||||
case TrackOptionValue.blacklist:
|
||||
if (isBlackListed) {
|
||||
ref.read(BlackListNotifier.provider.notifier).remove(
|
||||
ref.read(blacklistProvider.notifier).remove(
|
||||
BlacklistedElement.track(track.id!, track.name!),
|
||||
);
|
||||
} else {
|
||||
ref.read(BlackListNotifier.provider.notifier).add(
|
||||
ref.read(blacklistProvider.notifier).add(
|
||||
BlacklistedElement.track(track.id!, track.name!),
|
||||
);
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ class TrackTile extends HookConsumerWidget {
|
||||
Widget build(BuildContext context, ref) {
|
||||
final theme = Theme.of(context);
|
||||
|
||||
final blacklist = ref.watch(BlackListNotifier.provider);
|
||||
final blacklist = ref.watch(blacklistProvider);
|
||||
|
||||
final isBlackListed = useMemoized(
|
||||
() => blacklist.contains(
|
||||
|
@ -26,8 +26,8 @@ class TrackViewBodySection extends HookConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlistNotifier = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final playlistNotifier = ref.watch(proxyPlaylistProvider.notifier);
|
||||
final props = InheritedTrackView.of(context);
|
||||
final trackViewState = ref.watch(trackViewProvider(props.tracks));
|
||||
|
||||
|
@ -22,7 +22,7 @@ class TrackViewBodyOptions extends HookConsumerWidget {
|
||||
|
||||
ref.watch(downloadManagerProvider);
|
||||
final downloader = ref.watch(downloadManagerProvider.notifier);
|
||||
final playlistNotifier = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final playlistNotifier = ref.watch(proxyPlaylistProvider.notifier);
|
||||
final audioSource =
|
||||
ref.watch(userPreferencesProvider.select((s) => s.audioSource));
|
||||
|
||||
|
@ -18,8 +18,8 @@ class TrackViewHeaderActions extends HookConsumerWidget {
|
||||
Widget build(BuildContext context, ref) {
|
||||
final props = InheritedTrackView.of(context);
|
||||
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlistNotifier = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final playlistNotifier = ref.watch(proxyPlaylistProvider.notifier);
|
||||
|
||||
final isActive = playlist.collections.contains(props.collectionId);
|
||||
|
||||
@ -27,7 +27,7 @@ class TrackViewHeaderActions extends HookConsumerWidget {
|
||||
|
||||
final scaffoldMessenger = ScaffoldMessenger.of(context);
|
||||
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
|
||||
return Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
|
@ -26,8 +26,8 @@ class TrackViewHeaderButtons extends HookConsumerWidget {
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final props = InheritedTrackView.of(context);
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlistNotifier = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final playlistNotifier = ref.watch(proxyPlaylistProvider.notifier);
|
||||
|
||||
final isActive = playlist.collections.contains(props.collectionId);
|
||||
|
||||
|
@ -9,21 +9,20 @@ import 'package:spotube/provider/user_preferences/user_preferences_provider.dart
|
||||
import 'package:spotube/services/audio_player/audio_player.dart';
|
||||
|
||||
void useEndlessPlayback(WidgetRef ref) {
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final playback = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
final playback = ref.watch(proxyPlaylistProvider.notifier);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final spotify = ref.watch(spotifyProvider);
|
||||
final endlessPlayback =
|
||||
ref.watch(userPreferencesProvider.select((s) => s.endlessPlayback));
|
||||
|
||||
|
||||
useEffect(
|
||||
() {
|
||||
if (!endlessPlayback || auth == null) return null;
|
||||
|
||||
void listener(int index) async {
|
||||
try {
|
||||
final playlist = ref.read(ProxyPlaylistNotifier.provider);
|
||||
final playlist = ref.read(proxyPlaylistProvider);
|
||||
if (index != playlist.tracks.length - 1) return;
|
||||
|
||||
final track = playlist.tracks.last;
|
||||
@ -57,7 +56,7 @@ void useEndlessPlayback(WidgetRef ref) {
|
||||
await playback.addTracks(
|
||||
tracks.toList()
|
||||
..removeWhere((e) {
|
||||
final playlist = ref.read(ProxyPlaylistNotifier.provider);
|
||||
final playlist = ref.read(proxyPlaylistProvider);
|
||||
final isDuplicate = playlist.tracks.any((t) => t.id == e.id);
|
||||
return e.id == track.id || isDuplicate;
|
||||
}),
|
||||
|
@ -15,8 +15,8 @@ void useInitSysTray(WidgetRef ref) {
|
||||
|
||||
final initializeMenu = useCallback(() async {
|
||||
systemTray.value?.destroy();
|
||||
final playlist = ref.read(ProxyPlaylistNotifier.provider);
|
||||
final playlistQueue = ref.read(ProxyPlaylistNotifier.notifier);
|
||||
final playlist = ref.read(proxyPlaylistProvider);
|
||||
final playlistQueue = ref.read(proxyPlaylistProvider.notifier);
|
||||
final preferences = ref.read(userPreferencesProvider);
|
||||
if (!preferences.showSystemTrayIcon) {
|
||||
await systemTray.value?.destroy();
|
||||
@ -105,7 +105,7 @@ void useInitSysTray(WidgetRef ref) {
|
||||
useReassemble(initializeMenu);
|
||||
|
||||
ref.listen<ProxyPlaylist?>(
|
||||
ProxyPlaylistNotifier.provider,
|
||||
proxyPlaylistProvider,
|
||||
(previous, next) {
|
||||
initializeMenu();
|
||||
},
|
||||
|
@ -38,8 +38,8 @@ class ArtistPageHeader extends HookConsumerWidget {
|
||||
xxl: textTheme.titleMedium,
|
||||
);
|
||||
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final blacklist = ref.watch(BlackListNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
final blacklist = ref.watch(blacklistProvider);
|
||||
final isBlackListed = blacklist.contains(
|
||||
BlacklistedElement.artist(artistId, artist.name!),
|
||||
);
|
||||
@ -187,14 +187,12 @@ class ArtistPageHeader extends HookConsumerWidget {
|
||||
),
|
||||
onPressed: () async {
|
||||
if (isBlackListed) {
|
||||
ref
|
||||
.read(BlackListNotifier.provider.notifier)
|
||||
.remove(
|
||||
ref.read(blacklistProvider.notifier).remove(
|
||||
BlacklistedElement.artist(
|
||||
artist.id!, artist.name!),
|
||||
);
|
||||
} else {
|
||||
ref.read(BlackListNotifier.provider.notifier).add(
|
||||
ref.read(blacklistProvider.notifier).add(
|
||||
BlacklistedElement.artist(
|
||||
artist.id!, artist.name!),
|
||||
);
|
||||
|
@ -21,8 +21,8 @@ class ArtistPageTopTracks extends HookConsumerWidget {
|
||||
final theme = Theme.of(context);
|
||||
final scaffoldMessenger = ScaffoldMessenger.of(context);
|
||||
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlistNotifier = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final playlistNotifier = ref.watch(proxyPlaylistProvider.notifier);
|
||||
final topTracksQuery = ref.watch(artistTopTracksProvider(artistId));
|
||||
|
||||
final isPlaylistPlaying = playlist.containsTracks(
|
||||
|
@ -16,9 +16,8 @@ class LoginTutorial extends ConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
ref.watch(AuthenticationNotifier.provider);
|
||||
final authenticationNotifier =
|
||||
ref.watch(AuthenticationNotifier.provider.notifier);
|
||||
ref.watch(authenticationProvider);
|
||||
final authenticationNotifier = ref.watch(authenticationProvider.notifier);
|
||||
final key = GlobalKey<State<IntroductionScreen>>();
|
||||
final theme = Theme.of(context);
|
||||
|
||||
|
@ -25,7 +25,7 @@ class PlaylistGenerateResultPage extends HookConsumerWidget {
|
||||
Widget build(BuildContext context, ref) {
|
||||
final router = GoRouter.of(context);
|
||||
final scaffoldMessenger = ScaffoldMessenger.of(context);
|
||||
final playlistNotifier = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final playlistNotifier = ref.watch(proxyPlaylistProvider.notifier);
|
||||
|
||||
final generatedPlaylist = ref.watch(generatePlaylistProvider(state));
|
||||
|
||||
|
@ -28,7 +28,7 @@ class LyricsPage extends HookConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
String albumArt = useMemoized(
|
||||
() => (playlist.activeTrack?.album?.images).asUrlString(
|
||||
index: (playlist.activeTrack?.album?.images?.length ?? 1) - 1,
|
||||
@ -60,7 +60,7 @@ class LyricsPage extends HookConsumerWidget {
|
||||
const Spacer(),
|
||||
Consumer(
|
||||
builder: (context, ref, child) {
|
||||
final playback = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playback = ref.watch(proxyPlaylistProvider);
|
||||
final lyric =
|
||||
ref.watch(syncedLyricsProvider(playback.activeTrack));
|
||||
final providerName = lyric.asData?.value.provider;
|
||||
@ -80,7 +80,7 @@ class LyricsPage extends HookConsumerWidget {
|
||||
),
|
||||
);
|
||||
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
|
||||
if (auth == null) {
|
||||
return Scaffold(
|
||||
|
@ -29,7 +29,7 @@ class MiniLyricsPage extends HookConsumerWidget {
|
||||
final update = useForceUpdate();
|
||||
final wasMaximized = useRef<bool>(false);
|
||||
|
||||
final playlistQueue = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlistQueue = ref.watch(proxyPlaylistProvider);
|
||||
|
||||
final areaActive = useState(false);
|
||||
final hoverMode = useState(true);
|
||||
@ -42,7 +42,7 @@ class MiniLyricsPage extends HookConsumerWidget {
|
||||
return null;
|
||||
}, []);
|
||||
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
|
||||
if (auth == null) {
|
||||
return const Scaffold(
|
||||
@ -222,15 +222,15 @@ class MiniLyricsPage extends HookConsumerWidget {
|
||||
),
|
||||
builder: (context) {
|
||||
return Consumer(builder: (context, ref, _) {
|
||||
final playlist = ref
|
||||
.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlist =
|
||||
ref.watch(proxyPlaylistProvider);
|
||||
|
||||
return PlayerQueue
|
||||
.fromProxyPlaylistNotifier(
|
||||
floating: true,
|
||||
playlist: playlist,
|
||||
notifier: ref
|
||||
.read(ProxyPlaylistNotifier.notifier),
|
||||
.read(proxyPlaylistProvider.notifier),
|
||||
);
|
||||
});
|
||||
},
|
||||
|
@ -27,7 +27,7 @@ class PlainLyrics extends HookConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final lyricsQuery = ref.watch(syncedLyricsProvider(playlist.activeTrack));
|
||||
final mediaQuery = MediaQuery.of(context);
|
||||
final textTheme = Theme.of(context).textTheme;
|
||||
|
@ -32,7 +32,7 @@ class SyncedLyrics extends HookConsumerWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
|
||||
final mediaQuery = MediaQuery.of(context);
|
||||
final controller = useAutoScrollController();
|
||||
@ -54,7 +54,7 @@ class SyncedLyrics extends HookConsumerWidget {
|
||||
final textTheme = Theme.of(context).textTheme;
|
||||
|
||||
ref.listen(
|
||||
ProxyPlaylistNotifier.provider.select((s) => s.activeTrack),
|
||||
proxyPlaylistProvider.select((s) => s.activeTrack),
|
||||
(previous, next) {
|
||||
controller.scrollToIndex(0);
|
||||
ref.read(syncedLyricsDelayProvider.notifier).state = 0;
|
||||
|
@ -13,8 +13,7 @@ class WebViewLogin extends HookConsumerWidget {
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final mounted = useIsMounted();
|
||||
final authenticationNotifier =
|
||||
ref.watch(AuthenticationNotifier.provider.notifier);
|
||||
final authenticationNotifier = ref.watch(authenticationProvider.notifier);
|
||||
|
||||
if (kIsDesktop) {
|
||||
const Scaffold(
|
||||
|
@ -221,9 +221,9 @@ class RootApp extends HookConsumerWidget {
|
||||
),
|
||||
child: Consumer(
|
||||
builder: (context, ref, _) {
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final playlistNotifier =
|
||||
ref.read(ProxyPlaylistNotifier.notifier);
|
||||
ref.read(proxyPlaylistProvider.notifier);
|
||||
|
||||
return PlayerQueue.fromProxyPlaylistNotifier(
|
||||
floating: true,
|
||||
|
@ -34,9 +34,8 @@ class SearchPage extends HookConsumerWidget {
|
||||
final searchTerm = ref.watch(searchTermStateProvider);
|
||||
final controller = useSearchController();
|
||||
|
||||
ref.watch(AuthenticationNotifier.provider);
|
||||
final authenticationNotifier =
|
||||
ref.watch(AuthenticationNotifier.provider.notifier);
|
||||
ref.watch(authenticationProvider);
|
||||
final authenticationNotifier = ref.watch(authenticationProvider.notifier);
|
||||
final mediaQuery = MediaQuery.of(context);
|
||||
|
||||
final searchTrack = ref.watch(searchProvider(SearchType.track));
|
||||
|
@ -24,8 +24,8 @@ class SearchTracksSection extends HookConsumerWidget {
|
||||
ref.watch(searchProvider(SearchType.track).notifier);
|
||||
|
||||
final tracks = searchTrack.asData?.value.items.cast<Track>() ?? [];
|
||||
final playlistNotifier = ref.watch(ProxyPlaylistNotifier.provider.notifier);
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlistNotifier = ref.watch(proxyPlaylistProvider.notifier);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final theme = Theme.of(context);
|
||||
|
||||
return Column(
|
||||
|
@ -16,7 +16,7 @@ class BlackListPage extends HookConsumerWidget {
|
||||
@override
|
||||
Widget build(BuildContext context, ref) {
|
||||
final controller = useScrollController();
|
||||
final blacklist = ref.watch(BlackListNotifier.provider);
|
||||
final blacklist = ref.watch(blacklistProvider);
|
||||
final searchText = useState("");
|
||||
|
||||
final filteredBlacklist = useMemoized(
|
||||
@ -74,7 +74,7 @@ class BlackListPage extends HookConsumerWidget {
|
||||
icon: Icon(SpotubeIcons.trash, color: Colors.red[400]),
|
||||
onPressed: () {
|
||||
ref
|
||||
.read(BlackListNotifier.provider.notifier)
|
||||
.read(blacklistProvider.notifier)
|
||||
.remove(filteredBlacklist.elementAt(index));
|
||||
},
|
||||
),
|
||||
|
@ -15,7 +15,7 @@ class SettingsAccountSection extends HookConsumerWidget {
|
||||
@override
|
||||
Widget build(context, ref) {
|
||||
final theme = Theme.of(context);
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
final scrobbler = ref.watch(scrobblerProvider);
|
||||
final router = GoRouter.of(context);
|
||||
|
||||
@ -86,7 +86,7 @@ class SettingsAccountSection extends HookConsumerWidget {
|
||||
trailing: FilledButton(
|
||||
style: logoutBtnStyle,
|
||||
onPressed: () async {
|
||||
ref.read(AuthenticationNotifier.provider.notifier).logout();
|
||||
ref.read(authenticationProvider.notifier).logout();
|
||||
GoRouter.of(context).pop();
|
||||
},
|
||||
child: Text(context.l10n.logout),
|
||||
|
@ -32,8 +32,8 @@ class TrackPage extends HookConsumerWidget {
|
||||
final ThemeData(:textTheme, :colorScheme) = Theme.of(context);
|
||||
final mediaQuery = MediaQuery.of(context);
|
||||
|
||||
final playlist = ref.watch(ProxyPlaylistNotifier.provider);
|
||||
final playlistNotifier = ref.watch(ProxyPlaylistNotifier.notifier);
|
||||
final playlist = ref.watch(proxyPlaylistProvider);
|
||||
final playlistNotifier = ref.watch(proxyPlaylistProvider.notifier);
|
||||
|
||||
final isActive = playlist.activeTrack?.id == trackId;
|
||||
|
||||
|
@ -95,11 +95,6 @@ class AuthenticationCredentials {
|
||||
|
||||
class AuthenticationNotifier
|
||||
extends PersistedStateNotifier<AuthenticationCredentials?> {
|
||||
static final provider =
|
||||
StateNotifierProvider<AuthenticationNotifier, AuthenticationCredentials?>(
|
||||
(ref) => AuthenticationNotifier(),
|
||||
);
|
||||
|
||||
bool get isLoggedIn => state != null;
|
||||
|
||||
AuthenticationNotifier() : super(null, "authentication", encrypted: true);
|
||||
@ -154,3 +149,8 @@ class AuthenticationNotifier
|
||||
return state?.toJson() ?? {};
|
||||
}
|
||||
}
|
||||
|
||||
final authenticationProvider =
|
||||
StateNotifierProvider<AuthenticationNotifier, AuthenticationCredentials?>(
|
||||
(ref) => AuthenticationNotifier(),
|
||||
);
|
||||
|
@ -43,11 +43,6 @@ class BlackListNotifier
|
||||
extends PersistedStateNotifier<Set<BlacklistedElement>> {
|
||||
BlackListNotifier() : super({}, "blacklist");
|
||||
|
||||
static final provider =
|
||||
StateNotifierProvider<BlackListNotifier, Set<BlacklistedElement>>(
|
||||
(ref) => BlackListNotifier(),
|
||||
);
|
||||
|
||||
void add(BlacklistedElement element) {
|
||||
state = state.union({element});
|
||||
}
|
||||
@ -106,3 +101,8 @@ class BlackListNotifier
|
||||
return {'blacklist': state.map((e) => e.toJson()).toList()};
|
||||
}
|
||||
}
|
||||
|
||||
final blacklistProvider =
|
||||
StateNotifierProvider<BlackListNotifier, Set<BlacklistedElement>>((ref) {
|
||||
return BlackListNotifier();
|
||||
});
|
||||
|
@ -31,7 +31,7 @@ final connectServerProvider = FutureProvider((ref) async {
|
||||
ref.watch(userPreferencesProvider.select((s) => s.enableConnect));
|
||||
final resolvedService = await ref
|
||||
.watch(connectClientsProvider.selectAsync((s) => s.resolvedService));
|
||||
final playbackNotifier = ref.read(ProxyPlaylistNotifier.notifier);
|
||||
final playbackNotifier = ref.read(proxyPlaylistProvider.notifier);
|
||||
|
||||
if (!enabled || resolvedService != null) {
|
||||
return null;
|
||||
@ -57,7 +57,7 @@ final connectServerProvider = FutureProvider((ref) async {
|
||||
_connectClientStreamController.add(origin);
|
||||
|
||||
ref.listen(
|
||||
ProxyPlaylistNotifier.provider,
|
||||
proxyPlaylistProvider,
|
||||
(previous, next) {
|
||||
channel.sink.add(
|
||||
WebSocketQueueEvent(next).toJson(),
|
||||
|
@ -5,6 +5,6 @@ import 'package:spotube/services/custom_spotify_endpoints/spotify_endpoints.dart
|
||||
|
||||
final customSpotifyEndpointProvider = Provider<CustomSpotifyEndpoints>((ref) {
|
||||
ref.watch(spotifyProvider);
|
||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||
final auth = ref.watch(authenticationProvider);
|
||||
return CustomSpotifyEndpoints(auth?.accessToken ?? "");
|
||||
});
|
||||
|
@ -57,7 +57,7 @@ final discordProvider = ChangeNotifierProvider(
|
||||
(ref) {
|
||||
final isEnabled =
|
||||
ref.watch(userPreferencesProvider.select((s) => s.discordPresence));
|
||||
final playback = ref.read(ProxyPlaylistNotifier.provider);
|
||||
final playback = ref.read(proxyPlaylistProvider);
|
||||
final discord = Discord(isEnabled);
|
||||
|
||||
if (playback.activeTrack != null) {
|
||||
|
@ -28,18 +28,9 @@ class ProxyPlaylistNotifier extends PersistedStateNotifier<ProxyPlaylist> {
|
||||
ScrobblerNotifier get scrobbler => ref.read(scrobblerProvider.notifier);
|
||||
UserPreferences get preferences => ref.read(userPreferencesProvider);
|
||||
ProxyPlaylist get playlist => state;
|
||||
BlackListNotifier get blacklist =>
|
||||
ref.read(BlackListNotifier.provider.notifier);
|
||||
BlackListNotifier get blacklist => ref.read(blacklistProvider.notifier);
|
||||
Discord get discord => ref.read(discordProvider);
|
||||
|
||||
static final provider =
|
||||
StateNotifierProvider<ProxyPlaylistNotifier, ProxyPlaylist>(
|
||||
(ref) => ProxyPlaylistNotifier(ref),
|
||||
);
|
||||
|
||||
static AlwaysAliveRefreshable<ProxyPlaylistNotifier> get notifier =>
|
||||
provider.notifier;
|
||||
|
||||
List<StreamSubscription> _subscriptions = [];
|
||||
|
||||
ProxyPlaylistNotifier(this.ref) : super(ProxyPlaylist({}), "playlist") {
|
||||
@ -230,3 +221,8 @@ class ProxyPlaylistNotifier extends PersistedStateNotifier<ProxyPlaylist> {
|
||||
super.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
final proxyPlaylistProvider =
|
||||
StateNotifierProvider<ProxyPlaylistNotifier, ProxyPlaylist>(
|
||||
(ref) => ProxyPlaylistNotifier(ref),
|
||||
);
|
||||
|
@ -28,7 +28,7 @@ class ActiveSourcedTrackNotifier extends Notifier<SourcedTrack?> {
|
||||
state = newTrack;
|
||||
await audioPlayer.pause();
|
||||
|
||||
final playbackNotifier = ref.read(ProxyPlaylistNotifier.notifier);
|
||||
final playbackNotifier = ref.read(proxyPlaylistProvider.notifier);
|
||||
final oldActiveIndex = audioPlayer.currentIndex;
|
||||
|
||||
await playbackNotifier.addTracksAtFirst([newTrack]);
|
||||
|
@ -20,7 +20,7 @@ import 'package:spotube/provider/user_preferences/user_preferences_state.dart';
|
||||
class PlaybackServer {
|
||||
final Ref ref;
|
||||
UserPreferences get userPreferences => ref.read(userPreferencesProvider);
|
||||
ProxyPlaylist get playlist => ref.read(ProxyPlaylistNotifier.provider);
|
||||
ProxyPlaylist get playlist => ref.read(proxyPlaylistProvider);
|
||||
final Logger logger;
|
||||
final Dio dio;
|
||||
|
||||
|
@ -12,7 +12,7 @@ final sourcedTrackProvider =
|
||||
}
|
||||
|
||||
ref.listen(
|
||||
ProxyPlaylistNotifier.provider,
|
||||
proxyPlaylistProvider,
|
||||
(old, next) {
|
||||
if (next.tracks.isEmpty ||
|
||||
next.tracks.none((element) => element.id == track.id)) {
|
||||
|
@ -8,13 +8,6 @@ class SleepTimerNotifier extends StateNotifier<Duration?> {
|
||||
|
||||
Timer? _timer;
|
||||
|
||||
static final provider = StateNotifierProvider<SleepTimerNotifier, Duration?>(
|
||||
(ref) => SleepTimerNotifier(),
|
||||
);
|
||||
|
||||
static AlwaysAliveRefreshable<SleepTimerNotifier> get notifier =>
|
||||
provider.notifier;
|
||||
|
||||
void setSleepTimer(Duration duration) {
|
||||
state = duration;
|
||||
|
||||
@ -29,3 +22,7 @@ class SleepTimerNotifier extends StateNotifier<Duration?> {
|
||||
_timer?.cancel();
|
||||
}
|
||||
}
|
||||
|
||||
final sleepTimerProvider = StateNotifierProvider<SleepTimerNotifier, Duration?>(
|
||||
(ref) => SleepTimerNotifier(),
|
||||
);
|
||||
|
@ -6,7 +6,7 @@ import 'package:spotube/provider/authentication_provider.dart';
|
||||
import 'package:spotube/utils/primitive_utils.dart';
|
||||
|
||||
final spotifyProvider = Provider<SpotifyApi>((ref) {
|
||||
final authState = ref.watch(AuthenticationNotifier.provider);
|
||||
final authState = ref.watch(authenticationProvider);
|
||||
final anonCred = PrimitiveUtils.getRandomElement(Env.spotifySecrets);
|
||||
|
||||
if (authState == null) {
|
||||
|
@ -52,7 +52,7 @@ class UserPreferencesNotifier extends PersistedStateNotifier<UserPreferences> {
|
||||
if (!sync) {
|
||||
ref.read(paletteProvider.notifier).state = null;
|
||||
} else {
|
||||
ref.read(ProxyPlaylistNotifier.notifier).updatePalette();
|
||||
ref.read(proxyPlaylistProvider.notifier).updatePalette();
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user