diff options
Diffstat (limited to 'MatrixUtils.Desktop/LoginWindow.axaml.cs')
-rw-r--r-- | MatrixUtils.Desktop/LoginWindow.axaml.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/MatrixUtils.Desktop/LoginWindow.axaml.cs b/MatrixUtils.Desktop/LoginWindow.axaml.cs new file mode 100644 index 0000000..ac59317 --- /dev/null +++ b/MatrixUtils.Desktop/LoginWindow.axaml.cs @@ -0,0 +1,37 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Interactivity; +using Avalonia.Markup.Xaml; +using Avalonia.VisualTree; + +namespace MatrixUtils.Desktop; + +public partial class LoginWindow : Window { + private readonly RMUStorageWrapper _storage; + + public LoginWindow(RMUStorageWrapper storage) { + _storage = storage; + InitializeComponent(); +#if DEBUG + this.AttachDevTools(); +#endif + } + + private void InitializeComponent() { + AvaloniaXamlLoader.Load(this); + } + + public string Username { get; set; } + public string Password { get; set; } + // ReSharper disable once AsyncVoidMethod + private async void Login(object? sender, RoutedEventArgs e) { + var res = await _storage.Login(Username.Split(':')[1], Username.Split(':')[0][1..], Password); + if (res is not null) { + await _storage.AddToken(res); + Close(); + } + else { + Password = ""; + } + } +} |