All checks were successful
Caddy Manager CI build / docker (push) Successful in 1m1s
39 lines
1.8 KiB
Plaintext
39 lines
1.8 KiB
Plaintext
@page "/"
|
|
@attribute [StreamRendering]
|
|
@using CaddyManager.Models.Caddy
|
|
|
|
<PageTitle>Reverse proxy configurations</PageTitle>
|
|
|
|
<MudContainer Class="d-flex flex-row flex-grow-1 gap-4 align-center">
|
|
<MudButton Variant="Variant.Filled" Color="Color.Primary" StartIcon="@Icons.Material.Filled.Add"
|
|
OnClick="NewReverseProxy">New...
|
|
</MudButton>
|
|
<MudButton Variant="Variant.Filled" Color="Color.Error" StartIcon="@Icons.Material.Filled.Delete"
|
|
Disabled="@(_selectedCaddyConfigurations.Count <= 0)"
|
|
OnClick="Delete">Delete
|
|
</MudButton>
|
|
<MudButton Variant="Variant.Filled" Color="Color.Default" StartIcon="@Icons.Material.Filled.Refresh"
|
|
OnClick="RestartCaddy">Restart Caddy
|
|
</MudButton>
|
|
@if (_isProcessing)
|
|
{
|
|
<MudProgressCircular Color="Color.Primary" Indeterminate="true" Size="Size.Small"/>
|
|
}
|
|
<MudSpacer />
|
|
<MudTextField T="string" Placeholder="Search..." Adornment="Adornment.End" DebounceInterval="500"
|
|
OnDebounceIntervalElapsed="HandleIntervalElapsed" @bind-Value="_debouncedText"
|
|
AdornmentIcon="@(string.IsNullOrWhiteSpace(_debouncedText) ? Icons.Material.Filled.Search : Icons.Material.Filled.Close)"
|
|
OnAdornmentClick="HandleSearchBarAdornmentClick" />
|
|
</MudContainer>
|
|
<MudList T="CaddyConfigurationInfo" Class="pt-10" SelectionMode="SelectionMode.MultiSelection"
|
|
@bind-SelectedValues="_selectedCaddyConfigurations">
|
|
@foreach (var (index, caddyConfig) in _availableCaddyConfigurations.Index())
|
|
{
|
|
<CaddyReverseProxyItem ConfigurationInfo="@caddyConfig" OnCaddyRestartRequired="@RestartCaddy"/>
|
|
|
|
@if (index < _availableCaddyConfigurations.Count - 1)
|
|
{
|
|
<MudDivider/>
|
|
}
|
|
}
|
|
</MudList> |