From 17d895f77dcc29a10abc44dd92e0bde29993c8e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szab=C3=B3=20Iv=C3=A1n?= Date: Tue, 17 Dec 2024 17:19:39 +0100 Subject: [PATCH] MAUI app added --- src/WorkFlowCheck.API/Program.cs | 35 ++ .../Properties/launchSettings.json | 15 + .../WorkFlowCheck.API.csproj | 11 + src/WorkFlowCheck.API/WorkFlowCheck.API.http | 11 + .../appsettings.Development.json | 8 + src/WorkFlowCheck.API/appsettings.json | 9 + src/WorkFlowCheck.MAUI/App.xaml | 14 + src/WorkFlowCheck.MAUI/App.xaml.cs | 12 + src/WorkFlowCheck.MAUI/AppShell.xaml | 15 + src/WorkFlowCheck.MAUI/AppShell.xaml.cs | 10 + src/WorkFlowCheck.MAUI/MainPage.xaml | 36 ++ src/WorkFlowCheck.MAUI/MainPage.xaml.cs | 25 + src/WorkFlowCheck.MAUI/MauiProgram.cs | 25 + .../Platforms/Android/AndroidManifest.xml | 6 + .../Platforms/Android/MainActivity.cs | 11 + .../Platforms/Android/MainApplication.cs | 16 + .../Android/Resources/values/colors.xml | 6 + .../Platforms/MacCatalyst/AppDelegate.cs | 10 + .../Platforms/MacCatalyst/Entitlements.plist | 14 + .../Platforms/MacCatalyst/Info.plist | 38 ++ .../Platforms/MacCatalyst/Program.cs | 16 + .../Platforms/Tizen/Main.cs | 17 + .../Platforms/Tizen/tizen-manifest.xml | 15 + .../Platforms/Windows/App.xaml | 8 + .../Platforms/Windows/App.xaml.cs | 25 + .../Platforms/Windows/Package.appxmanifest | 46 ++ .../Platforms/Windows/app.manifest | 15 + .../Platforms/iOS/AppDelegate.cs | 10 + .../Platforms/iOS/Info.plist | 32 ++ .../Platforms/iOS/Program.cs | 16 + .../iOS/Resources/PrivacyInfo.xcprivacy | 51 +++ .../Properties/launchSettings.json | 8 + .../Resources/AppIcon/appicon.svg | 4 + .../Resources/AppIcon/appiconfg.svg | 8 + .../Resources/Fonts/OpenSans-Regular.ttf | Bin 0 -> 107276 bytes .../Resources/Fonts/OpenSans-Semibold.ttf | Bin 0 -> 111164 bytes .../Resources/Images/dotnet_bot.png | Bin 0 -> 69811 bytes .../Resources/Raw/AboutAssets.txt | 15 + .../Resources/Splash/splash.svg | 8 + .../Resources/Styles/Colors.xaml | 45 ++ .../Resources/Styles/Styles.xaml | 427 ++++++++++++++++++ .../WorkFlowCheck.MAUI.csproj | 69 +++ src/WorkFlowCheck.sln | 36 ++ 43 files changed, 1198 insertions(+) create mode 100644 src/WorkFlowCheck.API/Program.cs create mode 100644 src/WorkFlowCheck.API/Properties/launchSettings.json create mode 100644 src/WorkFlowCheck.API/WorkFlowCheck.API.csproj create mode 100644 src/WorkFlowCheck.API/WorkFlowCheck.API.http create mode 100644 src/WorkFlowCheck.API/appsettings.Development.json create mode 100644 src/WorkFlowCheck.API/appsettings.json create mode 100644 src/WorkFlowCheck.MAUI/App.xaml create mode 100644 src/WorkFlowCheck.MAUI/App.xaml.cs create mode 100644 src/WorkFlowCheck.MAUI/AppShell.xaml create mode 100644 src/WorkFlowCheck.MAUI/AppShell.xaml.cs create mode 100644 src/WorkFlowCheck.MAUI/MainPage.xaml create mode 100644 src/WorkFlowCheck.MAUI/MainPage.xaml.cs create mode 100644 src/WorkFlowCheck.MAUI/MauiProgram.cs create mode 100644 src/WorkFlowCheck.MAUI/Platforms/Android/AndroidManifest.xml create mode 100644 src/WorkFlowCheck.MAUI/Platforms/Android/MainActivity.cs create mode 100644 src/WorkFlowCheck.MAUI/Platforms/Android/MainApplication.cs create mode 100644 src/WorkFlowCheck.MAUI/Platforms/Android/Resources/values/colors.xml create mode 100644 src/WorkFlowCheck.MAUI/Platforms/MacCatalyst/AppDelegate.cs create mode 100644 src/WorkFlowCheck.MAUI/Platforms/MacCatalyst/Entitlements.plist create mode 100644 src/WorkFlowCheck.MAUI/Platforms/MacCatalyst/Info.plist create mode 100644 src/WorkFlowCheck.MAUI/Platforms/MacCatalyst/Program.cs create mode 100644 src/WorkFlowCheck.MAUI/Platforms/Tizen/Main.cs create mode 100644 src/WorkFlowCheck.MAUI/Platforms/Tizen/tizen-manifest.xml create mode 100644 src/WorkFlowCheck.MAUI/Platforms/Windows/App.xaml create mode 100644 src/WorkFlowCheck.MAUI/Platforms/Windows/App.xaml.cs create mode 100644 src/WorkFlowCheck.MAUI/Platforms/Windows/Package.appxmanifest create mode 100644 src/WorkFlowCheck.MAUI/Platforms/Windows/app.manifest create mode 100644 src/WorkFlowCheck.MAUI/Platforms/iOS/AppDelegate.cs create mode 100644 src/WorkFlowCheck.MAUI/Platforms/iOS/Info.plist create mode 100644 src/WorkFlowCheck.MAUI/Platforms/iOS/Program.cs create mode 100644 src/WorkFlowCheck.MAUI/Platforms/iOS/Resources/PrivacyInfo.xcprivacy create mode 100644 src/WorkFlowCheck.MAUI/Properties/launchSettings.json create mode 100644 src/WorkFlowCheck.MAUI/Resources/AppIcon/appicon.svg create mode 100644 src/WorkFlowCheck.MAUI/Resources/AppIcon/appiconfg.svg create mode 100644 src/WorkFlowCheck.MAUI/Resources/Fonts/OpenSans-Regular.ttf create mode 100644 src/WorkFlowCheck.MAUI/Resources/Fonts/OpenSans-Semibold.ttf create mode 100644 src/WorkFlowCheck.MAUI/Resources/Images/dotnet_bot.png create mode 100644 src/WorkFlowCheck.MAUI/Resources/Raw/AboutAssets.txt create mode 100644 src/WorkFlowCheck.MAUI/Resources/Splash/splash.svg create mode 100644 src/WorkFlowCheck.MAUI/Resources/Styles/Colors.xaml create mode 100644 src/WorkFlowCheck.MAUI/Resources/Styles/Styles.xaml create mode 100644 src/WorkFlowCheck.MAUI/WorkFlowCheck.MAUI.csproj create mode 100644 src/WorkFlowCheck.sln diff --git a/src/WorkFlowCheck.API/Program.cs b/src/WorkFlowCheck.API/Program.cs new file mode 100644 index 0000000..d3b48c9 --- /dev/null +++ b/src/WorkFlowCheck.API/Program.cs @@ -0,0 +1,35 @@ +using System.Text.Json.Serialization; + +var builder = WebApplication.CreateSlimBuilder(args); + +builder.Services.ConfigureHttpJsonOptions(options => +{ + options.SerializerOptions.TypeInfoResolverChain.Insert(0, AppJsonSerializerContext.Default); +}); + +var app = builder.Build(); + +var sampleTodos = new Todo[] { + new(1, "Walk the dog"), + new(2, "Do the dishes", DateOnly.FromDateTime(DateTime.Now)), + new(3, "Do the laundry", DateOnly.FromDateTime(DateTime.Now.AddDays(1))), + new(4, "Clean the bathroom"), + new(5, "Clean the car", DateOnly.FromDateTime(DateTime.Now.AddDays(2))) +}; + +var todosApi = app.MapGroup("/todos"); +todosApi.MapGet("/", () => sampleTodos); +todosApi.MapGet("/{id}", (int id) => + sampleTodos.FirstOrDefault(a => a.Id == id) is { } todo + ? Results.Ok(todo) + : Results.NotFound()); + +app.Run(); + +public record Todo(int Id, string? Title, DateOnly? DueBy = null, bool IsComplete = false); + +[JsonSerializable(typeof(Todo[]))] +internal partial class AppJsonSerializerContext : JsonSerializerContext +{ + +} diff --git a/src/WorkFlowCheck.API/Properties/launchSettings.json b/src/WorkFlowCheck.API/Properties/launchSettings.json new file mode 100644 index 0000000..08a8bf8 --- /dev/null +++ b/src/WorkFlowCheck.API/Properties/launchSettings.json @@ -0,0 +1,15 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "todos", + "applicationUrl": "http://localhost:5069", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/src/WorkFlowCheck.API/WorkFlowCheck.API.csproj b/src/WorkFlowCheck.API/WorkFlowCheck.API.csproj new file mode 100644 index 0000000..8186e5b --- /dev/null +++ b/src/WorkFlowCheck.API/WorkFlowCheck.API.csproj @@ -0,0 +1,11 @@ + + + + net8.0 + enable + enable + true + true + + + diff --git a/src/WorkFlowCheck.API/WorkFlowCheck.API.http b/src/WorkFlowCheck.API/WorkFlowCheck.API.http new file mode 100644 index 0000000..06acd63 --- /dev/null +++ b/src/WorkFlowCheck.API/WorkFlowCheck.API.http @@ -0,0 +1,11 @@ +@WorkFlowCheck.API_HostAddress = http://localhost:5069 + +GET {{WorkFlowCheck.API_HostAddress}}/todos/ +Accept: application/json + +### + +GET {{WorkFlowCheck.API_HostAddress}}/todos/1 +Accept: application/json + +### diff --git a/src/WorkFlowCheck.API/appsettings.Development.json b/src/WorkFlowCheck.API/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/src/WorkFlowCheck.API/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/src/WorkFlowCheck.API/appsettings.json b/src/WorkFlowCheck.API/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/src/WorkFlowCheck.API/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/src/WorkFlowCheck.MAUI/App.xaml b/src/WorkFlowCheck.MAUI/App.xaml new file mode 100644 index 0000000..620a39e --- /dev/null +++ b/src/WorkFlowCheck.MAUI/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/src/WorkFlowCheck.MAUI/App.xaml.cs b/src/WorkFlowCheck.MAUI/App.xaml.cs new file mode 100644 index 0000000..83841dd --- /dev/null +++ b/src/WorkFlowCheck.MAUI/App.xaml.cs @@ -0,0 +1,12 @@ +namespace WorkFlowCheck.MAUI +{ + public partial class App : Application + { + public App() + { + InitializeComponent(); + + MainPage = new AppShell(); + } + } +} diff --git a/src/WorkFlowCheck.MAUI/AppShell.xaml b/src/WorkFlowCheck.MAUI/AppShell.xaml new file mode 100644 index 0000000..b26fd5d --- /dev/null +++ b/src/WorkFlowCheck.MAUI/AppShell.xaml @@ -0,0 +1,15 @@ + + + + + + diff --git a/src/WorkFlowCheck.MAUI/AppShell.xaml.cs b/src/WorkFlowCheck.MAUI/AppShell.xaml.cs new file mode 100644 index 0000000..2542af7 --- /dev/null +++ b/src/WorkFlowCheck.MAUI/AppShell.xaml.cs @@ -0,0 +1,10 @@ +namespace WorkFlowCheck.MAUI +{ + public partial class AppShell : Shell + { + public AppShell() + { + InitializeComponent(); + } + } +} diff --git a/src/WorkFlowCheck.MAUI/MainPage.xaml b/src/WorkFlowCheck.MAUI/MainPage.xaml new file mode 100644 index 0000000..18d8034 --- /dev/null +++ b/src/WorkFlowCheck.MAUI/MainPage.xaml @@ -0,0 +1,36 @@ + + + + + + + +