Add responsive table wrap where necessary

This commit is contained in:
Dennis Reimann 2022-05-09 10:38:17 +02:00 committed by Andrew Camilleri
parent 12a5998a07
commit b67d3a504b
2 changed files with 163 additions and 166 deletions

View file

@ -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>

View file

@ -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>
}