Flutter: tampilkan URL server tersimpan saat layar login berikutnya

- Session.clear() kini hapus sesi (user/pass) tapi sisakan URL terakhir
- + Session.readLastUrl()
- LoginScreen mengisi field URL dari URL terakhir saat dibuka
- sesudah logout login lagi URL sudah terisi, tak perlu ketik ulang
This commit is contained in:
2026-09-02 18:14:32 +07:00
parent 6dfa59ae23
commit a41656d3c5
2 changed files with 18 additions and 2 deletions

View File

@@ -96,6 +96,19 @@ class _LoginScreenState extends State<LoginScreen> {
bool _busy = false; bool _busy = false;
String? _error; String? _error;
@override
void initState() {
super.initState();
_loadUrl();
}
Future<void> _loadUrl() async {
final url = await Session.readLastUrl();
if (url != null && mounted) {
setState(() => _url.text = url);
}
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(

View File

@@ -27,9 +27,12 @@ class Session {
} }
static Future<void> clear() async { static Future<void> clear() async {
await _storage.delete(key: _kBase); // Hapus sesi (user & pass), tapi sisakan URL (_kBase) agar login berikutnya mudah
await _storage.delete(key: _kDb);
await _storage.delete(key: _kUser); await _storage.delete(key: _kUser);
await _storage.delete(key: _kPass); await _storage.delete(key: _kPass);
} }
static Future<String?> readLastUrl() async {
return _storage.read(key: _kBase);
}
} }