mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-17 22:14:26 +01:00
committed by
Nicolas Dorier
parent
fee56873b5
commit
b16b1c3e8b
@@ -20,7 +20,9 @@ namespace BTCPayServer.Controllers
|
|||||||
Template =
|
Template =
|
||||||
"tea:\n" +
|
"tea:\n" +
|
||||||
" price: 0.02\n" +
|
" price: 0.02\n" +
|
||||||
" title: Green Tea # title is optional, defaults to the keys\n\n" +
|
" title: Green Tea # title is optional, defaults to the keys\n" +
|
||||||
|
" description: Lovely, fresh and tender, Meng Ding Gan Lu is grown in the lush Meng Ding Mountains of the southwestern province of Sichuan # description is optional, defalts to none\n" +
|
||||||
|
" image: https://cdn.pixabay.com/photo/2015/03/26/11/03/green-tea-692339__480.jpg # image is optional, defaults to none\n\n" +
|
||||||
"coffee:\n" +
|
"coffee:\n" +
|
||||||
" price: 1\n\n" +
|
" price: 1\n\n" +
|
||||||
"bamba:\n" +
|
"bamba:\n" +
|
||||||
|
|||||||
@@ -152,7 +152,17 @@ namespace BTCPayServer.Controllers
|
|||||||
.Where(kv => kv.Value != null)
|
.Where(kv => kv.Value != null)
|
||||||
.Select(c => new ViewPointOfSaleViewModel.Item()
|
.Select(c => new ViewPointOfSaleViewModel.Item()
|
||||||
{
|
{
|
||||||
|
Description = c.Value.Children
|
||||||
|
.Select(kv => new { Key = (kv.Key as YamlScalarNode)?.Value, Value = kv.Value as YamlScalarNode })
|
||||||
|
.Where(kv => kv.Value != null)
|
||||||
|
.Where(cc => cc.Key == "description")
|
||||||
|
.FirstOrDefault()?.Value?.Value,
|
||||||
Id = c.Key,
|
Id = c.Key,
|
||||||
|
Image = c.Value.Children
|
||||||
|
.Select(kv => new { Key = (kv.Key as YamlScalarNode)?.Value, Value = kv.Value as YamlScalarNode })
|
||||||
|
.Where(kv => kv.Value != null)
|
||||||
|
.Where(cc => cc.Key == "image")
|
||||||
|
.FirstOrDefault()?.Value?.Value,
|
||||||
Title = c.Value.Children
|
Title = c.Value.Children
|
||||||
.Select(kv => new { Key = (kv.Key as YamlScalarNode)?.Value, Value = kv.Value as YamlScalarNode })
|
.Select(kv => new { Key = (kv.Key as YamlScalarNode)?.Value, Value = kv.Value as YamlScalarNode })
|
||||||
.Where(kv => kv.Value != null)
|
.Where(kv => kv.Value != null)
|
||||||
|
|||||||
@@ -14,7 +14,9 @@ namespace BTCPayServer.Models.AppViewModels
|
|||||||
public string Formatted { get; set; }
|
public string Formatted { get; set; }
|
||||||
public decimal Value { get; set; }
|
public decimal Value { get; set; }
|
||||||
}
|
}
|
||||||
|
public string Description { get; set; }
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
|
public string Image { get; set; }
|
||||||
public ItemPrice Price { get; set; }
|
public ItemPrice Price { get; set; }
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,16 +18,30 @@
|
|||||||
<body class="h-100">
|
<body class="h-100">
|
||||||
<div class="container d-flex h-100">
|
<div class="container d-flex h-100">
|
||||||
<div class="justify-content-center align-self-center text-center mx-auto" style="margin: auto;">
|
<div class="justify-content-center align-self-center text-center mx-auto" style="margin: auto;">
|
||||||
<h1 class="mb-4">@Model.Title</h1>
|
<h1 class="mb-4 mt-3">@Model.Title</h1>
|
||||||
<form method="post" asp-antiforgery="false">
|
<form method="post" asp-antiforgery="false">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@for (int i = 0; i < Model.Items.Length; i++)
|
@for (int i = 0; i < Model.Items.Length; i++)
|
||||||
{
|
{
|
||||||
var className = (Model.Items.Length - i) > (Model.Items.Length % 3) ? "col-sm-4 mb-3" : "col align-self-center";
|
var className = (Model.Items.Length - i) > (Model.Items.Length % 4) ? "col-sm-6 col-lg-3" : "col align-self-center";
|
||||||
var item = Model.Items[i];
|
var item = Model.Items[i];
|
||||||
<div class="@className">
|
var image = item.Image;
|
||||||
<h3>@item.Title</h3>
|
var description = item.Description;
|
||||||
<button type="submit" name="choiceKey" class="btn btn-primary" value="@item.Id">Buy for @item.Price.Formatted</button>
|
<div class="@className my-3 px-2">
|
||||||
|
<div class="card">
|
||||||
|
@if (image != null && image != String.Empty)
|
||||||
|
{
|
||||||
|
<img class="card-img-top" src="@image" alt="Card image cap">
|
||||||
|
}
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">@item.Title</h5>
|
||||||
|
@if (description != null && description != String.Empty)
|
||||||
|
{
|
||||||
|
<p class="card-text">@description</p>
|
||||||
|
}
|
||||||
|
<button type="submit" name="choiceKey" class="btn btn-primary" value="@item.Id">Buy for @item.Price.Formatted</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
@@ -38,7 +52,7 @@
|
|||||||
<div class="col-sm-3"> </div>
|
<div class="col-sm-3"> </div>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<form method="post" asp-antiforgery="false" data-buy>
|
<form method="post" asp-antiforgery="false" data-buy>
|
||||||
<div class="input-group">
|
<div class="input-group mb-3">
|
||||||
<input class="form-control" type="number" min="0" step="@Model.Step" name="amount" placeholder="amount"><div class="input-group-append">
|
<input class="form-control" type="number" min="0" step="@Model.Step" name="amount" placeholder="amount"><div class="input-group-append">
|
||||||
<button class="btn btn-primary" type="submit">Pay</button>
|
<button class="btn btn-primary" type="submit">Pay</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user