This commit is contained in:
2026-01-24 19:22:03 +01:00
parent 5c948d2010
commit 11140a748a
4 changed files with 47 additions and 40 deletions

View File

@@ -18,7 +18,7 @@ class _LoginPageState extends State<LoginPage> {
final TextEditingController _urlController = TextEditingController(
text: "https://sheetable.julian-mutter.de",
);
final TextEditingController _emailController = TextEditingController();
final TextEditingController _usernameController = TextEditingController();
final TextEditingController _passwordController = TextEditingController();
final _formKey = GlobalKey<FormState>();
@@ -40,12 +40,12 @@ class _LoginPageState extends State<LoginPage> {
return;
}
final url = await _storageHelper.readSecure(SecureStorageKey.url);
final email = await _storageHelper.readSecure(SecureStorageKey.email);
final username = await _storageHelper.readSecure(SecureStorageKey.email);
if (url != null) {
_urlController.text = url;
}
if (email != null) {
_emailController.text = email;
if (username != null) {
_usernameController.text = username;
}
}
@@ -58,17 +58,18 @@ class _LoginPageState extends State<LoginPage> {
}
}
Future<void> _login(String serverUrl, String email, String password) async {
Future<void> _login(
String serverUrl, String username, String password) async {
setState(() {
_error = null;
});
final apiClient = ApiClient(baseUrl: "$serverUrl/api");
final apiClient = ApiClient(baseUrl: serverUrl);
try {
await apiClient.login(email, password);
await apiClient.login(username, password);
await _storageHelper.writeSecure(SecureStorageKey.url, serverUrl);
await _storageHelper.writeSecure(SecureStorageKey.jwt, apiClient.token!);
await _storageHelper.writeSecure(SecureStorageKey.email, email);
await _storageHelper.writeSecure(SecureStorageKey.email, username);
await _navigateToMainPage();
} catch (e) {
setState(() {
@@ -98,7 +99,7 @@ class _LoginPageState extends State<LoginPage> {
if (_formKey.currentState!.validate()) {
await _login(
_urlController.text,
_emailController.text,
_usernameController.text,
_passwordController.text,
);
}
@@ -123,9 +124,9 @@ class _LoginPageState extends State<LoginPage> {
textInputAction: TextInputAction.next,
),
TextFormField(
controller: _emailController,
controller: _usernameController,
validator: validateNotEmpty,
decoration: InputDecoration(labelText: 'Email'),
decoration: InputDecoration(labelText: 'Username'),
textInputAction: TextInputAction.next,
),
TextFormField(