From a41656d3c52d34b81fe1bb702ffbf9cf42c33f22 Mon Sep 17 00:00:00 2001 From: Alex Ardhian Date: Wed, 2 Sep 2026 18:14:32 +0700 Subject: [PATCH] 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 --- flutter/lib/main.dart | 13 +++++++++++++ flutter/lib/services/session.dart | 7 +++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/flutter/lib/main.dart b/flutter/lib/main.dart index 234fb9a..06a1657 100644 --- a/flutter/lib/main.dart +++ b/flutter/lib/main.dart @@ -96,6 +96,19 @@ class _LoginScreenState extends State { bool _busy = false; String? _error; + @override + void initState() { + super.initState(); + _loadUrl(); + } + + Future _loadUrl() async { + final url = await Session.readLastUrl(); + if (url != null && mounted) { + setState(() => _url.text = url); + } + } + @override Widget build(BuildContext context) { return Scaffold( diff --git a/flutter/lib/services/session.dart b/flutter/lib/services/session.dart index ef7f046..e4c93cf 100644 --- a/flutter/lib/services/session.dart +++ b/flutter/lib/services/session.dart @@ -27,9 +27,12 @@ class Session { } static Future clear() async { - await _storage.delete(key: _kBase); - await _storage.delete(key: _kDb); + // Hapus sesi (user & pass), tapi sisakan URL (_kBase) agar login berikutnya mudah await _storage.delete(key: _kUser); await _storage.delete(key: _kPass); } + + static Future readLastUrl() async { + return _storage.read(key: _kBase); + } }