J
Jonas Inghammar

Ebeco Dashboard UI Design

MudBlazor Dashboard presenting charts, stats and sidebar navigation. Uses MudChart donut visuals and a MudGrid layout with responsive cards and a navigation drawer.

LIVE DEMO
Generated using Instruct UI - An AI for Blazor UI Generation
## What's implemented - Page layout with top app bar, persistent drawer navigation and main content area. - Stats bar with multiple stat tiles. - Multiple chart cards using MudChart (Donut and Bar). - Responsive grid layout with MudGrid / MudItem cards. - Navigation menu with MudNavMenu, MudNavGroup and MudNavLink. - Small interactive controls: MudButton, MudMenu, MudIconButton and MudAvatar. ## Key components - MudLayout, MudAppBar, MudDrawer, MudMainContent - MudNavMenu, MudNavGroup, MudNavLink - MudGrid, MudItem, MudContainer - MudPaper, MudText, MudButton, MudIconButton, MudAvatar, MudDivider, MudSpacer - MudChart (ChartType.Donut, ChartType.Bar) ## How it works - Component state: drawer open state uses a private bool and ToggleDrawer; drawer binding uses @bind-Open. - Charts render from arrays in code-behind (double[] and string[]), with ChartOptions instances controlling legends and axes. - Stats use a StatItem model (Title, Value, IsLast) and render via a foreach loop into MudItems. - Interaction patterns are UI-only: navigation links use Href, buttons are wired to local methods (Refresh button has no backend call). ## Styling - Uses MudBlazor components and custom CSS in app.css for theme accents (chart-card-blue, chart-card-red, stats-bar, refresh-button). - Responsive behavior uses MudGrid breakpoints (xs, lg) and conditional MudDivider visibility classes (d-none d-md-block). - Chart containers use absolute positioning for center text and annotations; cards use background-color overrides via CSS. ## Reuse steps 1. Install MudBlazor NuGet and register MudBlazor services in Program.cs (builder.Services.AddMudServices()). 2. Import MudBlazor namespace in _Imports.razor and include the custom app.css in site stylesheet pipeline. 3. Copy DashboardPage.razor, StatItem.cs and the CSS snippets into the project; preserve MudChart arrays and ChartOptions. 4. Replace hard-coded arrays and _stats list with real services (inject HttpClient or scoped services and async loading). 5. Wire navigation, authentication and any refresh/update handlers to back-end endpoints or state management. ## Limitations & next steps - This is a single-page showcase generated by Instruct UI; it contains UI-only sample data and no backend integration. - Charts use static arrays; replace with async data retrieval and call StateHasChanged after loading. - No authorization or API services are configured; add authentication, localization and telemetry in the host app as needed. - Consider extracting reusable components (StatTile, ChartCard) and adding loading and error states for production use.