---
name: mudblazor
description: |
Creates Material Design UI components and touch-optimized interfaces for Blazor WebAssembly.
Use when: building dashboard pages, forms, data tables, dialogs, or any UI component in VanDaemon's frontend.
allowed-tools: Read, Edit, Write, Glob, Grep, Bash
---
# MudBlazor Skill
MudBlazor provides Material Design components for Blazor. VanDaemon uses MudBlazor 6.x for touch-optimized interfaces designed for mobile devices in camper van environments. Key patterns include real-time data binding with SignalR, responsive layouts, and dark/light theme support.
## Quick Start
### Basic Page Layout
```razor
@page "/dashboard"
@inject HttpClient Http
Tank Levels
@foreach (var tank in tanks)
{
@tank.Name
}
```
### Touch-Optimized Control
```razor
ToggleControl(control.Id)" />
UpdateDimmer()" />
```
## Key Concepts
| Component | Use Case | Size Prop |
|-----------|----------|-----------|
| `MudSwitch` | Toggle controls (lights, pump) | `Size.Large` for touch |
| `MudSlider` | Dimmer controls (0-255) | `Size.Large` for touch |
| `MudProgressLinear` | Tank level display | N/A |
| `MudCard` | Content containers | N/A |
| `MudGrid/MudItem` | Responsive layout | `xs`, `sm`, `md` breakpoints |
| `MudDialog` | Confirmations, settings | N/A |
## Common Patterns
### Real-Time Data Binding
**When:** Displaying SignalR-updated values
```razor
@code {
private double tankLevel;
protected override async Task OnInitializedAsync()
{
hubConnection.On("TankLevelUpdated", (id, level, name) =>
{
tankLevel = level;
InvokeAsync(StateHasChanged); // Required for SignalR callbacks
});
}
}
```
### Responsive Grid
**When:** Building dashboard layouts
```razor
```
## See Also
- [patterns](references/patterns.md) - Component patterns and anti-patterns
- [workflows](references/workflows.md) - Form handling, theming, dialogs
## Related Skills
- See the **blazor** skill for component lifecycle and SignalR integration
- See the **signalr** skill for real-time data updates
- See the **frontend-design** skill for responsive design patterns