From e4dd1b61504a4bb13b9fb64ccb4099360765c4dd Mon Sep 17 00:00:00 2001 From: Dennis Brentjes Date: Sat, 31 Jan 2026 13:24:14 +0100 Subject: [PATCH] Got Avalonia.Ui working. --- Gamenight.Ui/Directory.Packages.props | 2 +- .../Gamenight.Ui.Android.csproj | 4 +- .../Gamenight.Ui.Android/MainActivity.cs | 4 +- .../Properties/AndroidManifest.xml | 2 +- .../Gamenight.Ui.Browser.csproj | 2 +- Gamenight.Ui/Gamenight.Ui.Browser/Program.cs | 2 +- .../Properties/launchSettings.json | 2 +- .../Gamenight.Ui.Browser/wwwroot/index.html | 2 +- .../Gamenight.Ui.Desktop.csproj | 2 +- Gamenight.Ui/Gamenight.Ui.Desktop/Program.cs | 6 +- .../Gamenight.Ui.Desktop/app.manifest | 2 +- Gamenight.Ui/Gamenight.Ui.iOS/AppDelegate.cs | 2 +- .../Gamenight.Ui.iOS/Gamenight.Ui.iOS.csproj | 2 +- Gamenight.Ui/Gamenight.Ui.iOS/Info.plist | 4 +- Gamenight.Ui/Gamenight.Ui.iOS/Main.cs | 2 +- .../Resources/LaunchScreen.xib | 2 +- Gamenight.Ui/Gamenight.Ui/App.axaml | 4 +- Gamenight.Ui/Gamenight.Ui/App.axaml.cs | 21 +- Gamenight.Ui/Gamenight.Ui/Gamenight.Ui.csproj | 2 +- .../Gamenight.Ui/Services/IGamenight.cs | 459 +++++++++--------- Gamenight.Ui/Gamenight.Ui/ViewLocator.cs | 4 +- .../ViewModels/HeaderViewModel.cs | 7 + .../Gamenight.Ui/ViewModels/MainViewModel.cs | 31 +- .../ViewModels/SideBarViewModel.cs | 7 + .../Gamenight.Ui/ViewModels/ViewModelBase.cs | 2 +- .../Gamenight.Ui/Views/HeaderView.axaml | 15 + .../Gamenight.Ui/Views/HeaderView.axaml.cs | 17 + .../Gamenight.Ui/Views/MainView.axaml | 25 +- .../Gamenight.Ui/Views/MainView.axaml.cs | 2 +- .../Gamenight.Ui/Views/MainWindow.axaml | 7 +- .../Gamenight.Ui/Views/MainWindow.axaml.cs | 2 +- .../Gamenight.Ui/Views/SideBarView.axaml | 15 + .../Gamenight.Ui/Views/SideBarView.axaml.cs | 17 + 33 files changed, 396 insertions(+), 283 deletions(-) create mode 100644 Gamenight.Ui/Gamenight.Ui/ViewModels/HeaderViewModel.cs create mode 100644 Gamenight.Ui/Gamenight.Ui/ViewModels/SideBarViewModel.cs create mode 100644 Gamenight.Ui/Gamenight.Ui/Views/HeaderView.axaml create mode 100644 Gamenight.Ui/Gamenight.Ui/Views/HeaderView.axaml.cs create mode 100644 Gamenight.Ui/Gamenight.Ui/Views/SideBarView.axaml create mode 100644 Gamenight.Ui/Gamenight.Ui/Views/SideBarView.axaml.cs diff --git a/Gamenight.Ui/Directory.Packages.props b/Gamenight.Ui/Directory.Packages.props index 76593db..39d76c9 100644 --- a/Gamenight.Ui/Directory.Packages.props +++ b/Gamenight.Ui/Directory.Packages.props @@ -7,6 +7,7 @@ + @@ -17,7 +18,6 @@ - \ No newline at end of file diff --git a/Gamenight.Ui/Gamenight.Ui.Android/Gamenight.Ui.Android.csproj b/Gamenight.Ui/Gamenight.Ui.Android/Gamenight.Ui.Android.csproj index 97a11f5..8e1c4d8 100644 --- a/Gamenight.Ui/Gamenight.Ui.Android/Gamenight.Ui.Android.csproj +++ b/Gamenight.Ui/Gamenight.Ui.Android/Gamenight.Ui.Android.csproj @@ -4,7 +4,7 @@ net9.0-android 21 enable - com.CompanyName.gamenight.ui + com.CompanyName.Gamenight.Ui 1 1.0 apk @@ -23,6 +23,6 @@ - + diff --git a/Gamenight.Ui/Gamenight.Ui.Android/MainActivity.cs b/Gamenight.Ui/Gamenight.Ui.Android/MainActivity.cs index 52d15fc..53d6914 100644 --- a/Gamenight.Ui/Gamenight.Ui.Android/MainActivity.cs +++ b/Gamenight.Ui/Gamenight.Ui.Android/MainActivity.cs @@ -3,10 +3,10 @@ using Android.Content.PM; using Avalonia; using Avalonia.Android; -namespace gamenight.ui.Android; +namespace Gamenight.Ui.Android; [Activity( - Label = "gamenight.ui.Android", + Label = "Gamenight.Ui.Android", Theme = "@style/MyTheme.NoActionBar", Icon = "@drawable/icon", MainLauncher = true, diff --git a/Gamenight.Ui/Gamenight.Ui.Android/Properties/AndroidManifest.xml b/Gamenight.Ui/Gamenight.Ui.Android/Properties/AndroidManifest.xml index 1119df6..6086413 100644 --- a/Gamenight.Ui/Gamenight.Ui.Android/Properties/AndroidManifest.xml +++ b/Gamenight.Ui/Gamenight.Ui.Android/Properties/AndroidManifest.xml @@ -1,5 +1,5 @@  - + diff --git a/Gamenight.Ui/Gamenight.Ui.Browser/Gamenight.Ui.Browser.csproj b/Gamenight.Ui/Gamenight.Ui.Browser/Gamenight.Ui.Browser.csproj index ad4048e..d44f84e 100644 --- a/Gamenight.Ui/Gamenight.Ui.Browser/Gamenight.Ui.Browser.csproj +++ b/Gamenight.Ui/Gamenight.Ui.Browser/Gamenight.Ui.Browser.csproj @@ -11,6 +11,6 @@ - + diff --git a/Gamenight.Ui/Gamenight.Ui.Browser/Program.cs b/Gamenight.Ui/Gamenight.Ui.Browser/Program.cs index 2584490..3d9c1ae 100644 --- a/Gamenight.Ui/Gamenight.Ui.Browser/Program.cs +++ b/Gamenight.Ui/Gamenight.Ui.Browser/Program.cs @@ -2,7 +2,7 @@ using System.Threading.Tasks; using Avalonia; using Avalonia.Browser; -using gamenight.ui; +using Gamenight.Ui; internal sealed partial class Program { diff --git a/Gamenight.Ui/Gamenight.Ui.Browser/Properties/launchSettings.json b/Gamenight.Ui/Gamenight.Ui.Browser/Properties/launchSettings.json index e0b96bf..243651e 100644 --- a/Gamenight.Ui/Gamenight.Ui.Browser/Properties/launchSettings.json +++ b/Gamenight.Ui/Gamenight.Ui.Browser/Properties/launchSettings.json @@ -1,6 +1,6 @@ { "profiles": { - "gamenight.ui.Browser": { + "Gamenight.Ui.Browser": { "commandName": "Project", "launchBrowser": true, "environmentVariables": { diff --git a/Gamenight.Ui/Gamenight.Ui.Browser/wwwroot/index.html b/Gamenight.Ui/Gamenight.Ui.Browser/wwwroot/index.html index 2311f69..513cd18 100644 --- a/Gamenight.Ui/Gamenight.Ui.Browser/wwwroot/index.html +++ b/Gamenight.Ui/Gamenight.Ui.Browser/wwwroot/index.html @@ -2,7 +2,7 @@ - gamenight.ui.Browser + Gamenight.Ui.Browser diff --git a/Gamenight.Ui/Gamenight.Ui.Desktop/Gamenight.Ui.Desktop.csproj b/Gamenight.Ui/Gamenight.Ui.Desktop/Gamenight.Ui.Desktop.csproj index f358a47..607c28a 100644 --- a/Gamenight.Ui/Gamenight.Ui.Desktop/Gamenight.Ui.Desktop.csproj +++ b/Gamenight.Ui/Gamenight.Ui.Desktop/Gamenight.Ui.Desktop.csproj @@ -21,6 +21,6 @@ - + diff --git a/Gamenight.Ui/Gamenight.Ui.Desktop/Program.cs b/Gamenight.Ui/Gamenight.Ui.Desktop/Program.cs index 9a4de30..efdb5ba 100644 --- a/Gamenight.Ui/Gamenight.Ui.Desktop/Program.cs +++ b/Gamenight.Ui/Gamenight.Ui.Desktop/Program.cs @@ -1,7 +1,8 @@ using System; using Avalonia; +using Avalonia.ReactiveUI; -namespace gamenight.ui.Desktop; +namespace Gamenight.Ui.Desktop; sealed class Program { @@ -17,5 +18,6 @@ sealed class Program => AppBuilder.Configure() .UsePlatformDetect() .WithInterFont() - .LogToTrace(); + .LogToTrace() + .UseReactiveUI(); } diff --git a/Gamenight.Ui/Gamenight.Ui.Desktop/app.manifest b/Gamenight.Ui/Gamenight.Ui.Desktop/app.manifest index a5bdecc..b076288 100644 --- a/Gamenight.Ui/Gamenight.Ui.Desktop/app.manifest +++ b/Gamenight.Ui/Gamenight.Ui.Desktop/app.manifest @@ -3,7 +3,7 @@ - + diff --git a/Gamenight.Ui/Gamenight.Ui.iOS/AppDelegate.cs b/Gamenight.Ui/Gamenight.Ui.iOS/AppDelegate.cs index 7ed3032..3288acf 100644 --- a/Gamenight.Ui/Gamenight.Ui.iOS/AppDelegate.cs +++ b/Gamenight.Ui/Gamenight.Ui.iOS/AppDelegate.cs @@ -5,7 +5,7 @@ using Avalonia.Controls; using Avalonia.iOS; using Avalonia.Media; -namespace gamenight.ui.iOS; +namespace Gamenight.Ui.iOS; // The UIApplicationDelegate for the application. This class is responsible for launching the // User Interface of the application, as well as listening (and optionally responding) to diff --git a/Gamenight.Ui/Gamenight.Ui.iOS/Gamenight.Ui.iOS.csproj b/Gamenight.Ui/Gamenight.Ui.iOS/Gamenight.Ui.iOS.csproj index ef5d0dc..58a1818 100644 --- a/Gamenight.Ui/Gamenight.Ui.iOS/Gamenight.Ui.iOS.csproj +++ b/Gamenight.Ui/Gamenight.Ui.iOS/Gamenight.Ui.iOS.csproj @@ -11,6 +11,6 @@ - + diff --git a/Gamenight.Ui/Gamenight.Ui.iOS/Info.plist b/Gamenight.Ui/Gamenight.Ui.iOS/Info.plist index 5232f56..51a8631 100644 --- a/Gamenight.Ui/Gamenight.Ui.iOS/Info.plist +++ b/Gamenight.Ui/Gamenight.Ui.iOS/Info.plist @@ -3,9 +3,9 @@ CFBundleDisplayName - gamenight.ui + Gamenight.Ui CFBundleIdentifier - companyName.gamenight.ui + companyName.Gamenight.Ui CFBundleShortVersionString 1.0 CFBundleVersion diff --git a/Gamenight.Ui/Gamenight.Ui.iOS/Main.cs b/Gamenight.Ui/Gamenight.Ui.iOS/Main.cs index 941b521..a41a76d 100644 --- a/Gamenight.Ui/Gamenight.Ui.iOS/Main.cs +++ b/Gamenight.Ui/Gamenight.Ui.iOS/Main.cs @@ -1,6 +1,6 @@ using UIKit; -namespace gamenight.ui.iOS; +namespace Gamenight.Ui.iOS; public class Application { diff --git a/Gamenight.Ui/Gamenight.Ui.iOS/Resources/LaunchScreen.xib b/Gamenight.Ui/Gamenight.Ui.iOS/Resources/LaunchScreen.xib index 0be6773..7528d6c 100644 --- a/Gamenight.Ui/Gamenight.Ui.iOS/Resources/LaunchScreen.xib +++ b/Gamenight.Ui/Gamenight.Ui.iOS/Resources/LaunchScreen.xib @@ -18,7 +18,7 @@ -