libretranslatr
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
/// Sunucu URL'si ve API key gibi ayarları kalıcı olarak saklar.
|
||||
class SettingsService {
|
||||
static const _keyServerUrl = 'server_url';
|
||||
static const _keyApiKey = 'api_key';
|
||||
|
||||
Future<String?> getServerUrl() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
return prefs.getString(_keyServerUrl);
|
||||
}
|
||||
|
||||
Future<String?> getApiKey() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
final key = prefs.getString(_keyApiKey);
|
||||
return (key == null || key.isEmpty) ? null : key;
|
||||
}
|
||||
|
||||
Future<void> save({required String serverUrl, required String apiKey}) async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
// Sonundaki "/" karakterini temizle, karışıklık olmasın.
|
||||
final cleanUrl = serverUrl.trim().replaceAll(RegExp(r'/+$'), '');
|
||||
await prefs.setString(_keyServerUrl, cleanUrl);
|
||||
await prefs.setString(_keyApiKey, apiKey.trim());
|
||||
}
|
||||
|
||||
Future<bool> hasSettings() async {
|
||||
final url = await getServerUrl();
|
||||
return url != null && url.isNotEmpty;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user