mudblazor

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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "mudblazor" with this command: npx skills add stuartf303/vandaemon/stuartf303-vandaemon-mudblazor

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

@page "/dashboard" @inject HttpClient Http

<MudContainer MaxWidth="MaxWidth.Large" Class="mt-4"> <MudPaper Class="pa-4"> <MudText Typo="Typo.h4">Tank Levels</MudText> <MudGrid> @foreach (var tank in tanks) { <MudItem xs="12" sm="6" md="4"> <MudCard> <MudCardContent> <MudText>@tank.Name</MudText> <MudProgressLinear Value="@tank.CurrentLevel" Color="Color.Primary" /> </MudCardContent> </MudCard> </MudItem> } </MudGrid> </MudPaper> </MudContainer>

Touch-Optimized Control

<MudSwitch @bind-Value="@control.IsOn" Color="Color.Success" Size="Size.Large" Label="@control.Name" @onclick="() => ToggleControl(control.Id)" />

<MudSlider @bind-Value="@dimmerValue" Min="0" Max="255" Step="1" Color="Color.Primary" Size="Size.Large" ValueLabel="true" @onchange="() => 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

@code { private double tankLevel;

protected override async Task OnInitializedAsync()
{
    hubConnection.On&#x3C;Guid, double, string>("TankLevelUpdated", (id, level, name) =>
    {
        tankLevel = level;
        InvokeAsync(StateHasChanged);  // Required for SignalR callbacks
    });
}

}

Responsive Grid

When: Building dashboard layouts

<MudGrid Spacing="3"> <MudItem xs="12" sm="6" md="4" lg="3"> <!-- Full width on mobile, half on tablet, quarter on desktop --> </MudItem> </MudGrid>

See Also

  • patterns - Component patterns and anti-patterns

  • workflows - 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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

frontend-design

No summary provided by upstream source.

Repository SourceNeeds Review
General

fluent-assertions

No summary provided by upstream source.

Repository SourceNeeds Review
General

kicad

No summary provided by upstream source.

Repository SourceNeeds Review