Skip to content

feat: apply AndreGoepel.Design.Blazor design system (infra + shell)#79

Merged
andregoepel merged 1 commit into
mainfrom
feature/apply-design-system
Jul 8, 2026
Merged

feat: apply AndreGoepel.Design.Blazor design system (infra + shell)#79
andregoepel merged 1 commit into
mainfrom
feature/apply-design-system

Conversation

@andregoepel

Copy link
Copy Markdown
Owner

Adopts the extracted AndreGoepel.Design.Blazor design system in the management frontend. Phase 1 — infrastructure + shell only. Page-level migrations follow in separate PRs.

Changes

  • Packages: add AndreGoepel.Design.Blazor 1.0.0; bump AndreGoepel.Marten.Identity.Blazor 1.2.0 → 1.3.0 (which now ships the design and depends on Design.Blazor).
  • Host App.razor: load design fonts, design.css (after Radzen material-base.css), and the theme + off-canvas nav scripts.
  • MainLayout: RadzenLayout → the design AppShell (brand from AppFoundationLayoutOptions, NavMenu in the sidebar slot, ThemeToggle + profile menu in the topbar, copyright in the footer).
  • NavMenu: RadzenPanelMenu → flat ag-nav-section / ag-nav-item (sentence case); setup + feature-flag gating preserved.
  • 1.3.0 breaking-change fixups: the feature-flag types and the feature-gate middleware extension moved to the …Blazor.Features namespace — updated NavMenu, MartenIdentityFeatureProvider, IdentityFeatureServiceCollectionExtensions, Hosting/Initialization.

Verification

  • dotnet restore --locked-mode: passes · dotnet build: 0 errors · dotnet csharpier check .: passes · unit tests: 56/56

Open decisions (for review)

  1. Brand: AppShell renders a letter-mark from BrandName; the previous logo image (LayoutOptions.LogoPath) is no longer shown. To keep a logo, AppShell would need a Brand slot (a Design.Blazor enhancement + release). Currently: letter-mark.
  2. Breadcrumb: the topbar title is empty for app-foundation's own pages until they adopt AppPageTitle/IdentityPageTitle with Breadcrumb (Identity pages from the package already show it). Filled during the page migrations.

Next (separate PRs)

Migrate the pages to the design conventions: Home, Setup, Administration/EmailSettings, Administration/LoginFeatures, Error/NotFound/ErrorPage, EmptyLayout, and the sample Home.

Notes

Branch was cut from feature/e2e-tests; rebased onto main so this PR contains only the design change (no E2E work).

Adopt the extracted design system in the management frontend.

- Add the AndreGoepel.Design.Blazor 1.0.0 package and bump
  AndreGoepel.Marten.Identity.Blazor 1.2.0 -> 1.3.0 (which now carries the design).
- Host App.razor loads the design fonts, design.css (after Radzen material-base),
  and the theme + off-canvas nav scripts.
- Replace the RadzenLayout-based MainLayout with the design AppShell (brand,
  NavMenu sidebar slot, ThemeToggle + profile menu in the topbar, copyright footer).
- Flatten NavMenu from RadzenPanelMenu to ag-nav-section / ag-nav-item.
- Fix references for the 1.3.0 move of the feature-flag types and the feature-gate
  extension into the ...Blazor.Features namespace.
@andregoepel
andregoepel merged commit 57820fa into main Jul 8, 2026
3 checks passed
@andregoepel
andregoepel deleted the feature/apply-design-system branch July 8, 2026 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant