mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-03-06 18:41:12 +01:00
* Dashboard: Add Point Of Sale data Closes #3675. * LNURL: Add POS redirect URL * POS: Fix invoices link * Fix integration tests * Simplify data aggregation * Improve chart display
34 lines
1.2 KiB
Text
34 lines
1.2 KiB
Text
@using BTCPayServer.Services.Apps
|
|
@using BTCPayServer.TagHelpers
|
|
@using Microsoft.AspNetCore.Mvc.TagHelpers
|
|
@model BTCPayServer.Components.AppSales.AppSalesViewModel
|
|
|
|
@{
|
|
var action = $"Update{Model.App.AppType}";
|
|
var label = Model.App.AppType == nameof(AppType.Crowdfund) ? "Contributions" : "Sales";
|
|
}
|
|
|
|
<div id="AppSales-@Model.App.Id" class="widget app-sales">
|
|
<header class="mb-3">
|
|
<h3>@Model.App.Name @label</h3>
|
|
<a asp-controller="UIApps" asp-action="@action" asp-route-appId="@Model.App.Id">Manage</a>
|
|
</header>
|
|
<p>@Model.SalesCount Total @label</p>
|
|
<div class="ct-chart"></div>
|
|
<script>
|
|
(function () {
|
|
const id = @Safe.Json($"AppSales-{Model.App.Id}");
|
|
const labels = @Safe.Json(Model.Series.Select(i => i.Label));
|
|
const series = @Safe.Json(Model.Series.Select(i => i.SalesCount));
|
|
const min = Math.min(...series);
|
|
const max = Math.max(...series);
|
|
const low = min === max ? 0 : Math.max(min - ((max - min) / 5), 0);
|
|
new Chartist.Bar(`#${id} .ct-chart`, {
|
|
labels,
|
|
series: [series]
|
|
}, {
|
|
low,
|
|
});
|
|
})();
|
|
</script>
|
|
</div>
|