This commit is contained in:
dmit.b
2026-07-05 12:42:04 +03:00
parent f011a121d7
commit 98cd704234
8 changed files with 81 additions and 69 deletions
+15 -22
View File
@@ -30,13 +30,18 @@ class _LoginScreenState extends State<LoginScreen>
_tabController.addListener(() {
setState(() {});
});
final settings = context.read<SettingsService>();
_serverUrlController.text = settings.baseUrl;
_loginController.text = settings.login ?? "";
_passwordController.text = settings.pwd ?? "";
if (settings.login != null && settings.pwd != null) {
savedAuth = true;
}
WidgetsBinding.instance.addPostFrameCallback((_) {
final settings = context.read<SettingsService>();
_serverUrlController.text = settings.baseUrl;
_loginController.text = settings.login ?? "";
_passwordController.text = settings.pwd ?? "";
if (settings.login != null && settings.pwd != null) {
savedAuth = true;
final authProvider = context.read<AuthProvider>();
login(settings.login!, settings.pwd!, authProvider);
Navigator.of(context).pushReplacementNamed('/map');
}
});
}
@override
@@ -53,15 +58,6 @@ class _LoginScreenState extends State<LoginScreen>
Widget build(BuildContext context) {
final authProvider = context.watch<AuthProvider>();
final settings = context.read<SettingsService>();
if (savedAuth) {
login(
_loginController.text,
_passwordController.text,
context,
authProvider,
settings,
);
}
return Scaffold(
resizeToAvoidBottomInset: true,
body: SingleChildScrollView(
@@ -77,7 +73,7 @@ class _LoginScreenState extends State<LoginScreen>
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
const Text(
'Family Safety',
'Авторизация',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 32,
@@ -174,11 +170,13 @@ class _LoginScreenState extends State<LoginScreen>
}
}
if (_tabController.index == 0) {
print("Login...");
try {
await authProvider.login(
_loginController.text,
_passwordController.text,
);
settings.saveAuth(_loginController.text, _passwordController.text);
if (!context.mounted) return;
Navigator.of(
context,
@@ -233,15 +231,10 @@ class _LoginScreenState extends State<LoginScreen>
Future<void> login(
String login,
String pwd,
BuildContext ctx,
AuthProvider authProvider,
SettingsService settings,
) async {
try {
await authProvider.login(login, pwd);
settings.saveAuth(login, pwd);
if (!ctx.mounted) return;
Navigator.of(ctx).pushReplacementNamed('/map');
} catch (e) {
// Error is handled by provider
}