namespace practiceApplicaiton; public partial class LoginPage : ContentPage { public LoginPage() { InitializeComponent(); RolePicker.SelectedIndex = 1; // По умолчанию — Менеджер } private async void OnLoginClicked(object sender, EventArgs e) { ErrorLabel.IsVisible = false; LoginButton.IsEnabled = false; if (RolePicker.SelectedIndex < 0) { ShowError("Выберите роль"); return; } var role = RolePicker.SelectedIndex == 0 ? AppRole.Admin : AppRole.Manager; var password = PasswordEntry.Text ?? ""; if (string.IsNullOrWhiteSpace(password)) { ShowError("Введите пароль"); return; } try { var ok = await Database.ConnectAsync(role, password); if (ok) { Application.Current!.Windows[0].Page = new AppShell(); } else { ShowError("Неверный пароль или нет доступа к БД"); } } catch (Exception ex) { ShowError($"Ошибка подключения: {ex.Message}"); } finally { LoginButton.IsEnabled = true; } } private void ShowError(string msg) { ErrorLabel.Text = msg; ErrorLabel.IsVisible = true; } }