1 files changed, 33 insertions, 0 deletions
diff --git a/ModerationClient/ViewModels/MainWindowViewModel.cs b/ModerationClient/ViewModels/MainWindowViewModel.cs
new file mode 100644
index 0000000..01ec6d6
--- /dev/null
+++ b/ModerationClient/ViewModels/MainWindowViewModel.cs
@@ -0,0 +1,33 @@
+using System;
+using ModerationClient.Services;
+using ModerationClient.Views;
+
+namespace ModerationClient.ViewModels;
+
+public partial class MainWindowViewModel(MatrixAuthenticationService authService, CommandLineConfiguration cfg) : ViewModelBase {
+ public MainWindow? MainWindow { get; set; }
+
+ private float _scale = 1.0f;
+ private ViewModelBase _currentViewModel = new LoginViewModel(authService);
+
+ public ViewModelBase CurrentViewModel {
+ get => _currentViewModel;
+ set => SetProperty(ref _currentViewModel, value);
+ }
+
+ public CommandLineConfiguration CommandLineConfiguration { get; } = cfg;
+ public MatrixAuthenticationService AuthService { get; } = authService;
+
+ public float Scale {
+ get => _scale;
+ set {
+ SetProperty(ref _scale, (float)Math.Round(value, 2));
+ OnPropertyChanged(nameof(ChildTargetWidth));
+ OnPropertyChanged(nameof(ChildTargetHeight));
+ }
+ }
+ public int ChildTargetWidth => (int)(MainWindow?.Width / Scale ?? 1);
+ public int ChildTargetHeight => (int)(MainWindow?.Height / Scale ?? 1);
+
+
+}
\ No newline at end of file
|