import 'package:flutter/painting.dart'; import 'package:intl/intl.dart'; import 'package:shared_preferences/shared_preferences.dart'; import '../global.dart' as global; enum Settings { instanceUrl, username, } Future saveInstanceUrl(String url) async { final prefs = await SharedPreferences.getInstance(); return await prefs.setString("instance-url", url); } Future loadInstanceUrl() async { final prefs = await SharedPreferences.getInstance(); String? possibleReturn = prefs.getString("instance-url"); if (possibleReturn == null) { return "example.com"; } else { return possibleReturn; } } Future saveUsername(String username) async { final prefs = await SharedPreferences.getInstance(); return await prefs.setString("username", username); } Future saveAuthCode(String code) async { final prefs = await SharedPreferences.getInstance(); return await prefs.setString("authcode", code); } Future loadAuthCode() async { final prefs = await SharedPreferences.getInstance(); String? code = prefs.getString("authcode"); if (code == null) { return ""; } return code; } Future saveLocale(String locale) async { final prefs = await SharedPreferences.getInstance(); return await prefs.setString("active-locale", locale); } Future loadLocale() async { final prefs = await SharedPreferences.getInstance(); String? locale = prefs.getString("active-locale"); if (locale == null) { if (global.availableLocales.contains(Locale(Intl.systemLocale))) { return Locale(Intl.systemLocale); } return const Locale("en"); } return Locale(locale); }