34 lines
1.1 KiB
Plaintext
34 lines
1.1 KiB
Plaintext
@using BTCPayServer.Client.Models
|
|
|
|
<div @attributes="InputAttributes" class="@CssClass">
|
|
@if (Invoice.Archived)
|
|
{
|
|
<span class="badge bg-warning">Archived</span>
|
|
}
|
|
<span class="badge badge-@Invoice.Status.ToString().ToLower()">
|
|
@GetInvoiceStatus(Invoice.Status, Invoice.AdditionalStatus)
|
|
</span>
|
|
</div>
|
|
|
|
@code {
|
|
[Parameter, EditorRequired]
|
|
public InvoiceData Invoice { get; set; } = null!;
|
|
|
|
[Parameter(CaptureUnmatchedValues = true)]
|
|
public Dictionary<string, object>? InputAttributes { get; set; }
|
|
|
|
private string GetInvoiceStatus(InvoiceStatus status, InvoiceExceptionStatus exceptionStatus)
|
|
{
|
|
return status + exceptionStatus switch
|
|
{
|
|
InvoiceExceptionStatus.PaidOver => " (paid over)",
|
|
InvoiceExceptionStatus.PaidLate => " (paid late)",
|
|
InvoiceExceptionStatus.PaidPartial => " (paid partial)",
|
|
InvoiceExceptionStatus.Marked => " (marked)",
|
|
_ => ""
|
|
};
|
|
}
|
|
|
|
private string CssClass => $"d-inline-flex align-items-center gap-2 {(InputAttributes?.ContainsKey("class") is true ? InputAttributes["class"] : "")}".Trim();
|
|
}
|