1 files changed, 36 insertions, 0 deletions
diff --git a/MatrixRoomUtils.Desktop/LoginWindow.axaml.cs b/MatrixRoomUtils.Desktop/LoginWindow.axaml.cs
new file mode 100644
index 0000000..1f31b05
--- /dev/null
+++ b/MatrixRoomUtils.Desktop/LoginWindow.axaml.cs
@@ -0,0 +1,36 @@
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Interactivity;
+using Avalonia.Markup.Xaml;
+
+namespace MatrixRoomUtils.Desktop;
+
+public partial class LoginWindow : Window {
+ private readonly MRUStorageWrapper _storage;
+
+ public LoginWindow(MRUStorageWrapper 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 = "";
+ }
+ }
+}
|