diff --git a/DeepDrftCms/CmsStartup.cs b/DeepDrftCms/CmsStartup.cs index 1b80271..7409739 100644 --- a/DeepDrftCms/CmsStartup.cs +++ b/DeepDrftCms/CmsStartup.cs @@ -9,8 +9,8 @@ public static class CmsStartup // CMS-specific services registered here as implementation waves land. // // Note: ITrackService (and its dependencies: TrackRepository, DeepDrftContext) is registered - // by DeepDrftWeb.Startup.ConfigureDomainServices, not here. The CMS RCL runs inside the - // DeepDrftWeb host, which wires those up before this method is called. A standalone CMS + // by DeepDrftPublic.Startup.ConfigureDomainServices, not here. The CMS RCL runs inside the + // DeepDrftPublic host, which wires those up before this method is called. A standalone CMS // host would need to register ITrackService separately. return services; } diff --git a/DeepDrftContent/Controllers/TrackController.cs b/DeepDrftContent/Controllers/TrackController.cs index 0cd7825..2cfaa88 100644 --- a/DeepDrftContent/Controllers/TrackController.cs +++ b/DeepDrftContent/Controllers/TrackController.cs @@ -121,7 +121,7 @@ public class TrackController : ControllerBase } // POST api/track/upload: raw WAV in (multipart/form-data) + metadata → unpersisted TrackEntity out. - // Used by the CMS upload flow on DeepDrftWeb; that host proxies the upload here so it never + // Used by the CMS upload flow on DeepDrftPublic; that host proxies the upload here so it never // touches the vault disk path directly (Option B in CMS-PLAN §5). // // RequestSizeLimit/MultipartBodyLengthLimit set to 1 GB: WAV uploads can be tens to hundreds diff --git a/DeepDrftData/Data/DeepDrftContextFactory.cs b/DeepDrftData/Data/DeepDrftContextFactory.cs index f532c77..94bcbc7 100644 --- a/DeepDrftData/Data/DeepDrftContextFactory.cs +++ b/DeepDrftData/Data/DeepDrftContextFactory.cs @@ -8,13 +8,13 @@ public class DeepDrftContextFactory : IDesignTimeDbContextFactory - + diff --git a/DeepDrftManager/Program.cs b/DeepDrftManager/Program.cs index 145777d..b6b5fdf 100644 --- a/DeepDrftManager/Program.cs +++ b/DeepDrftManager/Program.cs @@ -120,7 +120,7 @@ builder.Services.Configure(options => }); // Controllers: discovers CMS mutation controllers (CmsUploadController, CmsEditController, -// CmsDeleteController) and the AuthBlocks surface. Matches DeepDrftWeb precedent. +// CmsDeleteController) and the AuthBlocks surface. Matches DeepDrftPublic precedent. builder.Services.AddControllers(); // InteractiveServer only — no WASM render mode on the CMS host. @@ -179,7 +179,7 @@ app.MapRazorComponents() app.Run(); -// Local helper — mirrors DeepDrftWeb.Startup.GetKestrelUrl. Kept inline because this host's +// Local helper — mirrors DeepDrftPublic.Startup.GetKestrelUrl. Kept inline because this host's // only consumer is right here; promoting to a shared library would be premature. static string GetKestrelUrl(WebApplicationBuilder builder) { diff --git a/DeepDrftWeb.Client/CLAUDE.md b/DeepDrftPublic.Client/CLAUDE.md similarity index 92% rename from DeepDrftWeb.Client/CLAUDE.md rename to DeepDrftPublic.Client/CLAUDE.md index 35af12f..19bfd91 100644 --- a/DeepDrftWeb.Client/CLAUDE.md +++ b/DeepDrftPublic.Client/CLAUDE.md @@ -1,6 +1,6 @@ -# CLAUDE.md - DeepDrftWeb.Client +# CLAUDE.md - DeepDrftPublic.Client -Guidance for working in the DeepDrftWeb.Client project (the Blazor WebAssembly assembly). +Guidance for working in the DeepDrftPublic.Client project (the Blazor WebAssembly assembly). See the root `CLAUDE.md` for full architecture overview. This file covers what is specific to this project. @@ -76,7 +76,7 @@ Both are configured with JSON serializer settings (case-insensitive property mat - `DarkModeSettings` (`Common/`): `[PersistentState]`-annotated class with `IsDarkMode` property. Registered scoped in `Startup.ConfigureDomainServices`. Single source of truth in the client. - `DarkModeServiceBase`: Holds the cookie name constant (`"darkMode"`). - `DarkModeCookieService`: Reads/writes the cookie via JS (`document.cookie` interop). Calls `DarkModeSettings.IsDarkMode = value` when the cookie changes or user toggles the button. -- Server-side `DarkModeService` (in `DeepDrftWeb`, **not here**): Reads the cookie during prerender, seeds the `DarkModeSettings` instance, rounds it through `PersistentComponentState` to the client. +- Server-side `DarkModeService` (in `DeepDrftPublic`, **not here**): Reads the cookie during prerender, seeds the `DarkModeSettings` instance, rounds it through `PersistentComponentState` to the client. - `MainLayout.razor`: Wraps entire layout in `CascadingValue` of `DarkModeSettings`, so all children see the current dark-mode state. The dark-mode toggle button (hand-rolled lit/unlit gas-lamp icon from `DDIcons.cs`) calls `DarkModeCookieService.ToggleDarkModeAsync()`. The flow ensures the first paint uses the correct theme (no flash), and toggling the button persists the setting to a 365-day cookie. @@ -91,20 +91,20 @@ Component state lives in ViewModels (registered scoped in DI). Components render ## Theming convention - Bespoke `PaletteLight` / `PaletteDark` defined inline in `MainLayout.razor` (MudBlazor theme objects). -- CSS classes prefixed `deepdrft-` live in `DeepDrftWeb/wwwroot/styles/deepdrft-styles.css` (shared across server and client). +- CSS classes prefixed `deepdrft-` live in `DeepDrftPublic/wwwroot/styles/deepdrft-styles.css` (shared across server and client). - Custom SVG icons: `Common/DDIcons.cs` (hand-rolled gas-lamp, etc.). ## Development commands ```bash -# The client runs as part of the DeepDrftWeb host: -dotnet run --project DeepDrftWeb +# The client runs as part of the DeepDrftPublic host: +dotnet run --project DeepDrftPublic # Watch during development (rebuilds WASM as you change .cs/.razor/.ts files): -dotnet watch run --project DeepDrftWeb +dotnet watch run --project DeepDrftPublic # Build just the client (for verification): -dotnet build DeepDrftWeb.Client +dotnet build DeepDrftPublic.Client # Run client-specific tests (if any; currently none exist): dotnet test DeepDrftTests/ @@ -113,7 +113,7 @@ dotnet test DeepDrftTests/ ## Configuration - `Program.cs`: Entry point. Calls `Startup.ConfigureApiHttpClient` (registers named clients), `ConfigureContentServices` (same), `ConfigureDomainServices` (registers services like `TracksViewModel`, `DarkModeSettings`, `AudioPlayerService`). -- Both `Startup` methods are static and called from **both** the server `DeepDrftWeb/Program.cs` and the client `Program.cs`, ensuring prerender and runtime DI are identical. +- Both `Startup` methods are static and called from **both** the server `DeepDrftPublic/Program.cs` and the client `Program.cs`, ensuring prerender and runtime DI are identical. - No `appsettings.json` in the WASM assembly — config comes from the server `appsettings.json` via HTTP or is hardcoded. ## Important patterns diff --git a/DeepDrftWeb.Client/Clients/TrackClient.cs b/DeepDrftPublic.Client/Clients/TrackClient.cs similarity index 97% rename from DeepDrftWeb.Client/Clients/TrackClient.cs rename to DeepDrftPublic.Client/Clients/TrackClient.cs index 299dba8..f32455a 100644 --- a/DeepDrftWeb.Client/Clients/TrackClient.cs +++ b/DeepDrftPublic.Client/Clients/TrackClient.cs @@ -5,7 +5,7 @@ using System.Text.Json; using System.Web; using Microsoft.AspNetCore.Http; -namespace DeepDrftWeb.Client.Clients; +namespace DeepDrftPublic.Client.Clients; public class TrackClient { diff --git a/DeepDrftWeb.Client/Clients/TrackMediaClient.cs b/DeepDrftPublic.Client/Clients/TrackMediaClient.cs similarity index 98% rename from DeepDrftWeb.Client/Clients/TrackMediaClient.cs rename to DeepDrftPublic.Client/Clients/TrackMediaClient.cs index b0555f4..b40b9b8 100644 --- a/DeepDrftWeb.Client/Clients/TrackMediaClient.cs +++ b/DeepDrftPublic.Client/Clients/TrackMediaClient.cs @@ -1,7 +1,7 @@ using Microsoft.Extensions.DependencyInjection; using NetBlocks.Models; -namespace DeepDrftWeb.Client.Clients; +namespace DeepDrftPublic.Client.Clients; public class TrackMediaResponse : IDisposable { diff --git a/DeepDrftWeb.Client/Common/DarkModeSettings.cs b/DeepDrftPublic.Client/Common/DarkModeSettings.cs similarity index 86% rename from DeepDrftWeb.Client/Common/DarkModeSettings.cs rename to DeepDrftPublic.Client/Common/DarkModeSettings.cs index 8de7563..9af061c 100644 --- a/DeepDrftWeb.Client/Common/DarkModeSettings.cs +++ b/DeepDrftPublic.Client/Common/DarkModeSettings.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Components; -namespace DeepDrftWeb.Client.Common; +namespace DeepDrftPublic.Client.Common; public class DarkModeSettings() { diff --git a/DeepDrftWeb.Client/Controls/AppNavLink.razor b/DeepDrftPublic.Client/Controls/AppNavLink.razor similarity index 100% rename from DeepDrftWeb.Client/Controls/AppNavLink.razor rename to DeepDrftPublic.Client/Controls/AppNavLink.razor diff --git a/DeepDrftWeb.Client/Controls/AppNavLink.razor.cs b/DeepDrftPublic.Client/Controls/AppNavLink.razor.cs similarity index 89% rename from DeepDrftWeb.Client/Controls/AppNavLink.razor.cs rename to DeepDrftPublic.Client/Controls/AppNavLink.razor.cs index 1fc9fa8..5c217ef 100644 --- a/DeepDrftWeb.Client/Controls/AppNavLink.razor.cs +++ b/DeepDrftPublic.Client/Controls/AppNavLink.razor.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Routing; -namespace DeepDrftWeb.Client.Controls; +namespace DeepDrftPublic.Client.Controls; public partial class AppNavLink : ComponentBase { diff --git a/DeepDrftWeb.Client/Controls/AppNavLink.razor.css b/DeepDrftPublic.Client/Controls/AppNavLink.razor.css similarity index 100% rename from DeepDrftWeb.Client/Controls/AppNavLink.razor.css rename to DeepDrftPublic.Client/Controls/AppNavLink.razor.css diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor b/DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor similarity index 100% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.cs b/DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.cs similarity index 98% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.cs rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.cs index cb025ec..dd1c347 100644 --- a/DeepDrftWeb.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.cs +++ b/DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.cs @@ -1,9 +1,9 @@ -using DeepDrftWeb.Client.Services; +using DeepDrftPublic.Client.Services; using Microsoft.AspNetCore.Components; using MudBlazor; using MudBlazor.Services; -namespace DeepDrftWeb.Client.Controls.AudioPlayerBar; +namespace DeepDrftPublic.Client.Controls.AudioPlayerBar; public partial class AudioPlayerBar : ComponentBase, IAsyncDisposable { diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.css b/DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.css similarity index 100% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.css rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/AudioPlayerBar.razor.css diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/PlayerControls.razor b/DeepDrftPublic.Client/Controls/AudioPlayerBar/PlayerControls.razor similarity index 100% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/PlayerControls.razor rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/PlayerControls.razor diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/PlayerControls.razor.cs b/DeepDrftPublic.Client/Controls/AudioPlayerBar/PlayerControls.razor.cs similarity index 90% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/PlayerControls.razor.cs rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/PlayerControls.razor.cs index 400d93b..67b4d4f 100644 --- a/DeepDrftWeb.Client/Controls/AudioPlayerBar/PlayerControls.razor.cs +++ b/DeepDrftPublic.Client/Controls/AudioPlayerBar/PlayerControls.razor.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Components; using MudBlazor; -namespace DeepDrftWeb.Client.Controls.AudioPlayerBar; +namespace DeepDrftPublic.Client.Controls.AudioPlayerBar; public partial class PlayerControls : ComponentBase { diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/PlayerControls.razor.css b/DeepDrftPublic.Client/Controls/AudioPlayerBar/PlayerControls.razor.css similarity index 100% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/PlayerControls.razor.css rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/PlayerControls.razor.css diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor b/DeepDrftPublic.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor similarity index 85% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor index 55702bc..8860eb5 100644 --- a/DeepDrftWeb.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor +++ b/DeepDrftPublic.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor @@ -1,4 +1,4 @@ -@namespace DeepDrftWeb.Client.Controls.AudioPlayerBar +@namespace DeepDrftPublic.Client.Controls.AudioPlayerBar
diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor.cs b/DeepDrftPublic.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor.cs similarity index 97% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor.cs rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor.cs index c804f9b..6535f22 100644 --- a/DeepDrftWeb.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor.cs +++ b/DeepDrftPublic.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor.cs @@ -1,7 +1,7 @@ -using DeepDrftWeb.Client.Services; +using DeepDrftPublic.Client.Services; using Microsoft.AspNetCore.Components; -namespace DeepDrftWeb.Client.Controls.AudioPlayerBar; +namespace DeepDrftPublic.Client.Controls.AudioPlayerBar; public partial class SpectrumVisualizer : ComponentBase, IAsyncDisposable { diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor.css b/DeepDrftPublic.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor.css similarity index 100% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor.css rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/SpectrumVisualizer.razor.css diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/TimestampLabel.razor b/DeepDrftPublic.Client/Controls/AudioPlayerBar/TimestampLabel.razor similarity index 100% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/TimestampLabel.razor rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/TimestampLabel.razor diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/TimestampLabel.razor.cs b/DeepDrftPublic.Client/Controls/AudioPlayerBar/TimestampLabel.razor.cs similarity index 88% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/TimestampLabel.razor.cs rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/TimestampLabel.razor.cs index 33beb10..ba7c2f6 100644 --- a/DeepDrftWeb.Client/Controls/AudioPlayerBar/TimestampLabel.razor.cs +++ b/DeepDrftPublic.Client/Controls/AudioPlayerBar/TimestampLabel.razor.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Components; -namespace DeepDrftWeb.Client.Controls.AudioPlayerBar; +namespace DeepDrftPublic.Client.Controls.AudioPlayerBar; public partial class TimestampLabel : ComponentBase { diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/TimestampLabel.razor.css b/DeepDrftPublic.Client/Controls/AudioPlayerBar/TimestampLabel.razor.css similarity index 100% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/TimestampLabel.razor.css rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/TimestampLabel.razor.css diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/VolumeControls.razor b/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor similarity index 100% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/VolumeControls.razor rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/VolumeControls.razor.cs b/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor.cs similarity index 89% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/VolumeControls.razor.cs rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor.cs index 2d8a588..eec58e4 100644 --- a/DeepDrftWeb.Client/Controls/AudioPlayerBar/VolumeControls.razor.cs +++ b/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Components; using MudBlazor; -namespace DeepDrftWeb.Client.Controls.AudioPlayerBar; +namespace DeepDrftPublic.Client.Controls.AudioPlayerBar; public partial class VolumeControls : ComponentBase { diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerBar/VolumeControls.razor.css b/DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor.css similarity index 100% rename from DeepDrftWeb.Client/Controls/AudioPlayerBar/VolumeControls.razor.css rename to DeepDrftPublic.Client/Controls/AudioPlayerBar/VolumeControls.razor.css diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerProvider.razor b/DeepDrftPublic.Client/Controls/AudioPlayerProvider.razor similarity index 100% rename from DeepDrftWeb.Client/Controls/AudioPlayerProvider.razor rename to DeepDrftPublic.Client/Controls/AudioPlayerProvider.razor diff --git a/DeepDrftWeb.Client/Controls/AudioPlayerProvider.razor.cs b/DeepDrftPublic.Client/Controls/AudioPlayerProvider.razor.cs similarity index 94% rename from DeepDrftWeb.Client/Controls/AudioPlayerProvider.razor.cs rename to DeepDrftPublic.Client/Controls/AudioPlayerProvider.razor.cs index bf03df5..2272bea 100644 --- a/DeepDrftWeb.Client/Controls/AudioPlayerProvider.razor.cs +++ b/DeepDrftPublic.Client/Controls/AudioPlayerProvider.razor.cs @@ -1,9 +1,9 @@ -using DeepDrftWeb.Client.Services; -using DeepDrftWeb.Client.Clients; +using DeepDrftPublic.Client.Services; +using DeepDrftPublic.Client.Clients; using Microsoft.AspNetCore.Components; using Microsoft.Extensions.Logging; -namespace DeepDrftWeb.Client.Controls; +namespace DeepDrftPublic.Client.Controls; public partial class AudioPlayerProvider : ComponentBase, IAsyncDisposable { diff --git a/DeepDrftWeb.Client/DeepDrftWeb.Client.csproj b/DeepDrftPublic.Client/DeepDrftPublic.Client.csproj similarity index 100% rename from DeepDrftWeb.Client/DeepDrftWeb.Client.csproj rename to DeepDrftPublic.Client/DeepDrftPublic.Client.csproj diff --git a/DeepDrftWeb.Client/Layout/DeepDrftMenu.razor b/DeepDrftPublic.Client/Layout/DeepDrftMenu.razor similarity index 98% rename from DeepDrftWeb.Client/Layout/DeepDrftMenu.razor rename to DeepDrftPublic.Client/Layout/DeepDrftMenu.razor index f5310a2..eb575c5 100644 --- a/DeepDrftWeb.Client/Layout/DeepDrftMenu.razor +++ b/DeepDrftPublic.Client/Layout/DeepDrftMenu.razor @@ -1,5 +1,5 @@ -@using DeepDrftWeb.Client.Common -@using DeepDrftWeb.Client.Services +@using DeepDrftPublic.Client.Common +@using DeepDrftPublic.Client.Services @implements IAsyncDisposable