AI-Studio/app/MindWork AI Studio/Components/MudStepperWithoutActions.razor.cs
Thorsten Sommer 58cc811a58
Some checks failed
Build and Release / Determine run mode (push) Has been cancelled
Build and Release / Read metadata (push) Has been cancelled
Build and Release / Sync Flatpak repo (push) Has been cancelled
Build and Release / Collect Flatpak artifacts (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg,app,updater, dmg) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis,updater, nsis) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage,updater, appimage) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg,app,updater, dmg) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis,updater, nsis) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage,updater, appimage) (push) Has been cancelled
Build and Release / Prepare & create release (push) Has been cancelled
Build and Release / Publish release (push) Has been cancelled
Added the visual briefing assistant (#893)
2026-08-02 21:41:12 +02:00

70 lines
2.5 KiB
C#

using Microsoft.AspNetCore.Components;
namespace AIStudio.Components;
/// <summary>
/// A stepper that leaves the step navigation to the application instead of the user.
/// </summary>
/// <remarks>
/// MudBlazor renders Previous, Next, Skip, and Complete buttons by default. AI Studio drives its
/// steppers from application state — a running build, or an install flow that advances when each
/// step succeeds — so those buttons have nothing to do and would only look broken when clicked.
/// This component removes them once instead of once per assistant, and carries the shared step
/// colors so the steppers stay visually consistent.
/// </remarks>
public partial class MudStepperWithoutActions : ComponentBase
{
/// <summary>
/// Gets or sets the step the stepper points at.
/// </summary>
[Parameter]
public int ActiveIndex { get; set; }
/// <summary>
/// Gets or sets the callback raised when the active step changed.
/// </summary>
[Parameter]
public EventCallback<int> ActiveIndexChanged { get; set; }
/// <summary>
/// Gets or sets whether the user must not change the active step.
/// </summary>
/// <remarks>
/// Set this when the displayed process runs on its own. The step headers stay visible, but
/// clicking them no longer moves the stepper away from the step the application selected.
/// </remarks>
[Parameter]
public bool ReadOnly { get; set; }
/// <summary>
/// Gets or sets additional CSS classes for the stepper.
/// </summary>
[Parameter]
public string Class { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the steps to render.
/// </summary>
[Parameter]
public RenderFragment? ChildContent { get; set; }
/// <summary>
/// The marker class that lets app.css hide the action bar MudBlazor renders around the actions.
/// </summary>
private const string MARKER_CLASS = "mud-stepper-without-actions";
private string Classname => string.IsNullOrWhiteSpace(this.Class) ? MARKER_CLASS : $"{MARKER_CLASS} {this.Class}";
/// <summary>
/// Blocks step changes that the user triggered while the stepper is read-only.
/// </summary>
/// <param name="args">The interaction to inspect.</param>
/// <returns>A completed task.</returns>
private Task PreviewInteractionAsync(StepperInteractionEventArgs args)
{
if (this.ReadOnly)
args.Cancel = true;
return Task.CompletedTask;
}
}