44 lines
1.2 KiB
Dart
44 lines
1.2 KiB
Dart
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
class SettingsService {
|
|
SettingsService(){initialize();}
|
|
static const String _baseUrlKey = 'server_base_url';
|
|
static const String _defaultBaseUrl =
|
|
'https://family-safety.onrender.com/api';
|
|
static const String _loginKey = "login";
|
|
static const String _pwdKey = "pwd";
|
|
|
|
String _baseUrl = _defaultBaseUrl;
|
|
bool _initialized = false;
|
|
String get baseUrl => _baseUrl;
|
|
String? login;
|
|
String? pwd;
|
|
|
|
Future<void> initialize() async {
|
|
if (_initialized) return;
|
|
final prefs = await SharedPreferences.getInstance();
|
|
_baseUrl = prefs.getString(_baseUrlKey) ?? _defaultBaseUrl;
|
|
login = prefs.getString(_loginKey);
|
|
pwd = prefs.getString(_pwdKey);
|
|
_initialized = true;
|
|
}
|
|
|
|
Future<void> setBaseUrl(String url) async {
|
|
_baseUrl = url;
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.setString(_baseUrlKey, url);
|
|
}
|
|
|
|
Future<void> saveAuth(String user, String pass) async {
|
|
login = user;
|
|
pwd = pass;
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.setString(_loginKey, user);
|
|
await prefs.setString(_loginKey, user);
|
|
}
|
|
|
|
void resetToDefault() {
|
|
_baseUrl = _defaultBaseUrl;
|
|
}
|
|
}
|