@inherits MSGComponentBase
@typeparam TSettings

@if (this.IsVisible)
{
    <MudCard Outlined="@true" Style="@this.BlockStyle">
        <MudCardHeader>
            <CardHeaderContent>
                <MudStack AlignItems="AlignItems.Center" Row="@true">
                    <MudIcon Icon="@this.Icon" Size="Size.Large" Color="Color.Primary"/>
                    <MudText Typo="Typo.h6">
                        @this.Name
                    </MudText>
                </MudStack>
            </CardHeaderContent>
        </MudCardHeader>
        <MudCardContent>
            <MudStack>
                <MudText>
                    @this.Description
                </MudText>
            </MudStack>
        </MudCardContent>
        <MudCardActions>
            <MudButtonGroup Variant="Variant.Outlined">
                <MudButton Size="Size.Large" Variant="Variant.Filled" StartIcon="@this.Icon" Color="Color.Default" Href="@this.Link">
                    @this.ButtonText
                </MudButton>
                <MudIconButton Variant="Variant.Text" Icon="@Icons.Material.Filled.Settings" Color="Color.Default" OnClick="@this.OpenSettingsDialog"/>
            </MudButtonGroup>
        </MudCardActions>
    </MudCard>
}