From c76956fb5b5b4144c96401d37c0167bff6d89aeb Mon Sep 17 00:00:00 2001 From: AJ Isaacs Date: Sun, 1 Mar 2026 22:01:53 -0500 Subject: [PATCH] feat(web): add Razor Pages scaffolding to API project Register Razor Pages services and middleware in Program.cs, removing UseDefaultFiles() since Razor Pages handles routing. Add shared layout with dark-themed app shell (header, nav links, search/new-task buttons) and vendor script references for htmx, Sortable, and Chart.js. Co-Authored-By: Claude Opus 4.6 --- TaskTracker.Api/Pages/Shared/_Layout.cshtml | 62 +++++++++++++++++++++ TaskTracker.Api/Pages/_ViewImports.cshtml | 4 ++ TaskTracker.Api/Pages/_ViewStart.cshtml | 3 + TaskTracker.Api/Program.cs | 5 +- 4 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 TaskTracker.Api/Pages/Shared/_Layout.cshtml create mode 100644 TaskTracker.Api/Pages/_ViewImports.cshtml create mode 100644 TaskTracker.Api/Pages/_ViewStart.cshtml diff --git a/TaskTracker.Api/Pages/Shared/_Layout.cshtml b/TaskTracker.Api/Pages/Shared/_Layout.cshtml new file mode 100644 index 0000000..a0aece5 --- /dev/null +++ b/TaskTracker.Api/Pages/Shared/_Layout.cshtml @@ -0,0 +1,62 @@ + + + + + + TaskTracker + + + +
+ +
+ + +
+
+ +
+ @RenderBody() +
+ +
+
+ + + + + + @await RenderSectionAsync("Scripts", required: false) + + diff --git a/TaskTracker.Api/Pages/_ViewImports.cshtml b/TaskTracker.Api/Pages/_ViewImports.cshtml new file mode 100644 index 0000000..bd81cfb --- /dev/null +++ b/TaskTracker.Api/Pages/_ViewImports.cshtml @@ -0,0 +1,4 @@ +@using TaskTracker.Core.Entities +@using TaskTracker.Core.Enums +@using TaskTracker.Core.DTOs +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/TaskTracker.Api/Pages/_ViewStart.cshtml b/TaskTracker.Api/Pages/_ViewStart.cshtml new file mode 100644 index 0000000..820a2f6 --- /dev/null +++ b/TaskTracker.Api/Pages/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{ + Layout = "_Layout"; +} diff --git a/TaskTracker.Api/Program.cs b/TaskTracker.Api/Program.cs index 9b215ac..6232dec 100644 --- a/TaskTracker.Api/Program.cs +++ b/TaskTracker.Api/Program.cs @@ -37,6 +37,9 @@ builder.Services.AddCors(options => }); }); +// Razor Pages +builder.Services.AddRazorPages(); + var app = builder.Build(); // Auto-migrate on startup in development @@ -51,8 +54,8 @@ app.UseSwagger(); app.UseSwaggerUI(); app.UseCors(); -app.UseDefaultFiles(); app.UseStaticFiles(); +app.MapRazorPages(); app.MapControllers(); app.Run();