mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 16:05:18 +00:00
final fix of the lyrics issue
This commit is contained in:
parent
2ec0172741
commit
b4e79ce7ff
@ -18,7 +18,7 @@ class Lyrics extends HookConsumerWidget {
|
|||||||
var lyrics = useState({});
|
var lyrics = useState({});
|
||||||
|
|
||||||
bool hasToken = (userPreferences.geniusAccessToken != null ||
|
bool hasToken = (userPreferences.geniusAccessToken != null ||
|
||||||
(userPreferences.geniusAccessToken?.isNotEmpty ?? false));
|
(userPreferences.geniusAccessToken.isNotEmpty));
|
||||||
var lyricsFuture = useMemoized(() {
|
var lyricsFuture = useMemoized(() {
|
||||||
if (playback.currentTrack == null ||
|
if (playback.currentTrack == null ||
|
||||||
!hasToken ||
|
!hasToken ||
|
||||||
@ -29,7 +29,7 @@ class Lyrics extends HookConsumerWidget {
|
|||||||
return getLyrics(
|
return getLyrics(
|
||||||
playback.currentTrack!.name!,
|
playback.currentTrack!.name!,
|
||||||
artistsToString<Artist>(playback.currentTrack!.artists ?? []),
|
artistsToString<Artist>(playback.currentTrack!.artists ?? []),
|
||||||
apiKey: userPreferences.geniusAccessToken!,
|
apiKey: userPreferences.geniusAccessToken,
|
||||||
optimizeQuery: true,
|
optimizeQuery: true,
|
||||||
);
|
);
|
||||||
}, [playback.currentTrack]);
|
}, [playback.currentTrack]);
|
||||||
|
@ -67,7 +67,7 @@ class Settings extends HookConsumerWidget {
|
|||||||
SharedPreferences localStorage =
|
SharedPreferences localStorage =
|
||||||
await SharedPreferences.getInstance();
|
await SharedPreferences.getInstance();
|
||||||
preferences.setGeniusAccessToken(
|
preferences.setGeniusAccessToken(
|
||||||
geniusAccessToken.value);
|
geniusAccessToken.value ?? "");
|
||||||
localStorage.setString(
|
localStorage.setString(
|
||||||
LocalStorageKeys.geniusAccessToken,
|
LocalStorageKeys.geniusAccessToken,
|
||||||
geniusAccessToken.value ?? "");
|
geniusAccessToken.value ?? "");
|
||||||
|
@ -7,15 +7,15 @@ import 'package:shared_preferences/shared_preferences.dart';
|
|||||||
import 'package:spotube/models/LocalStorageKeys.dart';
|
import 'package:spotube/models/LocalStorageKeys.dart';
|
||||||
|
|
||||||
class UserPreferences extends ChangeNotifier {
|
class UserPreferences extends ChangeNotifier {
|
||||||
String? geniusAccessToken;
|
String geniusAccessToken;
|
||||||
HotKey? nextTrackHotKey;
|
HotKey? nextTrackHotKey;
|
||||||
HotKey? prevTrackHotKey;
|
HotKey? prevTrackHotKey;
|
||||||
HotKey? playPauseHotKey;
|
HotKey? playPauseHotKey;
|
||||||
UserPreferences({
|
UserPreferences({
|
||||||
|
required this.geniusAccessToken,
|
||||||
this.nextTrackHotKey,
|
this.nextTrackHotKey,
|
||||||
this.prevTrackHotKey,
|
this.prevTrackHotKey,
|
||||||
this.playPauseHotKey,
|
this.playPauseHotKey,
|
||||||
this.geniusAccessToken,
|
|
||||||
}) {
|
}) {
|
||||||
onInit();
|
onInit();
|
||||||
}
|
}
|
||||||
@ -38,7 +38,7 @@ class UserPreferences extends ChangeNotifier {
|
|||||||
String? accessToken =
|
String? accessToken =
|
||||||
localStorage.getString(LocalStorageKeys.geniusAccessToken);
|
localStorage.getString(LocalStorageKeys.geniusAccessToken);
|
||||||
|
|
||||||
geniusAccessToken ??= accessToken;
|
if (accessToken != null) geniusAccessToken = accessToken;
|
||||||
|
|
||||||
nextTrackHotKey ??= (await _getHotKeyFromLocalStorage(
|
nextTrackHotKey ??= (await _getHotKeyFromLocalStorage(
|
||||||
localStorage,
|
localStorage,
|
||||||
@ -73,7 +73,7 @@ class UserPreferences extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setGeniusAccessToken(String? token) {
|
setGeniusAccessToken(String token) {
|
||||||
geniusAccessToken = token;
|
geniusAccessToken = token;
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
@ -112,4 +112,5 @@ class UserPreferences extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var userPreferencesProvider = ChangeNotifierProvider((_) => UserPreferences());
|
var userPreferencesProvider =
|
||||||
|
ChangeNotifierProvider((_) => UserPreferences(geniusAccessToken: ""));
|
||||||
|
Loading…
Reference in New Issue
Block a user