Iceshrimp.NET/Iceshrimp.Frontend/Components/StateButton.razor
2024-09-10 01:51:27 +02:00

27 lines
No EOL
936 B
Text

<button @onclick="OnClick">
@(State switch
{
StateEnum.Initial => Initial,
StateEnum.Loading => Loading,
StateEnum.Failed => Failed,
StateEnum.Success => Success,
_ => throw new ArgumentOutOfRangeException()
})
</button>
@code {
[Parameter, EditorRequired] public required EventCallback OnClick { get; set; }
[Parameter, EditorRequired] public required RenderFragment Initial { get; set; }
[Parameter, EditorRequired] public required RenderFragment Loading { get; set; }
[Parameter, EditorRequired] public required RenderFragment Failed { get; set; }
[Parameter, EditorRequired] public required RenderFragment Success { get; set; }
public StateEnum State { get; set; }
public enum StateEnum
{
Initial,
Loading,
Failed,
Success
}
}