K
Kuba Ficek (Ficu)

CRM Frontend Detailed Specification

MudBlazor CRM Dashboard demo showing a left navigation drawer, metric cards and a centered login form. Layout uses MudGrid and MudPaper components for responsive panels.

LIVE DEMO
Generated using Instruct UI - An AI for Blazor UI Generation
## What's implemented - Top AppBar with menu icon, title and notification badge. - Left navigation drawer mock with user label. - Dashboard metric cards presented as MudPaper tiles (revenue, conversion, new clients, orders). - Centered login panel built from MudTextField and MudButton. - Icons via Icons.Material and a MudBadge for notifications. ## Key components - MudText, MudPaper, MudGrid, MudItem - MudIcon, MudBadge - MudTextField, MudButton ## How it works - Layout uses MudGrid and MudItem to create a responsive two-column structure (navigation + main content). - Metric cards are static MudPaper tiles with MudIcon and MudText; values are hard-coded placeholders. - Login inputs are standalone MudTextField controls and a MudButton; no EditForm or validation components are present, so inputs require explicit @bind-* wiring to model properties when integrated. - Interaction patterns visible: click targets (buttons/icons) and a badge displaying a numeric notification count; no event handlers or data services are wired in the sample. ## Styling - Visual styling relies on MudBlazor components and theme tokens (e.g., Palette primary used inline on the AppBar paper). - Layout and spacing use MudBlazor utility classes (pa-4, mb-6, d-flex, justify-center) and inline Height styles for card sizing. - A minimal custom CSS file provides a .min-vh-100 helper; responsiveness comes from MudGrid breakpoints (xs, sm, md). ## Reuse steps 1. Add the MudBlazor NuGet package and register services in Program.cs (builder.Services.AddMudServices()). 2. Import MudBlazor namespace in _Imports.razor and include MudBlazor CSS in index.html/Host. 3. Copy the Razor fragment into a page/component and replace static values with model properties and event handlers (@bind-Value, OnClick callbacks). 4. Add authentication and data services (e.g., HttpClient or application services) and inject them into the component to populate metrics and handle login. 5. Optionally wrap login inputs with EditForm and DataAnnotationsValidator to enable validation and model binding. ## Limitations & next steps - This is a single-page UI demo generated by Instruct UI; no backend, state management, or authentication is implemented. - Inputs lack @bind-* or EditForm validation and require model binding and validation rules to be production-ready. - Metric tiles and navigation are static placeholders; connect to APIs or services to populate live data and add paging/filtering for lists. - Consider extracting reusable components for cards, the app bar, and the drawer, and register MudBlazor services and theming in the host project.