mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00
feat: add restore default settings button
This commit is contained in:
parent
101c32523d
commit
94c386638f
@ -267,5 +267,6 @@
|
|||||||
"use_amoled_dark_theme": "Use AMOLED (Pitch Black) dark theme",
|
"use_amoled_dark_theme": "Use AMOLED (Pitch Black) dark theme",
|
||||||
"normalize_audio": "Normalize audio",
|
"normalize_audio": "Normalize audio",
|
||||||
"change_cover": "Change cover",
|
"change_cover": "Change cover",
|
||||||
"add_cover": "Add cover"
|
"add_cover": "Add cover",
|
||||||
|
"restore_defaults": "Restore defaults"
|
||||||
}
|
}
|
@ -33,7 +33,7 @@ class SettingsPage extends HookConsumerWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context, ref) {
|
Widget build(BuildContext context, ref) {
|
||||||
final UserPreferences preferences = ref.watch(userPreferencesProvider);
|
final preferences = ref.watch(userPreferencesProvider);
|
||||||
final auth = ref.watch(AuthenticationNotifier.provider);
|
final auth = ref.watch(AuthenticationNotifier.provider);
|
||||||
final theme = Theme.of(context);
|
final theme = Theme.of(context);
|
||||||
final mediaQuery = MediaQuery.of(context);
|
final mediaQuery = MediaQuery.of(context);
|
||||||
@ -602,6 +602,13 @@ class SettingsPage extends HookConsumerWidget {
|
|||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
Center(
|
||||||
|
child: FilledButton(
|
||||||
|
onPressed: preferences.reset,
|
||||||
|
child: Text(context.l10n.restore_defaults),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(height: 10),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -47,7 +47,7 @@ class UserPreferences extends PersistedChangeNotifier {
|
|||||||
bool checkUpdate;
|
bool checkUpdate;
|
||||||
AudioQuality audioQuality;
|
AudioQuality audioQuality;
|
||||||
|
|
||||||
SpotubeColor accentColorScheme;
|
late SpotubeColor accentColorScheme;
|
||||||
bool albumColorSync;
|
bool albumColorSync;
|
||||||
|
|
||||||
String downloadLocation;
|
String downloadLocation;
|
||||||
@ -78,10 +78,9 @@ class UserPreferences extends PersistedChangeNotifier {
|
|||||||
|
|
||||||
UserPreferences(
|
UserPreferences(
|
||||||
this.ref, {
|
this.ref, {
|
||||||
required this.recommendationMarket,
|
this.recommendationMarket = Market.US,
|
||||||
required this.themeMode,
|
this.themeMode = ThemeMode.system,
|
||||||
required this.layoutMode,
|
this.layoutMode = LayoutMode.adaptive,
|
||||||
required this.accentColorScheme,
|
|
||||||
this.albumColorSync = true,
|
this.albumColorSync = true,
|
||||||
this.saveTrackLyrics = false,
|
this.saveTrackLyrics = false,
|
||||||
this.checkUpdate = true,
|
this.checkUpdate = true,
|
||||||
@ -97,7 +96,10 @@ class UserPreferences extends PersistedChangeNotifier {
|
|||||||
this.systemTitleBar = false,
|
this.systemTitleBar = false,
|
||||||
this.amoledDarkTheme = false,
|
this.amoledDarkTheme = false,
|
||||||
this.normalizeAudio = true,
|
this.normalizeAudio = true,
|
||||||
|
SpotubeColor? accentColorScheme,
|
||||||
}) : super() {
|
}) : super() {
|
||||||
|
this.accentColorScheme =
|
||||||
|
accentColorScheme ?? SpotubeColor(Colors.blue.value, name: "Blue");
|
||||||
if (downloadLocation.isEmpty && !kIsWeb) {
|
if (downloadLocation.isEmpty && !kIsWeb) {
|
||||||
_getDefaultDownloadDirectory().then(
|
_getDefaultDownloadDirectory().then(
|
||||||
(value) {
|
(value) {
|
||||||
@ -107,6 +109,28 @@ class UserPreferences extends PersistedChangeNotifier {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void reset() {
|
||||||
|
setRecommendationMarket(Market.US);
|
||||||
|
setThemeMode(ThemeMode.system);
|
||||||
|
setLayoutMode(LayoutMode.adaptive);
|
||||||
|
setAlbumColorSync(true);
|
||||||
|
setSaveTrackLyrics(false);
|
||||||
|
setCheckUpdate(true);
|
||||||
|
setAudioQuality(AudioQuality.high);
|
||||||
|
setDownloadLocation("");
|
||||||
|
setCloseBehavior(CloseBehavior.close);
|
||||||
|
setShowSystemTrayIcon(true);
|
||||||
|
setLocale(const Locale("system", "system"));
|
||||||
|
setPipedInstance("https://pipedapi.kavin.rocks");
|
||||||
|
setSearchMode(SearchMode.youtube);
|
||||||
|
setSkipNonMusic(true);
|
||||||
|
setYoutubeApiType(YoutubeApiType.youtube);
|
||||||
|
setSystemTitleBar(false);
|
||||||
|
setAmoledDarkTheme(false);
|
||||||
|
setNormalizeAudio(true);
|
||||||
|
setAccentColorScheme(SpotubeColor(Colors.blue.value, name: "Blue"));
|
||||||
|
}
|
||||||
|
|
||||||
void setThemeMode(ThemeMode mode) {
|
void setThemeMode(ThemeMode mode) {
|
||||||
themeMode = mode;
|
themeMode = mode;
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
@ -372,11 +396,5 @@ class UserPreferences extends PersistedChangeNotifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final userPreferencesProvider = ChangeNotifierProvider(
|
final userPreferencesProvider = ChangeNotifierProvider(
|
||||||
(ref) => UserPreferences(
|
(ref) => UserPreferences(ref),
|
||||||
ref,
|
|
||||||
accentColorScheme: SpotubeColor(Colors.blue.value, name: "Blue"),
|
|
||||||
recommendationMarket: Market.US,
|
|
||||||
themeMode: ThemeMode.system,
|
|
||||||
layoutMode: LayoutMode.adaptive,
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
|
@ -3,90 +3,103 @@
|
|||||||
"use_amoled_dark_theme",
|
"use_amoled_dark_theme",
|
||||||
"normalize_audio",
|
"normalize_audio",
|
||||||
"change_cover",
|
"change_cover",
|
||||||
"add_cover"
|
"add_cover",
|
||||||
|
"restore_defaults"
|
||||||
],
|
],
|
||||||
|
|
||||||
"bn": [
|
"bn": [
|
||||||
"use_amoled_dark_theme",
|
"use_amoled_dark_theme",
|
||||||
"normalize_audio",
|
"normalize_audio",
|
||||||
"change_cover",
|
"change_cover",
|
||||||
"add_cover"
|
"add_cover",
|
||||||
|
"restore_defaults"
|
||||||
],
|
],
|
||||||
|
|
||||||
"ca": [
|
"ca": [
|
||||||
"use_amoled_dark_theme",
|
"use_amoled_dark_theme",
|
||||||
"normalize_audio",
|
"normalize_audio",
|
||||||
"change_cover",
|
"change_cover",
|
||||||
"add_cover"
|
"add_cover",
|
||||||
|
"restore_defaults"
|
||||||
],
|
],
|
||||||
|
|
||||||
"de": [
|
"de": [
|
||||||
"use_amoled_dark_theme",
|
"use_amoled_dark_theme",
|
||||||
"normalize_audio",
|
"normalize_audio",
|
||||||
"change_cover",
|
"change_cover",
|
||||||
"add_cover"
|
"add_cover",
|
||||||
|
"restore_defaults"
|
||||||
],
|
],
|
||||||
|
|
||||||
"es": [
|
"es": [
|
||||||
"use_amoled_dark_theme",
|
"use_amoled_dark_theme",
|
||||||
"normalize_audio",
|
"normalize_audio",
|
||||||
"change_cover",
|
"change_cover",
|
||||||
"add_cover"
|
"add_cover",
|
||||||
|
"restore_defaults"
|
||||||
],
|
],
|
||||||
|
|
||||||
"fr": [
|
"fr": [
|
||||||
"use_amoled_dark_theme",
|
"use_amoled_dark_theme",
|
||||||
"normalize_audio",
|
"normalize_audio",
|
||||||
"change_cover",
|
"change_cover",
|
||||||
"add_cover"
|
"add_cover",
|
||||||
|
"restore_defaults"
|
||||||
],
|
],
|
||||||
|
|
||||||
"hi": [
|
"hi": [
|
||||||
"use_amoled_dark_theme",
|
"use_amoled_dark_theme",
|
||||||
"normalize_audio",
|
"normalize_audio",
|
||||||
"change_cover",
|
"change_cover",
|
||||||
"add_cover"
|
"add_cover",
|
||||||
|
"restore_defaults"
|
||||||
],
|
],
|
||||||
|
|
||||||
"ja": [
|
"ja": [
|
||||||
"use_amoled_dark_theme",
|
"use_amoled_dark_theme",
|
||||||
"normalize_audio",
|
"normalize_audio",
|
||||||
"change_cover",
|
"change_cover",
|
||||||
"add_cover"
|
"add_cover",
|
||||||
|
"restore_defaults"
|
||||||
],
|
],
|
||||||
|
|
||||||
"pl": [
|
"pl": [
|
||||||
"use_amoled_dark_theme",
|
"use_amoled_dark_theme",
|
||||||
"normalize_audio",
|
"normalize_audio",
|
||||||
"change_cover",
|
"change_cover",
|
||||||
"add_cover"
|
"add_cover",
|
||||||
|
"restore_defaults"
|
||||||
],
|
],
|
||||||
|
|
||||||
"pt": [
|
"pt": [
|
||||||
"use_amoled_dark_theme",
|
"use_amoled_dark_theme",
|
||||||
"normalize_audio",
|
"normalize_audio",
|
||||||
"change_cover",
|
"change_cover",
|
||||||
"add_cover"
|
"add_cover",
|
||||||
|
"restore_defaults"
|
||||||
],
|
],
|
||||||
|
|
||||||
"ru": [
|
"ru": [
|
||||||
"use_amoled_dark_theme",
|
"use_amoled_dark_theme",
|
||||||
"normalize_audio",
|
"normalize_audio",
|
||||||
"change_cover",
|
"change_cover",
|
||||||
"add_cover"
|
"add_cover",
|
||||||
|
"restore_defaults"
|
||||||
],
|
],
|
||||||
|
|
||||||
"uk": [
|
"uk": [
|
||||||
"use_amoled_dark_theme",
|
"use_amoled_dark_theme",
|
||||||
"normalize_audio",
|
"normalize_audio",
|
||||||
"change_cover",
|
"change_cover",
|
||||||
"add_cover"
|
"add_cover",
|
||||||
|
"restore_defaults"
|
||||||
],
|
],
|
||||||
|
|
||||||
"zh": [
|
"zh": [
|
||||||
"use_amoled_dark_theme",
|
"use_amoled_dark_theme",
|
||||||
"normalize_audio",
|
"normalize_audio",
|
||||||
"change_cover",
|
"change_cover",
|
||||||
"add_cover"
|
"add_cover",
|
||||||
|
"restore_defaults"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user