Load server configuration
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

This commit is contained in:
2025-07-07 21:36:35 +02:00
parent 0a87ac572b
commit 74bb31ecc1
8 changed files with 219 additions and 29 deletions

View File

@ -1,4 +1,7 @@
import 'dart:convert';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:moneymgr_mobile/services/api/server_api.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shared_preferences/shared_preferences.dart';
@ -9,3 +12,19 @@ Future<SharedPreferencesWithCache> prefs(Ref ref) =>
SharedPreferencesWithCache.create(
cacheOptions: const SharedPreferencesWithCacheOptions(),
);
extension MoneyMgrSharedPreferences on SharedPreferencesWithCache {
ServerConfig? serverConfig() {
final json = getString("serverConfig");
if (json != null) return ServerConfig.fromJson(jsonDecode(json));
return null;
}
Future<void> setServerConfig(ServerConfig config) async {
await setString("serverConfig", jsonEncode(config));
}
Future<void> clearServerConfig() async {
await remove("serverConfig");
}
}