From a0ee01781517908628e57f1d6b00242d56e3b277 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 3 Jan 2026 08:54:51 +0000 Subject: [PATCH 1/5] Initial plan From 1959683eb6de0461b19cfc4bfbc84861269fa01a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 3 Jan 2026 09:04:30 +0000 Subject: [PATCH 2/5] Create Blazor Server project with stubbed MediatR and Tailwind CSS Co-authored-by: StuartFerguson <16325469+StuartFerguson@users.noreply.github.com> --- EstateManagementUI.BlazorServer/.gitignore | 3 + .../Components/App.razor | 23 + .../Components/Layout/MainLayout.razor | 23 + .../Components/Layout/MainLayout.razor.css | 98 + .../Components/Layout/NavMenu.razor | 30 + .../Components/Layout/NavMenu.razor.css | 105 + .../Components/Layout/ReconnectModal.razor | 31 + .../Layout/ReconnectModal.razor.css | 157 + .../Components/Layout/ReconnectModal.razor.js | 63 + .../Components/Pages/Counter.razor | 19 + .../Components/Pages/Error.razor | 36 + .../Components/Pages/Home.razor | 7 + .../Components/Pages/NotFound.razor | 5 + .../Components/Pages/Weather.razor | 64 + .../Components/Routes.razor | 6 + .../Components/_Imports.razor | 11 + .../EstateManagementUI.BlazorServer.csproj | 23 + EstateManagementUI.BlazorServer/Program.cs | 80 + .../Properties/launchSettings.json | 23 + .../Services/StubbedMediatorService.cs | 371 + .../Styles/app.css | 66 + .../appsettings.Development.json | 8 + .../appsettings.json | 15 + EstateManagementUI.BlazorServer/package.json | 19 + .../tailwind.config.js | 15 + .../wwwroot/app.css | 60 + .../wwwroot/favicon.png | Bin 0 -> 1148 bytes .../lib/bootstrap/dist/css/bootstrap-grid.css | 4085 ++++++ .../bootstrap/dist/css/bootstrap-grid.css.map | 1 + .../bootstrap/dist/css/bootstrap-grid.min.css | 6 + .../dist/css/bootstrap-grid.min.css.map | 1 + .../bootstrap/dist/css/bootstrap-grid.rtl.css | 4084 ++++++ .../dist/css/bootstrap-grid.rtl.css.map | 1 + .../dist/css/bootstrap-grid.rtl.min.css | 6 + .../dist/css/bootstrap-grid.rtl.min.css.map | 1 + .../bootstrap/dist/css/bootstrap-reboot.css | 597 + .../dist/css/bootstrap-reboot.css.map | 1 + .../dist/css/bootstrap-reboot.min.css | 6 + .../dist/css/bootstrap-reboot.min.css.map | 1 + .../dist/css/bootstrap-reboot.rtl.css | 594 + .../dist/css/bootstrap-reboot.rtl.css.map | 1 + .../dist/css/bootstrap-reboot.rtl.min.css | 6 + .../dist/css/bootstrap-reboot.rtl.min.css.map | 1 + .../dist/css/bootstrap-utilities.css | 5402 +++++++ .../dist/css/bootstrap-utilities.css.map | 1 + .../dist/css/bootstrap-utilities.min.css | 6 + .../dist/css/bootstrap-utilities.min.css.map | 1 + .../dist/css/bootstrap-utilities.rtl.css | 5393 +++++++ .../dist/css/bootstrap-utilities.rtl.css.map | 1 + .../dist/css/bootstrap-utilities.rtl.min.css | 6 + .../css/bootstrap-utilities.rtl.min.css.map | 1 + .../lib/bootstrap/dist/css/bootstrap.css | 12057 ++++++++++++++++ .../lib/bootstrap/dist/css/bootstrap.css.map | 1 + .../lib/bootstrap/dist/css/bootstrap.min.css | 6 + .../bootstrap/dist/css/bootstrap.min.css.map | 1 + .../lib/bootstrap/dist/css/bootstrap.rtl.css | 12030 +++++++++++++++ .../bootstrap/dist/css/bootstrap.rtl.css.map | 1 + .../bootstrap/dist/css/bootstrap.rtl.min.css | 6 + .../dist/css/bootstrap.rtl.min.css.map | 1 + .../lib/bootstrap/dist/js/bootstrap.bundle.js | 6314 ++++++++ .../bootstrap/dist/js/bootstrap.bundle.js.map | 1 + .../bootstrap/dist/js/bootstrap.bundle.min.js | 7 + .../dist/js/bootstrap.bundle.min.js.map | 1 + .../lib/bootstrap/dist/js/bootstrap.esm.js | 4447 ++++++ .../bootstrap/dist/js/bootstrap.esm.js.map | 1 + .../bootstrap/dist/js/bootstrap.esm.min.js | 7 + .../dist/js/bootstrap.esm.min.js.map | 1 + .../lib/bootstrap/dist/js/bootstrap.js | 4494 ++++++ .../lib/bootstrap/dist/js/bootstrap.js.map | 1 + .../lib/bootstrap/dist/js/bootstrap.min.js | 7 + .../bootstrap/dist/js/bootstrap.min.js.map | 1 + EstateManagementUI.sln | 74 + 72 files changed, 61023 insertions(+) create mode 100644 EstateManagementUI.BlazorServer/.gitignore create mode 100644 EstateManagementUI.BlazorServer/Components/App.razor create mode 100644 EstateManagementUI.BlazorServer/Components/Layout/MainLayout.razor create mode 100644 EstateManagementUI.BlazorServer/Components/Layout/MainLayout.razor.css create mode 100644 EstateManagementUI.BlazorServer/Components/Layout/NavMenu.razor create mode 100644 EstateManagementUI.BlazorServer/Components/Layout/NavMenu.razor.css create mode 100644 EstateManagementUI.BlazorServer/Components/Layout/ReconnectModal.razor create mode 100644 EstateManagementUI.BlazorServer/Components/Layout/ReconnectModal.razor.css create mode 100644 EstateManagementUI.BlazorServer/Components/Layout/ReconnectModal.razor.js create mode 100644 EstateManagementUI.BlazorServer/Components/Pages/Counter.razor create mode 100644 EstateManagementUI.BlazorServer/Components/Pages/Error.razor create mode 100644 EstateManagementUI.BlazorServer/Components/Pages/Home.razor create mode 100644 EstateManagementUI.BlazorServer/Components/Pages/NotFound.razor create mode 100644 EstateManagementUI.BlazorServer/Components/Pages/Weather.razor create mode 100644 EstateManagementUI.BlazorServer/Components/Routes.razor create mode 100644 EstateManagementUI.BlazorServer/Components/_Imports.razor create mode 100644 EstateManagementUI.BlazorServer/EstateManagementUI.BlazorServer.csproj create mode 100644 EstateManagementUI.BlazorServer/Program.cs create mode 100644 EstateManagementUI.BlazorServer/Properties/launchSettings.json create mode 100644 EstateManagementUI.BlazorServer/Services/StubbedMediatorService.cs create mode 100644 EstateManagementUI.BlazorServer/Styles/app.css create mode 100644 EstateManagementUI.BlazorServer/appsettings.Development.json create mode 100644 EstateManagementUI.BlazorServer/appsettings.json create mode 100644 EstateManagementUI.BlazorServer/package.json create mode 100644 EstateManagementUI.BlazorServer/tailwind.config.js create mode 100644 EstateManagementUI.BlazorServer/wwwroot/app.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/favicon.png create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/js/bootstrap.js create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js create mode 100644 EstateManagementUI.BlazorServer/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map diff --git a/EstateManagementUI.BlazorServer/.gitignore b/EstateManagementUI.BlazorServer/.gitignore new file mode 100644 index 00000000..37800e39 --- /dev/null +++ b/EstateManagementUI.BlazorServer/.gitignore @@ -0,0 +1,3 @@ +node_modules/ +wwwroot/css/app.css +package-lock.json diff --git a/EstateManagementUI.BlazorServer/Components/App.razor b/EstateManagementUI.BlazorServer/Components/App.razor new file mode 100644 index 00000000..1729edf3 --- /dev/null +++ b/EstateManagementUI.BlazorServer/Components/App.razor @@ -0,0 +1,23 @@ + + + +
+ + +Current count: @currentCount
+ + + +@code { + private int currentCount = 0; + + private void IncrementCount() + { + currentCount++; + } +} diff --git a/EstateManagementUI.BlazorServer/Components/Pages/Error.razor b/EstateManagementUI.BlazorServer/Components/Pages/Error.razor new file mode 100644 index 00000000..576cc2d2 --- /dev/null +++ b/EstateManagementUI.BlazorServer/Components/Pages/Error.razor @@ -0,0 +1,36 @@ +@page "/Error" +@using System.Diagnostics + +
+ Request ID: @RequestId
+
+ Swapping to Development environment will display more detailed information about the error that occurred. +
++ The Development environment shouldn't be enabled for deployed applications. + It can result in displaying sensitive information from exceptions to end users. + For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development + and restarting the app. +
+ +@code{ + [CascadingParameter] + private HttpContext? HttpContext { get; set; } + + private string? RequestId { get; set; } + private bool ShowRequestId => !string.IsNullOrEmpty(RequestId); + + protected override void OnInitialized() => + RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier; +} diff --git a/EstateManagementUI.BlazorServer/Components/Pages/Home.razor b/EstateManagementUI.BlazorServer/Components/Pages/Home.razor new file mode 100644 index 00000000..9001e0bd --- /dev/null +++ b/EstateManagementUI.BlazorServer/Components/Pages/Home.razor @@ -0,0 +1,7 @@ +@page "/" + +Sorry, the content you are looking for does not exist.
\ No newline at end of file diff --git a/EstateManagementUI.BlazorServer/Components/Pages/Weather.razor b/EstateManagementUI.BlazorServer/Components/Pages/Weather.razor new file mode 100644 index 00000000..f437e5e9 --- /dev/null +++ b/EstateManagementUI.BlazorServer/Components/Pages/Weather.razor @@ -0,0 +1,64 @@ +@page "/weather" +@attribute [StreamRendering] + +This component demonstrates showing data.
+ +@if (forecasts == null) +{ +Loading...
+} +else +{ +| Date | +Temp. (C) | +Temp. (F) | +Summary | +
|---|---|---|---|
| @forecast.Date.ToShortDateString() | +@forecast.TemperatureC | +@forecast.TemperatureF | +@forecast.Summary | +