mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-03-13 11:35:51 +01:00
Add responsive table wrap where necessary
This commit is contained in:
parent
12a5998a07
commit
b67d3a504b
2 changed files with 163 additions and 166 deletions
|
@ -75,9 +75,9 @@
|
|||
<partial name="_StatusMessage" />
|
||||
|
||||
<div class="row justify-content-between">
|
||||
<div class="col-md-5">
|
||||
<div class="col-md-6">
|
||||
<h3 class="mb-3">Invoice Information</h3>
|
||||
<table class="table table-responsive-md mb-5">
|
||||
<table class="table mb-5">
|
||||
<tr>
|
||||
<th class="fw-semibold">Store</th>
|
||||
<td><a href="@Model.StoreLink" rel="noreferrer noopener">@Model.StoreName</a></td>
|
||||
|
@ -192,7 +192,7 @@
|
|||
@if (Model.PosData.Count == 0)
|
||||
{
|
||||
<h3 class="mb-3">Product Information</h3>
|
||||
<table class="table table-responsive-md mb-5">
|
||||
<table class="table mb-5">
|
||||
@if (!string.IsNullOrEmpty(Model.TypedMetadata.ItemCode))
|
||||
{
|
||||
<tr>
|
||||
|
@ -218,46 +218,48 @@
|
|||
</table>
|
||||
}
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="col-md-6">
|
||||
<h3 class="mb-3">Buyer Information</h3>
|
||||
<table class="table table-responsive-md mb-5">
|
||||
<tr>
|
||||
<th class="fw-semibold">Name</th>
|
||||
<td>@Model.TypedMetadata.BuyerName</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">Email</th>
|
||||
<td><a href="mailto:@Model.TypedMetadata.BuyerEmail">@Model.TypedMetadata.BuyerEmail</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">Phone</th>
|
||||
<td>@Model.TypedMetadata.BuyerPhone</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">Address 1</th>
|
||||
<td>@Model.TypedMetadata.BuyerAddress1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">Address 2</th>
|
||||
<td>@Model.TypedMetadata.BuyerAddress2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">City</th>
|
||||
<td>@Model.TypedMetadata.BuyerCity</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">State</th>
|
||||
<td>@Model.TypedMetadata.BuyerState</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">Country</th>
|
||||
<td>@Model.TypedMetadata.BuyerCountry</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">Zip</th>
|
||||
<td>@Model.TypedMetadata.BuyerZip</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="table-responsive-xl">
|
||||
<table class="table mb-5">
|
||||
<tr>
|
||||
<th class="fw-semibold">Name</th>
|
||||
<td>@Model.TypedMetadata.BuyerName</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">Email</th>
|
||||
<td><a href="mailto:@Model.TypedMetadata.BuyerEmail">@Model.TypedMetadata.BuyerEmail</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">Phone</th>
|
||||
<td>@Model.TypedMetadata.BuyerPhone</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">Address 1</th>
|
||||
<td>@Model.TypedMetadata.BuyerAddress1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">Address 2</th>
|
||||
<td>@Model.TypedMetadata.BuyerAddress2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">City</th>
|
||||
<td>@Model.TypedMetadata.BuyerCity</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">State</th>
|
||||
<td>@Model.TypedMetadata.BuyerState</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">Country</th>
|
||||
<td>@Model.TypedMetadata.BuyerCountry</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="fw-semibold">Zip</th>
|
||||
<td>@Model.TypedMetadata.BuyerZip</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -266,7 +268,7 @@
|
|||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<h3 class="mb-3">Product information</h3>
|
||||
<table class="table table-responsive-md mb-5">
|
||||
<table class="table mb-5">
|
||||
@if (!string.IsNullOrEmpty(Model.TypedMetadata.ItemCode))
|
||||
{
|
||||
<tr>
|
||||
|
@ -303,99 +305,94 @@
|
|||
|
||||
@if (Model.Deliveries.Count != 0)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h3 class="mb-3 mt-4">Webhooks</h3>
|
||||
<table class="table table-hover table-responsive-md mb-5">
|
||||
<thead class="thead-inverse">
|
||||
<tr>
|
||||
<th>Status</th>
|
||||
<th>ID</th>
|
||||
<th>Type</th>
|
||||
<th>Url</th>
|
||||
<th>Date</th>
|
||||
<th class="text-end">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var delivery in Model.Deliveries)
|
||||
{
|
||||
<tr>
|
||||
<form asp-action="RedeliverWebhook"
|
||||
asp-route-storeId="@Model.StoreId"
|
||||
asp-route-invoiceId="@Model.Id"
|
||||
asp-route-deliveryId="@delivery.Id"
|
||||
method="post">
|
||||
<td>
|
||||
<span>
|
||||
@if (delivery.Success)
|
||||
{
|
||||
<span class="fa fa-check text-success" title="Success"></span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span class="fa fa-times text-danger" title="@delivery.ErrorMessage"></span>
|
||||
}
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span>
|
||||
<a asp-action="WebhookDelivery"
|
||||
asp-route-invoiceId="@Model.Id"
|
||||
asp-route-deliveryId="@delivery.Id"
|
||||
target="_blank">
|
||||
@delivery.Id
|
||||
</a>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span>@delivery.Type</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-nowrap" data-bs-toggle="tooltip" title="@delivery.PayloadUrl" style="cursor: pointer;">
|
||||
<span style="max-width: 250px;">@delivery.PayloadUrl</span>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span>
|
||||
@delivery.Time.ToBrowserDate()
|
||||
</span>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button id="#redeliver-@delivery.Id"
|
||||
type="submit"
|
||||
class="btn btn-link p-0">
|
||||
Redeliver
|
||||
</button>
|
||||
</td>
|
||||
</form>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="row mt-4">
|
||||
<div class="col-md-12">
|
||||
<h3 class="mb-0">Events</h3>
|
||||
<table class="table table-hover table-responsive-md">
|
||||
<div class="table-responsive-xl">
|
||||
<h3 class="mb-3 mt-4">Webhooks</h3>
|
||||
<table class="table table-hover table-responsive-md mb-5">
|
||||
<thead class="thead-inverse">
|
||||
<tr>
|
||||
<th>Status</th>
|
||||
<th>ID</th>
|
||||
<th>Type</th>
|
||||
<th>Url</th>
|
||||
<th>Date</th>
|
||||
<th>Message</th>
|
||||
<th class="text-end">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var evt in Model.Events)
|
||||
@foreach (var delivery in Model.Deliveries)
|
||||
{
|
||||
<tr class="text-@evt.GetCssClass()">
|
||||
<td>@evt.Timestamp.ToBrowserDate()</td>
|
||||
<td>@evt.Message</td>
|
||||
<tr>
|
||||
<form asp-action="RedeliverWebhook"
|
||||
asp-route-storeId="@Model.StoreId"
|
||||
asp-route-invoiceId="@Model.Id"
|
||||
asp-route-deliveryId="@delivery.Id"
|
||||
method="post">
|
||||
<td>
|
||||
<span>
|
||||
@if (delivery.Success)
|
||||
{
|
||||
<span class="fa fa-check text-success" title="Success"></span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span class="fa fa-times text-danger" title="@delivery.ErrorMessage"></span>
|
||||
}
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span>
|
||||
<a asp-action="WebhookDelivery"
|
||||
asp-route-invoiceId="@Model.Id"
|
||||
asp-route-deliveryId="@delivery.Id"
|
||||
target="_blank">
|
||||
@delivery.Id
|
||||
</a>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span>@delivery.Type</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-nowrap" data-bs-toggle="tooltip" title="@delivery.PayloadUrl" style="cursor: pointer;">
|
||||
<span style="max-width: 250px;">@delivery.PayloadUrl</span>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span>
|
||||
@delivery.Time.ToBrowserDate()
|
||||
</span>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button id="#redeliver-@delivery.Id"
|
||||
type="submit"
|
||||
class="btn btn-link p-0">
|
||||
Redeliver
|
||||
</button>
|
||||
</td>
|
||||
</form>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<h3 class="mb-0">Events</h3>
|
||||
<table class="table table-hover">
|
||||
<thead class="thead-inverse">
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th>Message</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var evt in Model.Events)
|
||||
{
|
||||
<tr class="text-@evt.GetCssClass()">
|
||||
<td>@evt.Timestamp.ToBrowserDate()</td>
|
||||
<td>@evt.Message</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
|
|
@ -3,60 +3,60 @@
|
|||
@{ var invoice = Model.Invoice; }
|
||||
@inject PaymentMethodHandlerDictionary PaymentMethodHandlerDictionary
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="col-md-12 invoice-payments">
|
||||
<h3 class="mb-0">Invoice Summary</h3>
|
||||
<table class="table table-hover table-responsive-md">
|
||||
<thead class="thead-inverse">
|
||||
<div class="invoice-payments table-responsive-xl mb-4">
|
||||
<h3 class="mb-0">Invoice Summary</h3>
|
||||
<table class="table table-hover">
|
||||
<thead class="thead-inverse">
|
||||
<tr>
|
||||
<th>Payment method</th>
|
||||
@if (Model.ShowAddress)
|
||||
{
|
||||
<th>Address</th>
|
||||
}
|
||||
<th class="text-end">Rate</th>
|
||||
<th class="text-end">Paid</th>
|
||||
<th class="text-end">Due</th>
|
||||
@if (invoice.StatusException == InvoiceExceptionStatus.PaidOver)
|
||||
{
|
||||
<th class="text-end">Overpaid</th>
|
||||
}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var payment in invoice.CryptoPayments)
|
||||
{
|
||||
<tr>
|
||||
<th>Payment method</th>
|
||||
<td>@payment.PaymentMethod</td>
|
||||
@if (Model.ShowAddress)
|
||||
{
|
||||
<th>Address</th>
|
||||
<td title="@payment.Address">
|
||||
<span class="text-truncate d-block" style="max-width: 400px">@payment.Address</span>
|
||||
</td>
|
||||
}
|
||||
<th class="text-end">Rate</th>
|
||||
<th class="text-end">Paid</th>
|
||||
<th class="text-end">Due</th>
|
||||
<td class="text-end">@payment.Rate</td>
|
||||
<td class="text-end">@payment.Paid</td>
|
||||
<td class="text-end">@payment.Due</td>
|
||||
@if (invoice.StatusException == InvoiceExceptionStatus.PaidOver)
|
||||
{
|
||||
<th class="text-end">Overpaid</th>
|
||||
<td class="text-end">@payment.Overpaid</td>
|
||||
}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var payment in invoice.CryptoPayments)
|
||||
var details = payment.PaymentMethodRaw.GetPaymentMethodDetails();
|
||||
var name = details.GetAdditionalDataPartialName();
|
||||
if (!string.IsNullOrEmpty(name))
|
||||
{
|
||||
<tr>
|
||||
<td>@payment.PaymentMethod</td>
|
||||
@if (Model.ShowAddress)
|
||||
{
|
||||
<td title="@payment.Address">
|
||||
<span class="text-truncate d-block" style="max-width: 400px">@payment.Address</span>
|
||||
</td>
|
||||
}
|
||||
<td class="text-end">@payment.Rate</td>
|
||||
<td class="text-end">@payment.Paid</td>
|
||||
<td class="text-end">@payment.Due</td>
|
||||
@if (invoice.StatusException == InvoiceExceptionStatus.PaidOver)
|
||||
{
|
||||
<td class="text-end">@payment.Overpaid</td>
|
||||
}
|
||||
</tr>
|
||||
var details = payment.PaymentMethodRaw.GetPaymentMethodDetails();
|
||||
var name = details.GetAdditionalDataPartialName();
|
||||
if (!string.IsNullOrEmpty(name))
|
||||
{
|
||||
<partial name="@name" model="@details" />
|
||||
}
|
||||
<partial name="@name" model="@details" />
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@{
|
||||
var grouped = invoice.Payments.GroupBy(payment => payment.GetPaymentMethodId()?.PaymentType).Where(entities => entities.Key!= null);
|
||||
}
|
||||
@foreach (var paymentGroup in grouped)
|
||||
{
|
||||
<partial name="@paymentGroup.Key.InvoiceViewPaymentPartialName" model="@paymentGroup.ToList()" />
|
||||
<div class="table-responsive-xl">
|
||||
<partial name="@paymentGroup.Key.InvoiceViewPaymentPartialName" model="@paymentGroup.ToList()" />
|
||||
</div>
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue