mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2024-11-19 09:54:30 +01:00
Improve and unify page headers (#2412)
* Improve and unify page headers * Altcoin test fixes * Update BTCPayServer/Views/Apps/UpdateCrowdfund.cshtml Co-authored-by: Andrew Camilleri <evilkukka@gmail.com> * Update BTCPayServer/Views/Apps/UpdateCrowdfund.cshtml Co-authored-by: Andrew Camilleri <evilkukka@gmail.com> * Fix missing store name in pairing view * Fix CanUsePairing test * Bump header navigation font size * Use partial tag instead of Html.PartialAsync in views As suggested by @nicolasdorier. These are equivalent, see details [here](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/partial?view=aspnetcore-3.1#partial-tag-helper). * Fix docs link As in #2432. * Update BTCPayServer/Views/Wallets/SignWithSeed.cshtml Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com> * Update BTCPayServer/Views/Wallets/WalletSendVault.cshtml Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com> * Update BTCPayServer/Views/Wallets/WalletTransactions.cshtml Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com> Co-authored-by: Andrew Camilleri <evilkukka@gmail.com> Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
This commit is contained in:
parent
6473da7114
commit
b12c4c5fa0
@ -225,7 +225,7 @@ namespace BTCPayServer.Tests
|
||||
|
||||
public void ClickOnAllSideMenus()
|
||||
{
|
||||
var links = Driver.FindElements(By.CssSelector(".nav-pills .nav-link")).Select(c => c.GetAttribute("href")).ToList();
|
||||
var links = Driver.FindElements(By.CssSelector(".nav .nav-link")).Select(c => c.GetAttribute("href")).ToList();
|
||||
Driver.AssertNoError();
|
||||
Assert.NotEmpty(links);
|
||||
foreach (var l in links)
|
||||
|
@ -16,23 +16,22 @@ namespace BTCPayServer.Controllers
|
||||
public string StoreId { get; set; }
|
||||
public override string ToString()
|
||||
{
|
||||
return String.Empty;
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[HttpGet]
|
||||
[Route("{appId}/settings/crowdfund")]
|
||||
[HttpGet("{appId}/settings/crowdfund")]
|
||||
public async Task<IActionResult> UpdateCrowdfund(string appId)
|
||||
{
|
||||
var app = await GetOwnedApp(appId, AppType.Crowdfund);
|
||||
if (app == null)
|
||||
return NotFound();
|
||||
var settings = app.GetSettings<CrowdfundSettings>();
|
||||
var vm = new UpdateCrowdfundViewModel()
|
||||
var vm = new UpdateCrowdfundViewModel
|
||||
{
|
||||
Title = settings.Title,
|
||||
StoreId = app.StoreDataId,
|
||||
StoreName = app.StoreData?.StoreName,
|
||||
Enabled = settings.Enabled,
|
||||
EnforceTargetAmount = settings.EnforceTargetAmount,
|
||||
StartDate = settings.StartDate,
|
||||
|
@ -97,10 +97,11 @@ namespace BTCPayServer.Controllers
|
||||
settings.DefaultView = settings.EnableShoppingCart ? PosViewType.Cart : settings.DefaultView;
|
||||
settings.EnableShoppingCart = false;
|
||||
|
||||
var vm = new UpdatePointOfSaleViewModel()
|
||||
var vm = new UpdatePointOfSaleViewModel
|
||||
{
|
||||
Id = appId,
|
||||
StoreId = app.StoreDataId,
|
||||
StoreName = app.StoreData?.StoreName,
|
||||
Title = settings.Title,
|
||||
DefaultView = settings.DefaultView,
|
||||
ShowCustomAmount = settings.ShowCustomAmount,
|
||||
@ -183,7 +184,7 @@ namespace BTCPayServer.Controllers
|
||||
var app = await GetOwnedApp(appId, AppType.PointOfSale);
|
||||
if (app == null)
|
||||
return NotFound();
|
||||
app.SetSettings(new PointOfSaleSettings()
|
||||
app.SetSettings(new PointOfSaleSettings
|
||||
{
|
||||
Title = vm.Title,
|
||||
DefaultView = vm.DefaultView,
|
||||
|
@ -857,6 +857,12 @@ namespace BTCPayServer.Controllers
|
||||
if (string.IsNullOrWhiteSpace(userId))
|
||||
return Challenge(AuthenticationSchemes.Cookie);
|
||||
var storeId = CurrentStore?.Id;
|
||||
if (storeId != null)
|
||||
{
|
||||
var store = await _Repo.FindStore(storeId, userId);
|
||||
if (store != null)
|
||||
HttpContext.SetStoreData(store);
|
||||
}
|
||||
var model = new CreateTokenViewModel();
|
||||
ViewBag.HidePublicKey = true;
|
||||
ViewBag.ShowStores = true;
|
||||
@ -913,6 +919,14 @@ namespace BTCPayServer.Controllers
|
||||
return Challenge(AuthenticationSchemes.Cookie);
|
||||
if (pairingCode == null)
|
||||
return NotFound();
|
||||
if (selectedStore != null)
|
||||
{
|
||||
var store = await _Repo.FindStore(selectedStore, userId);
|
||||
if (store == null)
|
||||
return NotFound();
|
||||
HttpContext.SetStoreData(store);
|
||||
ViewBag.ShowStores = false;
|
||||
}
|
||||
var pairing = await _TokenRepository.GetPairingAsync(pairingCode);
|
||||
if (pairing == null)
|
||||
{
|
||||
@ -922,7 +936,7 @@ namespace BTCPayServer.Controllers
|
||||
else
|
||||
{
|
||||
var stores = await _Repo.GetStoresByUserId(userId);
|
||||
return View(new PairingModel()
|
||||
return View(new PairingModel
|
||||
{
|
||||
Id = pairing.Id,
|
||||
Label = pairing.Label,
|
||||
@ -981,8 +995,6 @@ namespace BTCPayServer.Controllers
|
||||
return _UserManager.GetUserId(User);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// TODO: Need to have talk about how architect default currency implementation
|
||||
// For now we have also hardcoded USD for Store creation and then Invoice creation
|
||||
const string DEFAULT_CURRENCY = "USD";
|
||||
|
@ -341,6 +341,8 @@ namespace BTCPayServer.Controllers
|
||||
model.Transactions = model.Transactions.OrderByDescending(t => t.Timestamp).Skip(skip).Take(count).ToList();
|
||||
}
|
||||
|
||||
model.CryptoCode = walletId.CryptoCode;
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
|
@ -9,6 +9,8 @@ namespace BTCPayServer.Models.AppViewModels
|
||||
public class UpdateCrowdfundViewModel
|
||||
{
|
||||
public string StoreId { get; set; }
|
||||
public string StoreName { get; set; }
|
||||
|
||||
[Required]
|
||||
[MaxLength(30)]
|
||||
public string Title { get; set; }
|
||||
@ -95,12 +97,7 @@ namespace BTCPayServer.Models.AppViewModels
|
||||
[Display(Name = "Colors to rotate between with animation when a payment is made. First color is the default background. One color per line. Can be any valid css color value.")]
|
||||
public string AnimationColors { get; set; }
|
||||
|
||||
|
||||
// NOTE: Improve validation if needed
|
||||
public bool ModelWithMinimumData
|
||||
{
|
||||
get { return Description != null && Title != null && TargetCurrency != null; }
|
||||
}
|
||||
|
||||
public bool ModelWithMinimumData => Description != null && Title != null && TargetCurrency != null;
|
||||
}
|
||||
}
|
||||
|
@ -9,6 +9,8 @@ namespace BTCPayServer.Models.AppViewModels
|
||||
public class UpdatePointOfSaleViewModel
|
||||
{
|
||||
public string StoreId { get; set; }
|
||||
public string StoreName { get; set; }
|
||||
|
||||
[Required]
|
||||
[MaxLength(30)]
|
||||
public string Title { get; set; }
|
||||
|
@ -19,5 +19,6 @@ namespace BTCPayServer.Models.WalletViewModels
|
||||
}
|
||||
public HashSet<ColoredLabel> Labels { get; set; } = new HashSet<ColoredLabel>();
|
||||
public List<TransactionViewModel> Transactions { get; set; } = new List<TransactionViewModel>();
|
||||
public string CryptoCode { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -5,14 +5,8 @@
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
<partial name="_StatusMessage" />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 section-heading">
|
||||
<h2>@ViewData["Title"]</h2>
|
||||
@ -39,6 +33,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
}
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
||||
<div class="row justify-content-center mb-2">
|
||||
@ -18,10 +18,7 @@
|
||||
|
||||
<h1 class="h2 mb-3">Welcome to your BTCPay Server</h1>
|
||||
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<partial name="_StatusMessage"/>
|
||||
}
|
||||
<partial name="_StatusMessage" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -43,5 +43,5 @@
|
||||
</section>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -33,5 +33,5 @@
|
||||
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
}
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
||||
<div class="row justify-content-center mb-2">
|
||||
@ -22,10 +22,7 @@
|
||||
<span class="d-sm-block">It is secure, private, censorship-resistant and free.</span>
|
||||
</p>
|
||||
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<partial name="_StatusMessage"/>
|
||||
}
|
||||
<partial name="_StatusMessage" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -1,12 +1,11 @@
|
||||
@model BTCPayServer.Models.AccountViewModels.SetPasswordViewModel
|
||||
@{
|
||||
ViewData["Title"] = "Reset password";
|
||||
|
||||
Layout = "_LayoutSimple";
|
||||
}
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
||||
<div class="row justify-content-center mb-2">
|
||||
@ -17,10 +16,7 @@
|
||||
|
||||
<h1 class="h2 mb-3">Welcome to your BTCPay Server</h1>
|
||||
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<partial name="_StatusMessage"/>
|
||||
}
|
||||
<partial name="_StatusMessage" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -2,6 +2,6 @@ namespace BTCPayServer.Views.Apps
|
||||
{
|
||||
public enum AppsNavPages
|
||||
{
|
||||
Index, Create
|
||||
Index, Create, Update
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,13 @@
|
||||
@model CreateAppViewModel
|
||||
@{
|
||||
ViewData["Title"] = "Create a new app";
|
||||
ViewData.SetActivePageAndTitle(AppsNavPages.Create, "Create a new app");
|
||||
}
|
||||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 section-heading">
|
||||
<h2>@ViewData["Title"]</h2>
|
||||
<hr class="primary">
|
||||
</div>
|
||||
</div>
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<h2 class="mb-4">@ViewData["Title"]</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form asp-action="CreateApp">
|
||||
@ -28,10 +26,10 @@
|
||||
<select asp-for="SelectedStore" asp-items="Model.Stores" class="form-control"></select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="submit" value="Create" class="btn btn-primary" id="Create" />
|
||||
<input type="submit" value="Create" class="btn btn-primary" id="Create"/>
|
||||
<a asp-action="ListApps" class="text-muted ml-3">Back to list</a>
|
||||
</div>
|
||||
</form>
|
||||
<a asp-action="ListApps">Back to the app list</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,6 +1,6 @@
|
||||
@model ListAppsViewModel
|
||||
@{
|
||||
ViewData["Title"] = "Apps";
|
||||
ViewData.SetActivePageAndTitle(AppsNavPages.Index, "Apps");
|
||||
var storeNameSortOrder = (string)ViewData["StoreNameSortOrder"];
|
||||
var appNameSortOrder = (string)ViewData["AppNameSortOrder"];
|
||||
var appTypeSortOrder = (string)ViewData["AppTypeSortOrder"];
|
||||
@ -10,27 +10,20 @@
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
<partial name="_StatusMessage" />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="row">
|
||||
<div class="col-lg-12 section-heading">
|
||||
<h2>@ViewData["Title"]</h2>
|
||||
<hr class="primary">
|
||||
<p>Create and manage apps.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row button-row mb-3">
|
||||
<div class="col-lg-12">
|
||||
<a asp-action="CreateApp" class="btn btn-primary" role="button" id="CreateNewApp"><span class="fa fa-plus"></span> Create a new app</a>
|
||||
<a href="https://docs.btcpayserver.org/Apps/" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
</div>
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<div class="d-sm-flex align-items-center justify-content-between mb-2">
|
||||
<h2 class="mb-0">
|
||||
@ViewData["PageTitle"]
|
||||
<small>
|
||||
<a href="https://docs.btcpayserver.org/Apps/" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
</small>
|
||||
</h2>
|
||||
<a asp-action="CreateApp" class="btn btn-primary mt-3 mt-sm-0" role="button" id="CreateNewApp"><span class="fa fa-plus"></span> Create a new app</a>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
@if (Model.Apps.Any())
|
||||
|
@ -2,25 +2,14 @@
|
||||
@using System.Globalization
|
||||
@model UpdateCrowdfundViewModel
|
||||
@{
|
||||
ViewData["Title"] = "Update Crowdfund";
|
||||
ViewData.SetActivePageAndTitle(AppsNavPages.Update, "Update Crowdfund", Model.StoreName);
|
||||
}
|
||||
<section>
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 section-heading">
|
||||
<h2>@ViewData["Title"]</h2>
|
||||
<hr class="primary">
|
||||
</div>
|
||||
</div>
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
<partial name="_StatusMessage" />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form method="post">
|
||||
@ -92,7 +81,9 @@
|
||||
</div>
|
||||
<span asp-validation-for="EndDate" class="text-danger"></span>
|
||||
</div>
|
||||
<partial name="TemplateEditor" model="@(nameof(Model.PerksTemplate), "Perks" )"/>
|
||||
|
||||
<partial name="TemplateEditor" model="@(nameof(Model.PerksTemplate), "Perks")" />
|
||||
|
||||
<div class="form-group">
|
||||
<label asp-for="PerksTemplate" class="control-label"></label>
|
||||
<textarea asp-for="PerksTemplate" rows="10" cols="40" class="js-product-template form-control"></textarea>
|
||||
@ -100,7 +91,9 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="CustomCSSLink" class="control-label"></label>
|
||||
<a href="https://docs.btcpayserver.org/Theme/#2-bootstrap-themes" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
<a href="https://docs.btcpayserver.org/Theme/#2-bootstrap-themes" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
<input asp-for="CustomCSSLink" class="form-control" />
|
||||
<span asp-validation-for="CustomCSSLink" class="text-danger"></span>
|
||||
</div>
|
||||
|
@ -2,24 +2,14 @@
|
||||
@addTagHelper *, BundlerMinifier.TagHelpers
|
||||
@model UpdatePointOfSaleViewModel
|
||||
@{
|
||||
ViewData["Title"] = "Update Point of Sale";
|
||||
ViewData.SetActivePageAndTitle(AppsNavPages.Update, "Update Point of Sale", Model.StoreName);
|
||||
}
|
||||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 section-heading">
|
||||
<h2>@ViewData["Title"]</h2>
|
||||
<hr class="primary">
|
||||
</div>
|
||||
</div>
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
<partial name="_StatusMessage" />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form method="post">
|
||||
@ -79,11 +69,15 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="CustomCSSLink" class="control-label"></label>
|
||||
<a href="https://docs.btcpayserver.org/Theme/#2-bootstrap-themes" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
<a href="https://docs.btcpayserver.org/Theme/#2-bootstrap-themes" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
<input asp-for="CustomCSSLink" class="form-control" />
|
||||
<span asp-validation-for="CustomCSSLink" class="text-danger"></span>
|
||||
</div>
|
||||
|
||||
<partial name="TemplateEditor" model="@(nameof(Model.Template), "Products")" />
|
||||
|
||||
<div class="form-group">
|
||||
<label asp-for="Template" class="control-label"></label>
|
||||
<textarea asp-for="Template" rows="10" cols="40" class="js-product-template form-control"></textarea>
|
||||
|
@ -1 +1,2 @@
|
||||
@using BTCPayServer.Models.AppViewModels
|
||||
@using BTCPayServer.Views.Apps
|
||||
@using BTCPayServer.Models.AppViewModels
|
||||
|
@ -1,6 +1,6 @@
|
||||
@using BTCPayServer.Views
|
||||
@using BTCPayServer.Views.Apps
|
||||
@{
|
||||
ViewBag.MainTitle = "Manage app";
|
||||
ViewBag.CategoryTitle = "Apps";
|
||||
ViewData.SetActiveCategory(typeof(AppsNavPages));
|
||||
}
|
||||
|
@ -202,10 +202,8 @@
|
||||
<div id="content">
|
||||
<div class="p-2 p-sm-4">
|
||||
<div class="row">
|
||||
@if (this.TempData.HasStatusMessage())
|
||||
{
|
||||
<partial name="_StatusMessage" />
|
||||
}
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<div class="col-sm-4 col-lg-2 order-sm-last text-right mb-2">
|
||||
<a class="js-cart btn btn-lg btn-outline-primary" href="#">
|
||||
<i class="fa fa-shopping-basket"></i>
|
||||
|
@ -5,12 +5,12 @@
|
||||
|
||||
@if (Context.Request.Query.ContainsKey("simple"))
|
||||
{
|
||||
@await Html.PartialAsync("/Views/AppsPublic/PointOfSale/MinimalLight.cshtml", Model)
|
||||
<partial name="/Views/AppsPublic/PointOfSale/MinimalLight.cshtml" model="Model" />
|
||||
}
|
||||
else
|
||||
{
|
||||
<noscript>
|
||||
@await Html.PartialAsync("/Views/AppsPublic/PointOfSale/MinimalLight.cshtml", Model)
|
||||
<partial name="/Views/AppsPublic/PointOfSale/MinimalLight.cshtml" model="Model" />
|
||||
</noscript>
|
||||
@await Html.PartialAsync("/Views/AppsPublic/PointOfSale/VueLight.cshtml", Model)
|
||||
<partial name="/Views/AppsPublic/PointOfSale/VueLight.cshtml" model="Model" />
|
||||
}
|
||||
|
@ -6,10 +6,8 @@
|
||||
|
||||
<div class="container d-flex h-100">
|
||||
<div class="justify-content-center align-self-center text-center mx-auto px-2 py-3 w-100 m-auto">
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<partial name="_StatusMessage" />
|
||||
}
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<h1 class="mb-4">@Model.Title</h1>
|
||||
@if (!string.IsNullOrEmpty(Model.Description))
|
||||
{
|
||||
|
@ -40,12 +40,12 @@
|
||||
<body>
|
||||
@if (Context.Request.Query.ContainsKey("simple"))
|
||||
{
|
||||
@await Html.PartialAsync("/Views/AppsPublic/Crowdfund/MinimalCrowdfund.cshtml", Model)
|
||||
<partial name="/Views/AppsPublic/Crowdfund/MinimalCrowdfund.cshtml" model="Model" />
|
||||
}
|
||||
else
|
||||
{
|
||||
<noscript>
|
||||
@await Html.PartialAsync("/Views/AppsPublic/Crowdfund/MinimalCrowdfund.cshtml", Model)
|
||||
<partial name="/Views/AppsPublic/Crowdfund/MinimalCrowdfund.cshtml" model="Model" />
|
||||
|
||||
<style>
|
||||
/* Hide the below canvas or else user will be staring "Loading..." text when JS is disabled */
|
||||
@ -60,8 +60,7 @@
|
||||
{
|
||||
<canvas id="fireworks"></canvas>
|
||||
}
|
||||
@await Html.PartialAsync("/Views/AppsPublic/Crowdfund/VueCrowdfund.cshtml", Model)
|
||||
<partial name="/Views/AppsPublic/Crowdfund/VueCrowdfund.cshtml" model="Model" />
|
||||
}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,29 +1,20 @@
|
||||
|
||||
@using BTCPayServer.Views.Stores
|
||||
@model BTCPayServer.Services.Altcoins.Ethereum.UI.EditEthereumPaymentMethodViewModel
|
||||
|
||||
@{
|
||||
Layout = "../Shared/_NavLayout.cshtml";
|
||||
|
||||
ViewData["NavPartialName"] = "../Stores/_Nav";
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.ActivePage, $"{this.Context.GetRouteValue("cryptoCode")} Settings");
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.ActivePage, $"{Context.GetRouteValue("cryptoCode")} Settings", Context.GetStoreData().StoreName);
|
||||
}
|
||||
|
||||
|
||||
<partial name="_StatusMessage"/>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="alert alert-warning">DO NOT USE THE WALLET TO ACCEPT PAYMENTS OUTSIDE OF THIS STORE.<br/>If you spend funds received on invoices which have not been marked complete yet, the invoice will be marked as unpaid.
|
||||
</div>
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
<form method="post" asp-action="GetStoreEthereumLikePaymentMethod"
|
||||
asp-route-storeId="@this.Context.GetRouteValue("storeId")"
|
||||
asp-route-cryptoCode="@this.Context.GetRouteValue("cryptoCode")"
|
||||
asp-route-storeId="@Context.GetRouteValue("storeId")"
|
||||
asp-route-cryptoCode="@Context.GetRouteValue("cryptoCode")"
|
||||
class="mt-4" enctype="multipart/form-data">
|
||||
|
||||
<input type="hidden" asp-for="OriginalIndex"/>
|
||||
@ -85,8 +76,8 @@
|
||||
<button type="submit" class="btn btn-primary" id="SaveButton">Save</button>
|
||||
|
||||
<a class="btn btn-secondary" asp-action="GetStoreEthereumLikePaymentMethods"
|
||||
asp-route-storeId="@this.Context.GetRouteValue("storeId")"
|
||||
asp-route-cryptoCode="@this.Context.GetRouteValue("cryptoCode")"
|
||||
asp-route-storeId="@Context.GetRouteValue("storeId")"
|
||||
asp-route-cryptoCode="@Context.GetRouteValue("cryptoCode")"
|
||||
asp-controller="EthereumLikeStore">
|
||||
Back to list
|
||||
</a>
|
||||
|
@ -5,22 +5,13 @@
|
||||
@inject BTCPayNetworkProvider BTCPayNetworkProvider;
|
||||
@{
|
||||
Layout = "../Shared/_NavLayout.cshtml";
|
||||
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.ActivePage, "Ethereum Settings");
|
||||
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.ActivePage, "Ethereum Settings", Context.GetStoreData().StoreName);
|
||||
ViewData["NavPartialName"] = "../Stores/_Nav";
|
||||
}
|
||||
|
||||
|
||||
<partial name="_StatusMessage"/>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
<div class="form-group">
|
||||
<table class="table table-sm table-responsive-md">
|
||||
<thead>
|
||||
@ -49,11 +40,10 @@
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<a id="Modify@(item.CryptoCode)" asp-action="GetStoreEthereumLikePaymentMethod"
|
||||
asp-route-storeId="@this.Context.GetRouteValue("storeId")"
|
||||
asp-route-storeId="@Context.GetRouteValue("storeId")"
|
||||
asp-route-cryptoCode="@item.CryptoCode">
|
||||
Modify
|
||||
</a>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
@ -67,7 +57,6 @@
|
||||
var chains = BTCPayNetworkProvider.GetAll().OfType<EthereumBTCPayNetwork>().Select(network => network.ChainId).Distinct();
|
||||
foreach (var chain in chains)
|
||||
{
|
||||
|
||||
<a asp-action="UpdateChainConfig" asp-controller="EthereumConfig" asp-route-chainId="@chain">Configure Web3 for chain @chain</a>
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
}
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
||||
<style>
|
||||
|
@ -1,6 +1,6 @@
|
||||
@model BTCPayServer.Models.InvoicingModels.CreateInvoiceModel
|
||||
@{
|
||||
ViewData["Title"] = "Create an invoice";
|
||||
ViewData.SetActivePageAndTitle(InvoiceNavPages.Create, "Create an invoice");
|
||||
}
|
||||
<script>
|
||||
$(function() {
|
||||
@ -12,12 +12,10 @@
|
||||
</script>
|
||||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 section-heading">
|
||||
<h2>@ViewData["Title"]</h2>
|
||||
<hr class="primary">
|
||||
</div>
|
||||
</div>
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<h2 class="mb-4">@ViewData["Title"]</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form asp-action="CreateInvoice" method="post" id="create-invoice-form">
|
||||
@ -69,9 +67,9 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="submit" value="Create" class="btn btn-primary" id="Create" />
|
||||
<a asp-action="ListInvoices" class="text-muted ml-3">Back to list</a>
|
||||
</div>
|
||||
</form>
|
||||
<a asp-action="ListInvoices">Back to List</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -13,14 +13,7 @@
|
||||
|
||||
<section class="invoice-details">
|
||||
<div class="container">
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
<partial name="_StatusMessage" />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<div class="row mb-4">
|
||||
<h2 class="col-xs-12 col-lg-9 mb-4 mb-lg-0">@ViewData["Title"]</h2>
|
||||
|
@ -1,7 +1,6 @@
|
||||
@using BTCPayServer.Payments
|
||||
@model InvoicesModel
|
||||
@{
|
||||
ViewData["Title"] = "Invoices";
|
||||
ViewData.SetActivePageAndTitle(InvoiceNavPages.Index, "Invoices");
|
||||
var storeIds = string.Join("", Model.StoreIds.Select(storeId => $",storeid:{storeId}"));
|
||||
}
|
||||
@section HeadScripts {
|
||||
@ -11,31 +10,25 @@
|
||||
@Html.HiddenFor(a => a.Count)
|
||||
<section>
|
||||
<div class="container">
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
<partial name="_StatusMessage" />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12 section-heading">
|
||||
<h2>@ViewData["Title"]</h2>
|
||||
<hr class="primary">
|
||||
<p>Create, search or pay an invoice.</p>
|
||||
</div>
|
||||
<div class="d-sm-flex align-items-center justify-content-between mb-4">
|
||||
<h2 class="mb-0">
|
||||
@ViewData["Title"]
|
||||
<small>
|
||||
<a href="https://docs.btcpayserver.org/PaymentRequests/" class="ml-1" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
</small>
|
||||
</h2>
|
||||
<a id="CreateNewInvoice" asp-action="CreateInvoice" class="btn btn-primary mt-3 mt-sm-0">
|
||||
<span class="fa fa-plus"></span>
|
||||
Create an invoice
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-4 col-lg-6 mb-3">
|
||||
<a id="CreateNewInvoice" asp-action="CreateInvoice" class="btn btn-primary mb-1">
|
||||
<span class="fa fa-plus"></span>
|
||||
Create an invoice
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-12 col-sm-8 col-lg-6 mb-3">
|
||||
<div class="col-12 col-lg-6 mb-5 mb-lg-2 ml-auto">
|
||||
<form asp-action="ListInvoices" method="get">
|
||||
<input type="hidden" asp-for="Count"/>
|
||||
<input asp-for="TimezoneOffset" type="hidden"/>
|
||||
@ -184,7 +177,7 @@
|
||||
|
||||
@if (Model.Total > 0)
|
||||
{
|
||||
<form method="post" id="MassAction" asp-action="MassAction" class="mt-3">
|
||||
<form method="post" id="MassAction" asp-action="MassAction" class="mt-lg-n5">
|
||||
<span class="mr-2">
|
||||
<button class="btn btn-secondary dropdown-toggle mb-1" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Actions
|
||||
|
@ -1 +1,2 @@
|
||||
@using BTCPayServer.Services.Invoices
|
||||
@using BTCPayServer.Views.Invoice
|
||||
|
@ -4,7 +4,7 @@
|
||||
ViewData.SetActivePageAndTitle(ManageNavPages.APIKeys, "Manage your API Keys");
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage"/>
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<p>
|
||||
The <a asp-controller="Home" asp-action="SwaggerDocs" target="_blank">BTCPay Server Greenfield API</a> offers programmatic access to your instance. You can manage your BTCPay
|
||||
|
@ -7,11 +7,11 @@
|
||||
ViewData.SetActivePageAndTitle(ManageNavPages.APIKeys, "Add API Key");
|
||||
}
|
||||
|
||||
<h4>@ViewData["Title"]</h4>
|
||||
<partial name="_StatusMessage"/>
|
||||
<p>
|
||||
Generate a new api key to use BTCPay through its API.
|
||||
</p>
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<p>Generate a new api key to use BTCPay through its API.</p>
|
||||
|
||||
<form method="post" asp-action="AddApiKey">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
@ -109,7 +109,7 @@
|
||||
</form>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
|
||||
<style>
|
||||
.remove-btn {
|
||||
|
@ -4,7 +4,6 @@
|
||||
}
|
||||
|
||||
<form asp-action="AddU2FDevice" method="post" id="registerForm" class="hidden">
|
||||
|
||||
<input type="hidden" asp-for="AppId"/>
|
||||
<input type="hidden" asp-for="Version"/>
|
||||
<input type="hidden" asp-for="Challenge"/>
|
||||
@ -12,7 +11,6 @@
|
||||
<input type="hidden" asp-for="DeviceResponse"/>
|
||||
</form>
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">
|
||||
|
@ -5,11 +5,12 @@
|
||||
|
||||
@{
|
||||
Layout = "_Layout";
|
||||
ViewData["Title"] = $"Authorize {(Model.ApplicationName ?? "Application")}";
|
||||
ViewData["Title"] = $"Authorize {Model.ApplicationName ?? "Application"}";
|
||||
var permissions = Permission.ToPermissions(Model.Permissions.Split(';')).GroupBy(permission => permission.Policy);
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage"/>
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<form method="post" asp-action="AuthorizeAPIKey">
|
||||
<input type="hidden" asp-for="RedirectUrl" value="@Model.RedirectUrl"/>
|
||||
<input type="hidden" asp-for="Permissions" value="@Model.Permissions"/>
|
||||
|
@ -5,31 +5,26 @@
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
@if (!this.ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<form method="post">
|
||||
<div class="form-group">
|
||||
<label asp-for="OldPassword"></label>
|
||||
<input asp-for="OldPassword" class="form-control" />
|
||||
<input asp-for="OldPassword" class="form-control"/>
|
||||
<span asp-validation-for="OldPassword" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="NewPassword"></label>
|
||||
<input asp-for="NewPassword" class="form-control" />
|
||||
<input asp-for="NewPassword" class="form-control"/>
|
||||
<span asp-validation-for="NewPassword" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="ConfirmPassword"></label>
|
||||
<input asp-for="ConfirmPassword" class="form-control" />
|
||||
<input asp-for="ConfirmPassword" class="form-control"/>
|
||||
<span asp-validation-for="ConfirmPassword" class="text-danger"></span>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary" id="UpdatePassword">Update password</button>
|
||||
@ -38,5 +33,5 @@
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -12,7 +12,7 @@
|
||||
<partial name="Header" />
|
||||
</head>
|
||||
<body class="bg-light">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-dialog modal-dialog-centered min-vh-100">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title w-100 text-center">@ViewData["Title"]</h4>
|
||||
|
@ -56,7 +56,7 @@
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
<script type="text/javascript" src="~/js/qrcode.js" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
new QRCode(document.getElementById("qrCode"),
|
||||
|
@ -3,32 +3,28 @@
|
||||
ViewData.SetActivePageAndTitle(ManageNavPages.Index, "Profile");
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage" />)
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
@if (!this.ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<form method="post">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
|
||||
<div class="form-row">
|
||||
<div class="col-md-6 mb-3">
|
||||
<label asp-for="Username"></label>
|
||||
<input asp-for="Username" class="form-control" disabled />
|
||||
<input asp-for="Username" class="form-control" disabled/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="col-md-6 mb-3">
|
||||
<label asp-for="Email"></label>
|
||||
<input asp-for="Email" class="form-control" />
|
||||
<input asp-for="Email" class="form-control"/>
|
||||
<span asp-validation-for="Email" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3 d-flex align-items-end">
|
||||
@if(Model.IsEmailConfirmed)
|
||||
@if (Model.IsEmailConfirmed)
|
||||
{
|
||||
<span class="badge badge-success p-2 my-1">
|
||||
<span class="fa fa-check"></span>
|
||||
@ -45,5 +41,5 @@
|
||||
</form>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -5,7 +5,8 @@
|
||||
ViewData.SetActivePageAndTitle(ManageNavPages.Notifications, "Notification preferences");
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage"/>
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<form method="post" asp-action="NotificationSettings">
|
||||
@if (Model.All)
|
||||
{
|
||||
|
@ -3,8 +3,10 @@
|
||||
ViewData.SetActivePageAndTitle(ManageNavPages.ChangePassword, "Set password");
|
||||
}
|
||||
|
||||
<h4>Set your password</h4>
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<h4>Set your password</h4>
|
||||
|
||||
<p class="text-info">
|
||||
You do not have a local username/password for this site. Add a local
|
||||
account so you can log in without an external login.
|
||||
@ -29,5 +31,5 @@
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -83,5 +83,5 @@
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
@inject SignInManager<ApplicationUser> SignInManager
|
||||
|
||||
<div class="nav flex-column nav-pills mb-4">
|
||||
<div class="nav flex-column mb-4">
|
||||
<a id="@ManageNavPages.Index.ToString()" class="nav-link @ViewData.IsActivePage(ManageNavPages.Index)" asp-action="Index">Profile</a>
|
||||
<a id="@ManageNavPages.ChangePassword.ToString()" class="nav-link @ViewData.IsActivePage(ManageNavPages.ChangePassword)" asp-action="ChangePassword">Password</a>
|
||||
<a id="@ManageNavPages.TwoFactorAuthentication.ToString()" class="nav-link @ViewData.IsActivePage(ManageNavPages.TwoFactorAuthentication)" asp-action="TwoFactorAuthentication">Two-factor authentication</a>
|
||||
|
@ -2,6 +2,6 @@
|
||||
@using BTCPayServer.Views.Manage
|
||||
@{
|
||||
Layout = "../Shared/_NavLayout.cshtml";
|
||||
ViewBag.MainTitle = "Manage your account";
|
||||
ViewBag.CategoryTitle = "Account";
|
||||
ViewData.SetActiveCategory(typeof(ManageNavPages));
|
||||
}
|
||||
|
@ -4,21 +4,13 @@
|
||||
|
||||
@{
|
||||
Layout = "../Shared/_NavLayout.cshtml";
|
||||
|
||||
ViewData["NavPartialName"] = "../Stores/_Nav";
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.ActivePage, $"{Model.CryptoCode} Settings");
|
||||
}
|
||||
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
@if (Model.Summary != null)
|
||||
{
|
||||
<div class="card">
|
||||
@ -31,11 +23,11 @@
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (!Model.WalletFileFound || Model.Summary.WalletHeight == default(long))
|
||||
@if (!Model.WalletFileFound || Model.Summary.WalletHeight == default)
|
||||
{
|
||||
<form method="post" asp-action="GetStoreMoneroLikePaymentMethod"
|
||||
asp-route-storeId="@this.Context.GetRouteValue("storeId")"
|
||||
asp-route-cryptoCode="@this.Context.GetRouteValue("cryptoCode")"
|
||||
asp-route-storeId="@Context.GetRouteValue("storeId")"
|
||||
asp-route-cryptoCode="@Context.GetRouteValue("cryptoCode")"
|
||||
class="mt-4" enctype="multipart/form-data">
|
||||
|
||||
<div class="card my-2">
|
||||
@ -62,12 +54,12 @@
|
||||
</form>
|
||||
}
|
||||
<form method="post" asp-action="GetStoreMoneroLikePaymentMethod"
|
||||
asp-route-storeId="@this.Context.GetRouteValue("storeId")"
|
||||
asp-route-cryptoCode="@this.Context.GetRouteValue("cryptoCode")"
|
||||
asp-route-storeId="@Context.GetRouteValue("storeId")"
|
||||
asp-route-cryptoCode="@Context.GetRouteValue("cryptoCode")"
|
||||
class="mt-4" enctype="multipart/form-data">
|
||||
|
||||
<input type="hidden" asp-for="CryptoCode"/>
|
||||
@if (!Model.WalletFileFound || Model.Summary.WalletHeight == default(long))
|
||||
@if (!Model.WalletFileFound || Model.Summary.WalletHeight == default)
|
||||
{
|
||||
<input type="hidden" asp-for="AccountIndex"/>
|
||||
}
|
||||
@ -90,7 +82,7 @@
|
||||
<div class="input-group my-3">
|
||||
<input type="text" class="form-control" placeholder="New account label" asp-for="NewAccountLabel">
|
||||
<div class="input-group-append">
|
||||
<button name="command" value="add-account" class="btn btn-secondary"type="submit">Add account</button>
|
||||
<button name="command" value="add-account" class="btn btn-secondary" type="submit">Add account</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -107,9 +99,8 @@
|
||||
<button type="submit" class="btn btn-primary" id="SaveButton">Save</button>
|
||||
|
||||
<a class="btn btn-secondary" asp-action="GetStoreMoneroLikePaymentMethods"
|
||||
|
||||
asp-route-storeId="@this.Context.GetRouteValue("storeId")"
|
||||
asp-route-cryptoCode="@this.Context.GetRouteValue("cryptoCode")"
|
||||
asp-route-storeId="@Context.GetRouteValue("storeId")"
|
||||
asp-route-cryptoCode="@Context.GetRouteValue("cryptoCode")"
|
||||
asp-controller="MoneroLikeStore">
|
||||
Back to list
|
||||
</a>
|
||||
|
@ -3,22 +3,13 @@
|
||||
|
||||
@{
|
||||
Layout = "../Shared/_NavLayout.cshtml";
|
||||
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.ActivePage, "Monero Settings");
|
||||
|
||||
ViewData["NavPartialName"] = "../Stores/_Nav";
|
||||
}
|
||||
|
||||
|
||||
<partial name="_StatusMessage"/>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
<div class="form-group">
|
||||
<table class="table table-sm table-responsive-md">
|
||||
<thead>
|
||||
@ -47,7 +38,7 @@
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<a id="Modify" asp-action="GetStoreMoneroLikePaymentMethod"
|
||||
asp-route-storeId="@this.Context.GetRouteValue("storeId")"
|
||||
asp-route-storeId="@Context.GetRouteValue("storeId")"
|
||||
asp-route-cryptoCode="@item.CryptoCode">
|
||||
Modify
|
||||
</a>
|
||||
|
@ -5,14 +5,8 @@
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
<partial name="_StatusMessage"/>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12 section-heading">
|
||||
<h2>@ViewData["Title"]</h2>
|
||||
|
@ -3,24 +3,14 @@
|
||||
@model BTCPayServer.Models.PaymentRequestViewModels.UpdatePaymentRequestViewModel
|
||||
@addTagHelper *, BundlerMinifier.TagHelpers
|
||||
@{
|
||||
ViewData["Title"] = (string.IsNullOrEmpty(Model.Id) ? "Create" : "Edit") + " Payment Request";
|
||||
ViewData.SetActivePageAndTitle(PaymentRequestsNavPages.Create, (string.IsNullOrEmpty(Model.Id) ? "Create" : "Edit") + " Payment Request");
|
||||
}
|
||||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 section-heading">
|
||||
<h2>@ViewData["Title"]</h2>
|
||||
<hr class="primary">
|
||||
</div>
|
||||
</div>
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
<partial name="_StatusMessage" />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<h2 class="mb-4">@ViewData["Title"]</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form method="post" action="@Url.Action("EditPaymentRequest", "PaymentRequest", new { id = Model.Id}, Context.Request.Scheme)">
|
||||
@ -86,7 +76,7 @@
|
||||
<div class="form-group">
|
||||
<label asp-for="CustomCSSLink" class="control-label"></label>
|
||||
<a href="https://docs.btcpayserver.org/Theme/#2-bootstrap-themes" target="_blank">
|
||||
<span class="fa fa-question-circle-o" title="More information..."></span>
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
<input asp-for="CustomCSSLink" class="form-control" />
|
||||
<span asp-validation-for="CustomCSSLink" class="text-danger"></span>
|
||||
@ -100,28 +90,25 @@
|
||||
<button type="submit" class="btn btn-primary" id="SaveButton">Save</button>
|
||||
@if (!string.IsNullOrEmpty(Model.Id))
|
||||
{
|
||||
<a class="btn btn-secondary" target="_blank" asp-action="ViewPaymentRequest" asp-route-id="@this.Context.GetRouteValue("id")" id="@Model.Id" name="ViewAppButton">View</a>
|
||||
<a class="btn btn-secondary" target="_blank" asp-action="ViewPaymentRequest" asp-route-id="@Context.GetRouteValue("id")" id="@Model.Id" name="ViewAppButton">View</a>
|
||||
<a class="btn btn-secondary"
|
||||
target="_blank"
|
||||
asp-action="ListInvoices"
|
||||
asp-controller="Invoice"
|
||||
asp-route-searchterm="@($"orderid:{PaymentRequestRepository.GetOrderIdForPaymentRequest(Model.Id)}")">Invoices</a>
|
||||
<a class="btn btn-secondary" asp-route-id="@this.Context.GetRouteValue("id")" asp-action="ClonePaymentRequest" id="@Model.Id">Clone</a>
|
||||
<a class="btn btn-secondary" asp-route-id="@Context.GetRouteValue("id")" asp-action="ClonePaymentRequest" id="@Model.Id">Clone</a>
|
||||
@if (!Model.Archived)
|
||||
{
|
||||
<a class="btn btn-secondary" data-toggle="tooltip" title="Archive this payment request so that it does not appear in the payment request list by default" asp-route-id="@this.Context.GetRouteValue("id")" asp-controller="PaymentRequest" asp-action="TogglePaymentRequestArchival">Archive</a>
|
||||
|
||||
<a class="btn btn-secondary" data-toggle="tooltip" title="Archive this payment request so that it does not appear in the payment request list by default" asp-route-id="@Context.GetRouteValue("id")" asp-controller="PaymentRequest" asp-action="TogglePaymentRequestArchival">Archive</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a class="btn btn-secondary" data-toggle="tooltip" title="Unarchive this payment request" asp-route-id="@this.Context.GetRouteValue("id")" asp-controller="PaymentRequest" asp-action="TogglePaymentRequestArchival">Unarchive</a>
|
||||
|
||||
<a class="btn btn-secondary" data-toggle="tooltip" title="Unarchive this payment request" asp-route-id="@Context.GetRouteValue("id")" asp-controller="PaymentRequest" asp-action="TogglePaymentRequestArchival">Unarchive</a>
|
||||
}
|
||||
}
|
||||
|
||||
<a asp-action="GetPaymentRequests" class="text-muted ml-3">Back to list</a>
|
||||
</div>
|
||||
</form>
|
||||
<a asp-action="GetPaymentRequests">Back to List</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -6,35 +6,25 @@
|
||||
}
|
||||
<section>
|
||||
<div class="container">
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
<partial name="_StatusMessage" />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="row">
|
||||
<div class="col-lg-12 section-heading">
|
||||
<h2>Payment Requests</h2>
|
||||
<hr class="primary">
|
||||
<p>
|
||||
Create, search or pay a payment request.
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<div class="d-sm-flex align-items-center justify-content-between mb-4">
|
||||
<h2 class="mb-0">
|
||||
@ViewData["Title"]
|
||||
<small>
|
||||
<a href="https://docs.btcpayserver.org/PaymentRequests/" class="ml-1" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</small>
|
||||
</h2>
|
||||
<a asp-action="EditPaymentRequest" class="btn btn-primary mt-3 mt-sm-0" role="button" id="CreatePaymentRequest">
|
||||
<span class="fa fa-plus"></span>
|
||||
Create a payment request
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-4 col-lg-6 mb-3">
|
||||
<a asp-action="EditPaymentRequest" class="btn btn-primary" role="button" id="CreatePaymentRequest">
|
||||
<span class="fa fa-plus"></span>
|
||||
Create a payment request
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-12 col-md-8 col-lg-6 mb-3">
|
||||
<div class="col-12 col-lg-6 mb-3 ml-auto">
|
||||
<form asp-action="GetPaymentRequests" method="get">
|
||||
<input type="hidden" asp-for="Count"/>
|
||||
<input type="hidden" asp-for="TimezoneOffset" />
|
||||
|
@ -1,7 +1,6 @@
|
||||
@using BTCPayServer.Services.Invoices
|
||||
@using BTCPayServer.Client.Models
|
||||
@model BTCPayServer.Models.PaymentRequestViewModels.ViewPaymentRequestViewModel
|
||||
|
||||
@addTagHelper *, BundlerMinifier.TagHelpers
|
||||
@inject BTCPayServer.Services.BTCPayServerEnvironment env
|
||||
@inject BTCPayServer.HostedServices.CssThemeManager themeManager
|
||||
@ -197,7 +196,7 @@
|
||||
|
||||
<main class="flex-grow-1 py-4">
|
||||
<div class="container">
|
||||
@await Html.PartialAsync("_StatusMessage", new ViewDataDictionary(ViewData){ { "Margin", "mb-4" } })
|
||||
<partial name="_StatusMessage" model="@(new ViewDataDictionary(ViewData){ { "Margin", "mb-4" } })" />
|
||||
<div class="row">
|
||||
<div class="col col-12 col-lg-6 mb-4">
|
||||
<div class="jumbotron h-100 m-0 p-sm-5">
|
||||
|
1
BTCPayServer/Views/PaymentRequest/_ViewImports.cshtml
Normal file
1
BTCPayServer/Views/PaymentRequest/_ViewImports.cshtml
Normal file
@ -0,0 +1 @@
|
||||
@using BTCPayServer.Views.PaymentRequest
|
@ -76,7 +76,7 @@
|
||||
|
||||
<main class="flex-grow-1 py-4">
|
||||
<div class="container">
|
||||
@await Html.PartialAsync("_StatusMessage", new ViewDataDictionary(ViewData){ { "Margin", "mb-4" } })
|
||||
<partial name="_StatusMessage" model="@(new ViewDataDictionary(ViewData){ { "Margin", "mb-4" } })" />
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
@Html.ValidationSummary(string.Empty, new { @class = "alert alert-danger mb-4 pb-0 text-center" })
|
||||
|
@ -1,45 +1,29 @@
|
||||
@model LndServicesViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, $"C-Lightning {Model.ConnectionType}");
|
||||
}
|
||||
|
||||
<h4>C-Lightning @Model.ConnectionType</h4>
|
||||
<partial name="_StatusMessage" />
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="mb-4">@ViewData["Title"]</h2>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-8">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<div class="form-group">
|
||||
<p>
|
||||
<span>BTCPay exposes Clightning-Rest's service for outside consumption, you will find connection information here.<br /></span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<h5>Compatible wallets</h5>
|
||||
</div>
|
||||
<h5>Compatible wallets</h5>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-3 ml-auto text-center">
|
||||
<a href="https://github.com/ZeusLN/zeus" target="_blank">
|
||||
<img src="~/img/zeus.jpg" height="100" asp-append-version="true" />
|
||||
</a>
|
||||
<p><a href="https://github.com/ZeusLN/zeus" target="_blank">Zeus</a></p>
|
||||
</div>
|
||||
<div class="col-lg-3 mr-auto text-center">
|
||||
|
||||
</div>
|
||||
<div class="col-lg-3 mr-auto text-center">
|
||||
|
||||
</div>
|
||||
<div class="col-lg-3 mr-auto text-center">
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://github.com/ZeusLN/zeus" target="_blank" class="d-inline-block mr-3 mb-3 text-center">
|
||||
<img src="~/img/zeus.jpg" width="100" height="100" asp-append-version="true" alt="Zeus" />
|
||||
<div class="mt-2">Zeus</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@ -147,9 +131,9 @@
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
|
||||
@if(Model.QRCode != null)
|
||||
@if (Model.QRCode != null)
|
||||
{
|
||||
<script type="text/javascript" src="~/js/qrcode.js" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
|
@ -1,10 +1,9 @@
|
||||
@model LightningWalletServices
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, "BTCPay Server Configurator");
|
||||
}
|
||||
|
||||
<h4>BTCPay Server Configurator</h4>
|
||||
<partial name="_StatusMessage" />
|
||||
<h2 class="mb-4">@ViewData["Title"]</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
@ -28,6 +27,5 @@
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -2,18 +2,16 @@
|
||||
@model BTCPayServer.Controllers.ServerController.CreateTemporaryFileUrlViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, $"Create temporary file link");
|
||||
|
||||
}
|
||||
|
||||
<h2 class="mb-4">@ViewData["Title"]</h2>
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<form method="post">
|
||||
<div class="form-group">
|
||||
<label asp-for="IsDownload"></label>
|
||||
@ -24,12 +22,12 @@
|
||||
<label asp-for="TimeAmount" class="control-label"></label>
|
||||
<div class="input-group">
|
||||
|
||||
<input type="number" asp-for="TimeAmount" class="form-control">
|
||||
<input type="number" asp-for="TimeAmount" class="form-control">
|
||||
<div class="input-group-append">
|
||||
<select asp-for="TimeType" asp-items="@Html.GetEnumSelectList< ServerController.CreateTemporaryFileUrlViewModel.TmpFileTimeType>()" class="custom-select"></select>
|
||||
<select asp-for="TimeType" asp-items="@Html.GetEnumSelectList<ServerController.CreateTemporaryFileUrlViewModel.TmpFileTimeType>()" class="custom-select"></select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<span asp-validation-for="TimeAmount" class="text-danger"></span>
|
||||
<span asp-validation-for="TimeType" class="text-danger"></span>
|
||||
</div>
|
||||
@ -39,5 +37,5 @@
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
@model BTCPayServer.Controllers.RegisterFromAdminViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Users, $"Users - Create account");
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Users, "Create account");
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage"/>
|
||||
<h2 class="mb-4">@ViewData["Title"]</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
|
@ -1,27 +1,22 @@
|
||||
@model BTCPayServer.Models.ServerViewModels.DynamicDnsViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, "Dynamic DNS Service");
|
||||
}
|
||||
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<h4>Dynamic DNS Service</h4>
|
||||
<partial name="_StatusMessage" />
|
||||
@if (!this.ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<form method="post">
|
||||
<div class="form-group">
|
||||
<input type="hidden" asp-for="Modify" />
|
||||
<input type="hidden" asp-for="Modify"/>
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.ServiceUrl"></label>
|
||||
<input id="ServiceUrl" asp-for="Settings.ServiceUrl" class="form-control" placeholder="Url" />
|
||||
<input id="ServiceUrl" asp-for="Settings.ServiceUrl" class="form-control" placeholder="Url"/>
|
||||
<p class="form-text text-muted">
|
||||
Well-known Dynamic DNS providers are:
|
||||
@for (int i = 0; i < Model.KnownServices.Length; i++)
|
||||
@ -34,7 +29,7 @@
|
||||
<label asp-for="Settings.Hostname"></label>
|
||||
@if (Model.Modify)
|
||||
{
|
||||
<input asp-for="Settings.Hostname" class="form-control" readonly placeholder="Hostname" />
|
||||
<input asp-for="Settings.Hostname" class="form-control" readonly placeholder="Hostname"/>
|
||||
<p class="form-text text-muted">
|
||||
<span>The DNS record has been refreshed: </span>
|
||||
@if (Model.LastUpdated != null)
|
||||
@ -45,23 +40,23 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
<input asp-for="Settings.Hostname" class="form-control" placeholder="Hostname" />
|
||||
<input asp-for="Settings.Hostname" class="form-control" placeholder="Hostname"/>
|
||||
<span asp-validation-for="Settings.Hostname" class="text-danger"></span>
|
||||
}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.Login"></label>
|
||||
<input asp-for="Settings.Login" class="form-control" placeholder="Login" />
|
||||
<input asp-for="Settings.Login" class="form-control" placeholder="Login"/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.Password"></label>
|
||||
<input asp-for="Settings.Password" class="form-control" placeholder="Password" />
|
||||
<input asp-for="Settings.Password" class="form-control" placeholder="Password"/>
|
||||
</div>
|
||||
@if (Model.Modify)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.Enabled"></label>
|
||||
<input asp-for="Settings.Enabled" class="form-check-inline" type="checkbox" />
|
||||
<input asp-for="Settings.Enabled" class="form-check-inline" type="checkbox"/>
|
||||
</div>
|
||||
}
|
||||
<button name="command" class="btn btn-primary" type="submit" value="Save">Save</button>
|
||||
|
@ -1,11 +1,9 @@
|
||||
@model BTCPayServer.Models.ServerViewModels.DynamicDnsViewModel[]
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, "Dynamic DNS Settings");
|
||||
}
|
||||
|
||||
|
||||
<h4>Dynamic DNS Settings</h4>
|
||||
<partial name="_StatusMessage" />
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
@ -1,21 +1,20 @@
|
||||
@model BTCPayServer.Storage.Services.Providers.AmazonS3Storage.Configuration.AmazonS3StorageConfiguration
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, $"Storage - Amazon S3");
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, "Amazon S3 Storage");
|
||||
}
|
||||
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<form method="post">
|
||||
<div class="form-group">
|
||||
<label asp-for="ContainerName"></label>
|
||||
<input class="form-control" asp-for="ContainerName" />
|
||||
<input class="form-control" asp-for="ContainerName"/>
|
||||
<span asp-validation-for="ContainerName" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@ -45,16 +44,16 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="ChunkedUploadThreshold"></label>
|
||||
<input class="form-control" type="number" asp-for="ChunkedUploadThreshold"/>
|
||||
<input class="form-control" type="number" asp-for="ChunkedUploadThreshold"/>
|
||||
<span asp-validation-for="ChunkedUploadThreshold" class="text-danger"></span>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary" name="command" value="Save">Save</button>
|
||||
<a asp-action="Storage" asp-route-forceChoice="true" >Change Storage provider</a>
|
||||
<a asp-action="Storage" asp-route-forceChoice="true">Change Storage provider</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -1,21 +1,20 @@
|
||||
@model BTCPayServer.Storage.Services.Providers.AzureBlobStorage.Configuration.AzureBlobStorageConfiguration
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, $"Storage - Azure Blob Storage");
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, "Azure Blob Storage");
|
||||
}
|
||||
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<form method="post">
|
||||
<div class="form-group">
|
||||
<label asp-for="ContainerName"></label>
|
||||
<input class="form-control" asp-for="ContainerName" />
|
||||
<input class="form-control" asp-for="ContainerName"/>
|
||||
<span asp-validation-for="ContainerName" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@ -25,11 +24,11 @@
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary" name="command" value="Save">Save</button>
|
||||
<a asp-action="Storage" asp-route-forceChoice="true" >Change Storage provider</a>
|
||||
<a asp-action="Storage" asp-route-forceChoice="true">Change Storage provider</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -1,21 +1,21 @@
|
||||
@model BTCPayServer.Storage.Services.Providers.FileSystemStorage.Configuration.FileSystemStorageConfiguration
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, $"Storage - Local Filesystem");
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, $"Local Filesystem Storage");
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<p>Any uploaded files are being saved on the same machine that hosts BTCPay; please pay attention to your storage space.</p>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<a asp-action="Storage" asp-route-forceChoice="true">Change Storage provider</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -1,20 +1,20 @@
|
||||
@model BTCPayServer.Storage.Services.Providers.GoogleCloudStorage.Configuration.GoogleCloudStorageConfiguration
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, $"Storage - Google Cloud Storage");
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, "Google Cloud Storage");
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<form method="post">
|
||||
<div class="form-group">
|
||||
<label asp-for="ContainerName"></label>
|
||||
<input class="form-control" asp-for="ContainerName" />
|
||||
<input class="form-control" asp-for="ContainerName"/>
|
||||
<span asp-validation-for="ContainerName" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@ -34,11 +34,11 @@
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary" name="command" value="Save">Save</button>
|
||||
<a asp-action="Storage" asp-route-forceChoice="true" >Change Storage provider</a>
|
||||
<a asp-action="Storage" asp-route-forceChoice="true">Change Storage provider</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -3,5 +3,9 @@
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Emails);
|
||||
}
|
||||
|
||||
<partial name="EmailsBody" model="Model" />
|
||||
|
||||
@section Scripts {
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
||||
<partial name="EmailsBody" model="@Model"/>
|
||||
|
@ -1,16 +1,16 @@
|
||||
@model ViewFilesViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Files);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Files, "File Storage");
|
||||
}
|
||||
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<h4>File Storage</h4>
|
||||
<div class="form-group">
|
||||
<span>Change your <a asp-action="Services" asp-route-returnurl="@ViewData["ReturnUrl"]">external storage service</a> provider</span>
|
||||
<a href="https://docs.btcpayserver.org/FAQ/FAQ-ServerSettings/#how-to-upload-files-to-btcpay" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
</div>
|
||||
<p>
|
||||
Change your <a asp-action="Services" asp-route-returnurl="@ViewData["ReturnUrl"]">external storage service</a> provider.
|
||||
<a href="https://docs.btcpayserver.org/FAQ/FAQ-ServerSettings/#how-to-upload-files-to-btcpay" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@if (Model.Files.Any())
|
||||
{
|
||||
@ -81,23 +81,16 @@ else
|
||||
|
||||
@if (Model.StorageConfigured)
|
||||
{
|
||||
<div class="card">
|
||||
<form asp-action="CreateFile" method="post" enctype="multipart/form-data">
|
||||
<form asp-action="CreateFile" method="post" enctype="multipart/form-data">
|
||||
<h4 class="mt-5 mb-3">Upload File</h4>
|
||||
|
||||
<div class="card-body">
|
||||
<h3 class="header">Upload File</h3>
|
||||
<div class="custom-file mb-3">
|
||||
<input type="file" class="custom-file-input" name="file" id="file" required>
|
||||
<label class="custom-file-label" for="customFile">Choose file</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-file">
|
||||
<input type="file" class="custom-file-input" name="file" id="file" required>
|
||||
<label class="custom-file-label" for="customFile">Choose file</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<button class="btn btn-primary" role="button"><span class="fa fa-plus"></span> Upload file</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<button class="btn btn-primary" role="button"><span class="fa fa-plus"></span> Upload file</button>
|
||||
</form>
|
||||
|
||||
@section Scripts {
|
||||
<script>
|
||||
|
@ -1,34 +1,28 @@
|
||||
@model ChargeServiceViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, "Lightning charge service");
|
||||
}
|
||||
|
||||
|
||||
<h4>Lightning charge service</h4>
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<div class="form-group">
|
||||
<p>
|
||||
<span>Lightning charge is a simple API for invoicing on lightning network, you can use it with several plugins:</span>
|
||||
<ul>
|
||||
<li><a href="https://github.com/ElementsProject/woocommerce-gateway-lightning" target="_blank">WooCommerce Lightning Gateway</a>: A comprehensive e-commerce application that integrates with stock-management and order-tracking systems</li>
|
||||
<li><a href="https://github.com/ElementsProject/nanopos" target="_blank">Nanopos</a>: A simple point-of-sale system for fixed-price goods</li>
|
||||
<li><a href="https://github.com/ElementsProject/filebazaar" target="_blank">FileBazaar</a>: A system for selling files such as documents, images, and videos</li>
|
||||
<li><a href="https://github.com/ElementsProject/wordpress-lightning-publisher" target="_blank">Lightning Publisher for WordPress</a>: A patronage model for unlocking WordPress blog entries</li>
|
||||
<li><a href="https://github.com/ElementsProject/paypercall" target="_blank">Paypercall</a>: A programmer’s toolkit for Lightning that enables micropayments for individual API calls</li>
|
||||
<li><a href="https://github.com/ElementsProject/ifpaytt" target="_blank">Ifpaytt</a>: An extension of paypercall that allows web developers using IFTTT to request payments for service usage</li>
|
||||
<li><a href="https://github.com/ElementsProject/lightning-jukebox" target="_blank">Lightning Jukebox</a>: A fun demo that reimagines a classic technology for the Lightning Network</li>
|
||||
<li><a href="https://github.com/ElementsProject/nanotip" target="_blank">Nanotip</a>: The simple tip jar, rebuilt to issue Lightning Network invoices</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>Lightning charge is a simple API for invoicing on lightning network, you can use it with several plugins:</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/ElementsProject/woocommerce-gateway-lightning" target="_blank">WooCommerce Lightning Gateway</a>: A comprehensive e-commerce application that integrates with stock-management and order-tracking systems</li>
|
||||
<li><a href="https://github.com/ElementsProject/nanopos" target="_blank">Nanopos</a>: A simple point-of-sale system for fixed-price goods</li>
|
||||
<li><a href="https://github.com/ElementsProject/filebazaar" target="_blank">FileBazaar</a>: A system for selling files such as documents, images, and videos</li>
|
||||
<li><a href="https://github.com/ElementsProject/wordpress-lightning-publisher" target="_blank">Lightning Publisher for WordPress</a>: A patronage model for unlocking WordPress blog entries</li>
|
||||
<li><a href="https://github.com/ElementsProject/paypercall" target="_blank">Paypercall</a>: A programmer’s toolkit for Lightning that enables micropayments for individual API calls</li>
|
||||
<li><a href="https://github.com/ElementsProject/ifpaytt" target="_blank">Ifpaytt</a>: An extension of paypercall that allows web developers using IFTTT to request payments for service usage</li>
|
||||
<li><a href="https://github.com/ElementsProject/lightning-jukebox" target="_blank">Lightning Jukebox</a>: A fun demo that reimagines a classic technology for the Lightning Network</li>
|
||||
<li><a href="https://github.com/ElementsProject/nanotip" target="_blank">Nanotip</a>: The simple tip jar, rebuilt to issue Lightning Network invoices</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,11 +1,9 @@
|
||||
@model LightningWalletServices
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, Model.WalletName);
|
||||
}
|
||||
|
||||
|
||||
<h4>@Model.WalletName</h4>
|
||||
<partial name="_StatusMessage" />
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
@if (Model.ShowQR)
|
||||
{
|
||||
@ -19,25 +17,22 @@
|
||||
}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-8">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<div class="form-group">
|
||||
<h5>Browser connection</h5>
|
||||
<p>
|
||||
<span>You can go to @Model.WalletName from your browser by <a href="@Model.ServiceLink">clicking here</a><br /></span>
|
||||
<span>You can go to @Model.WalletName from your browser by <a href="@Model.ServiceLink">clicking here</a><br/></span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<h5>QR Code connection</h5>
|
||||
<p>
|
||||
<span>You can use QR Code to connect to your @Model.WalletName from your mobile.<br /></span>
|
||||
<span>You can use QR Code to connect to your @Model.WalletName from your mobile.<br/></span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@ -45,7 +40,7 @@
|
||||
{
|
||||
<div class="form-group">
|
||||
<form method="get">
|
||||
<input type="hidden" asp-for="ShowQR" value="true" />
|
||||
<input type="hidden" asp-for="ShowQR" value="true"/>
|
||||
<button type="submit" class="btn btn-primary">Show Confidential QR Code</button>
|
||||
</form>
|
||||
</div>
|
||||
@ -62,7 +57,7 @@
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
|
||||
@if (Model.ShowQR)
|
||||
{
|
||||
|
@ -88,8 +88,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage"/>
|
||||
|
||||
<style>
|
||||
.version-switch .nav-link { display: inline; }
|
||||
.version-switch .nav-link.active { display: none; }
|
||||
@ -118,7 +116,7 @@
|
||||
|
||||
@if (Model.Installed.Any())
|
||||
{
|
||||
<h3 class="mb-3">Installed Plugins</h3>
|
||||
<h2 class="mb-4">Installed Plugins</h2>
|
||||
<div class="row mb-4">
|
||||
@foreach (var plugin in Model.Installed)
|
||||
{
|
||||
@ -235,9 +233,10 @@
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (availableAndNotInstalled.Any())
|
||||
{
|
||||
<h3 class="mb-3">Available Plugins</h3>
|
||||
<h2 class="mb-4">Available Plugins</h2>
|
||||
<div class="row mb-4">
|
||||
@foreach (var pluginT in availableAndNotInstalled)
|
||||
{
|
||||
@ -250,7 +249,7 @@
|
||||
@plugin.Version
|
||||
@if (pluginT.Item2)
|
||||
{
|
||||
<div class="badge badge-light ml-2" data-toggle="tooltip" title="This plugin has been recommended to be installed by your deployment method." class="text-nowrap">Recommended <span class="fa fa-question-circle-o"></span></div>
|
||||
<div class="badge badge-light ml-2" data-toggle="tooltip" title="This plugin has been recommended to be installed by your deployment method." class="text-nowrap">Recommended <span class="fa fa-question-circle-o text-secondary"></span></div>
|
||||
}
|
||||
</h5>
|
||||
<p class="card-text">@plugin.Description</p>
|
||||
|
@ -23,79 +23,68 @@
|
||||
var sortByAsc = "Sort by ascending...";
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage"/>
|
||||
|
||||
<div class="row button-row">
|
||||
<div class="col-12 col-sm-4 col-lg-6 mb-3">
|
||||
<a asp-action="CreateUser" class="btn btn-primary" role="button" id="CreateUser">
|
||||
<span class="fa fa-plus"></span> Add User
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-sm-8 col-lg-6 mb-3">
|
||||
<form
|
||||
asp-action="ListUsers"
|
||||
asp-route-sortOrder="@(userEmailSortOrder)"
|
||||
>
|
||||
<div class="input-group">
|
||||
<input asp-for="SearchTerm" class="form-control" placeholder="Search by email..." />
|
||||
<div class="input-group-append">
|
||||
<button type="submit" class="btn btn-secondary" title="Search by email">
|
||||
<span class="fa fa-search"></span> Search
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<span asp-validation-for="SearchTerm" class="text-danger"></span>
|
||||
</form>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between mb-4">
|
||||
<h2 class="mb-0">@ViewData["Title"]</h2>
|
||||
<a asp-action="CreateUser" class="btn btn-primary" role="button" id="CreateUser">
|
||||
<span class="fa fa-plus"></span> Add User
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-9 col-xl-8">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<a
|
||||
asp-action="ListUsers"
|
||||
asp-route-sortOrder="@(nextUserEmailSortOrder ?? "asc")"
|
||||
class="text-nowrap"
|
||||
title="@(nextUserEmailSortOrder == "desc" ? sortByAsc : sortByDesc)"
|
||||
>
|
||||
Email
|
||||
<span class="fa @(sortIconClass)" />
|
||||
</a>
|
||||
</th>
|
||||
<th>Created</th>
|
||||
<th>Verified</th>
|
||||
<th class="text-right">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var user in Model.Users)
|
||||
{
|
||||
<tr>
|
||||
<td>@user.Email</td>
|
||||
<td>@user.Created?.ToBrowserDate()</td>
|
||||
<td class="text-center">
|
||||
@if (user.Verified)
|
||||
{
|
||||
<span class="text-success fa fa-check"></span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span class="text-danger fa fa-times"></span>
|
||||
}
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<a asp-action="User" asp-route-userId="@user.Id">Edit</a> <span> - </span> <a asp-action="DeleteUser" asp-route-userId="@user.Id">Remove</a>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<vc:pager view-model="Model"></vc:pager>
|
||||
<form
|
||||
asp-action="ListUsers"
|
||||
asp-route-sortOrder="@(userEmailSortOrder)"
|
||||
>
|
||||
<div class="input-group">
|
||||
<input asp-for="SearchTerm" class="form-control" placeholder="Search by email..." />
|
||||
<div class="input-group-append">
|
||||
<button type="submit" class="btn btn-secondary" title="Search by email">
|
||||
<span class="fa fa-search"></span> Search
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span asp-validation-for="SearchTerm" class="text-danger"></span>
|
||||
</form>
|
||||
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<a
|
||||
asp-action="ListUsers"
|
||||
asp-route-sortOrder="@(nextUserEmailSortOrder ?? "asc")"
|
||||
class="text-nowrap"
|
||||
title="@(nextUserEmailSortOrder == "desc" ? sortByAsc : sortByDesc)"
|
||||
>
|
||||
Email
|
||||
<span class="fa @(sortIconClass)" />
|
||||
</a>
|
||||
</th>
|
||||
<th>Created</th>
|
||||
<th>Verified</th>
|
||||
<th class="text-right">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var user in Model.Users)
|
||||
{
|
||||
<tr>
|
||||
<td>@user.Email</td>
|
||||
<td>@user.Created?.ToBrowserDate()</td>
|
||||
<td class="text-center">
|
||||
@if (user.Verified)
|
||||
{
|
||||
<span class="text-success fa fa-check"></span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span class="text-danger fa fa-times"></span>
|
||||
}
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<a asp-action="User" asp-route-userId="@user.Id">Edit</a> <span> - </span> <a asp-action="DeleteUser" asp-route-userId="@user.Id">Remove</a>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<vc:pager view-model="Model"></vc:pager>
|
||||
|
@ -1,23 +1,14 @@
|
||||
@model LndSeedBackupViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, "LND Seed Backup");
|
||||
}
|
||||
|
||||
<h4>LND Seed Backup</h4>
|
||||
|
||||
@if (TempData.HasStatusMessage())
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-md-8 text-center">
|
||||
<partial name="_StatusMessage" />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<h2 class="mb-4">@ViewData["Title"]</h2>
|
||||
|
||||
@if (Model.IsWalletUnlockPresent)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="col-lg-8">
|
||||
<div class="form-group">
|
||||
<p>The LND seed backup is useful to recover funds of your LND wallet in case of a corruption of your server.</p>
|
||||
<p>The recovering process is documented by LND on <a href="https://github.com/lightningnetwork/lnd/blob/master/docs/recovery.md">this page</a>.</p>
|
||||
|
@ -1,189 +1,150 @@
|
||||
@model LndServicesViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, $"LND {Model.ConnectionType}");
|
||||
}
|
||||
|
||||
|
||||
<h4>LND @Model.ConnectionType</h4>
|
||||
<partial name="_StatusMessage" />
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<p>
|
||||
<span>BTCPay exposes LND's @Model.ConnectionType service for outside consumption, you will find connection information here.<br /></span>
|
||||
</p>
|
||||
<h2 class="mb-4">@ViewData["Title"]</h2>
|
||||
<p>
|
||||
BTCPay exposes LND's @Model.ConnectionType service for outside consumption, you will find connection information here.
|
||||
</p>
|
||||
|
||||
<h4 class="mb-3">Compatible wallets</h4>
|
||||
|
||||
<div>
|
||||
@if (Model.Uri == null) // if GRPC
|
||||
{
|
||||
<a href="https://www.pebble.indiesquare.me/" target="_blank" class="d-inline-block mr-3 text-center">
|
||||
<img src="~/img/pebblewallet.jpg" width="100" height="100" asp-append-version="true" alt="Pebble" />
|
||||
<div class="mt-2">Pebble</div>
|
||||
</a>
|
||||
<a href="https://zaphq.io/" target="_blank" class="d-inline-block mr-3 text-center">
|
||||
<img src="~/img/zapwallet.jpg" width="100" height="100" asp-append-version="true" alt="Zap" />
|
||||
<div class="mt-2">Zap</div>
|
||||
</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a href="https://lightningjoule.com/" target="_blank" class="d-inline-block mr-3 mb-3 text-center">
|
||||
<img src="~/img/joule.png" width="100" height="100" asp-append-version="true" alt="Joule" />
|
||||
<div class="mt-2">Joule</div>
|
||||
</a>
|
||||
<a href="https://github.com/ZeusLN/zeus" target="_blank" class="d-inline-block mr-3 mb-3 text-center">
|
||||
<img src="~/img/zeus.jpg" width="100" height="100" asp-append-version="true" alt="Zeus" />
|
||||
<div class="mt-2">Zeus</div>
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<h5>Compatible wallets</h5>
|
||||
</div>
|
||||
@if (Model.Uri == null) // if GRPC
|
||||
<h4 class="mt-5 mb-3">QR Code connection</h4>
|
||||
<p>
|
||||
You can use this QR Code to connect external software to your LND instance.<br/>
|
||||
This QR Code is only valid for 10 minutes.
|
||||
</p>
|
||||
|
||||
@if (Model.QRCode == null)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-lg-3 ml-auto text-center">
|
||||
<a href="https://www.pebble.indiesquare.me/" target="_blank">
|
||||
<img src="~/img/pebblewallet.jpg" height="100" asp-append-version="true" />
|
||||
</a>
|
||||
<p><a href="https://www.pebble.indiesquare.me/" target="_blank">Pebble</a></p>
|
||||
</div>
|
||||
<div class="col-lg-3 ml-auto text-center">
|
||||
<a href="https://zaphq.io/" target="_blank">
|
||||
<img src="~/img/zapwallet.jpg" height="100" asp-append-version="true" />
|
||||
</a>
|
||||
<p><a href="https://zaphq.io/" target="_blank">Zap</a></p>
|
||||
</div>
|
||||
<div class="col-lg-3 mr-auto text-center">
|
||||
|
||||
</div>
|
||||
<div class="col-lg-3 mr-auto text-center">
|
||||
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<form method="post">
|
||||
<button type="submit" class="btn btn-primary">Show QR Code</button>
|
||||
</form>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-lg-3 ml-auto text-center">
|
||||
<a href="https://lightningjoule.com/" target="_blank">
|
||||
<img src="~/img/joule.png" height="100" asp-append-version="true" />
|
||||
</a>
|
||||
<p><a href="https://lightningjoule.com/" target="_blank">Joule</a></p>
|
||||
<div class="form-group">
|
||||
<div id="qrCode"></div>
|
||||
<div id="qrCodeData" data-url="@Model.QRCode"></div>
|
||||
</div>
|
||||
<p>See QR Code information by clicking <a href="#detailsQR" data-toggle="collapse">here</a>.</p>
|
||||
<div id="detailsQR" class="collapse">
|
||||
<div class="form-group">
|
||||
<label>QR Code data</label>
|
||||
<input asp-for="QRCode" readonly class="form-control"/>
|
||||
</div>
|
||||
<div class="col-lg-3 ml-auto text-center">
|
||||
<a href="https://github.com/ZeusLN/zeus" target="_blank">
|
||||
<img src="~/img/zeus.jpg" height="100" asp-append-version="true" />
|
||||
</a>
|
||||
<p><a href="https://github.com/ZeusLN/zeus" target="_blank">Zeus</a></p>
|
||||
</div>
|
||||
<div class="col-lg-3 mr-auto text-center">
|
||||
|
||||
</div>
|
||||
<div class="col-lg-3 mr-auto text-center">
|
||||
|
||||
<div class="form-group">
|
||||
Click <a href="@Model.QRCodeLink" target="_blank">here</a> to open the configuration file.
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="form-group">
|
||||
<h5>QR Code connection</h5>
|
||||
<p>
|
||||
<span>You can use this QR Code to connect external software to your LND instance.<br /></span>
|
||||
<span>This QR Code is only valid for 10 minutes</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@if (Model.QRCode == null)
|
||||
|
||||
<h4 class="mt-5 mb-3">More details</h4>
|
||||
<p>Alternatively, you can see the settings by clicking <a href="#details" data-toggle="collapse">here</a>.</p>
|
||||
|
||||
<div id="details" class="collapse">
|
||||
@if (Model.Uri == null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<form method="post">
|
||||
<button type="submit" class="btn btn-primary">Show QR Code</button>
|
||||
</form>
|
||||
<label asp-for="Host"></label>
|
||||
<input asp-for="Host" readonly class="form-control"/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="SSL"></label>
|
||||
<input asp-for="SSL" disabled type="checkbox" class="form-check-inline"/>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="form-group">
|
||||
<div id="qrCode"></div>
|
||||
<div id="qrCodeData" data-url="@Model.QRCode"></div>
|
||||
</div>
|
||||
<p>See QR Code information by clicking <a href="#detailsQR" data-toggle="collapse">here</a></p>
|
||||
<div id="detailsQR" class="collapse">
|
||||
<div class="form-group">
|
||||
<label>QR Code data</label>
|
||||
<input asp-for="QRCode" readonly class="form-control" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
Click <a href="@Model.QRCodeLink" target="_blank">here</a> to open the configuration file.
|
||||
</div>
|
||||
<label asp-for="Uri"></label>
|
||||
<input asp-for="Uri" readonly class="form-control"/>
|
||||
</div>
|
||||
}
|
||||
@if (Model.Macaroon != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="Macaroon"></label>
|
||||
<input asp-for="Macaroon" readonly class="form-control"/>
|
||||
</div>
|
||||
}
|
||||
@if (Model.AdminMacaroon != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="AdminMacaroon"></label>
|
||||
<input asp-for="AdminMacaroon" readonly class="form-control"/>
|
||||
</div>
|
||||
}
|
||||
@if (Model.InvoiceMacaroon != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="InvoiceMacaroon"></label>
|
||||
<input asp-for="InvoiceMacaroon" readonly class="form-control"/>
|
||||
</div>
|
||||
}
|
||||
@if (Model.ReadonlyMacaroon != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="ReadonlyMacaroon"></label>
|
||||
<input asp-for="ReadonlyMacaroon" readonly class="form-control"/>
|
||||
</div>
|
||||
}
|
||||
@if (Model.GRPCSSLCipherSuites != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="GRPCSSLCipherSuites"></label>
|
||||
<input asp-for="GRPCSSLCipherSuites" readonly class="form-control"/>
|
||||
</div>
|
||||
}
|
||||
@if (Model.CertificateThumbprint != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="CertificateThumbprint"></label>
|
||||
<input asp-for="CertificateThumbprint" readonly class="form-control"/>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<h5>More details...</h5>
|
||||
<p>Alternatively, you can see the settings by clicking <a href="#details" data-toggle="collapse">here</a></p>
|
||||
</div>
|
||||
<div id="details" class="collapse">
|
||||
@if (Model.Uri == null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="Host"></label>
|
||||
<input asp-for="Host" readonly class="form-control" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="SSL"></label>
|
||||
<input asp-for="SSL" disabled type="checkbox" class="form-check-inline" />
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="Uri"></label>
|
||||
<input asp-for="Uri" readonly class="form-control" />
|
||||
</div>
|
||||
}
|
||||
@if (Model.Macaroon != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="Macaroon"></label>
|
||||
<input asp-for="Macaroon" readonly class="form-control" />
|
||||
</div>
|
||||
}
|
||||
@if (Model.AdminMacaroon != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="AdminMacaroon"></label>
|
||||
<input asp-for="AdminMacaroon" readonly class="form-control" />
|
||||
</div>
|
||||
}
|
||||
@if (Model.InvoiceMacaroon != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="InvoiceMacaroon"></label>
|
||||
<input asp-for="InvoiceMacaroon" readonly class="form-control" />
|
||||
</div>
|
||||
}
|
||||
@if (Model.ReadonlyMacaroon != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="ReadonlyMacaroon"></label>
|
||||
<input asp-for="ReadonlyMacaroon" readonly class="form-control" />
|
||||
</div>
|
||||
}
|
||||
@if (Model.GRPCSSLCipherSuites != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="GRPCSSLCipherSuites"></label>
|
||||
<input asp-for="GRPCSSLCipherSuites" readonly class="form-control" />
|
||||
</div>
|
||||
}
|
||||
@if (Model.CertificateThumbprint != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label asp-for="CertificateThumbprint"></label>
|
||||
<input asp-for="CertificateThumbprint" readonly class="form-control" />
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
|
||||
@if(Model.QRCode != null)
|
||||
{
|
||||
<script type="text/javascript" src="~/js/qrcode.js" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
new QRCode(document.getElementById("qrCode"),
|
||||
{
|
||||
new QRCode(document.getElementById("qrCode"), {
|
||||
text: @Safe.Json(Model.QRCode),
|
||||
width: 200,
|
||||
height: 200,
|
||||
|
@ -1,9 +1,9 @@
|
||||
@model BTCPayServer.Models.ServerViewModels.LogsViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Logs);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Logs, "Logs");
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<ul class="list-unstyled">
|
||||
@foreach (var file in Model.LogFiles)
|
||||
@ -41,5 +41,5 @@
|
||||
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -1,17 +1,15 @@
|
||||
@model BTCPayServer.Models.ServerViewModels.MaintenanceViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Maintenance);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Maintenance, "Maintenance");
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<form method="post">
|
||||
<div class="row mb-5">
|
||||
<div class="col-lg-9 col-xl-8">
|
||||
<div class="form-group">
|
||||
<h5>Change domain name</h5>
|
||||
<span>You can change the domain name of your server by following <a href="https://docs.btcpayserver.org/ChangeDomain" target="_blank">this guide</a></span>
|
||||
</div>
|
||||
<h4 class="mb-3">Change domain name</h4>
|
||||
<p>You can change the domain name of your server by following <a href="https://docs.btcpayserver.org/ChangeDomain" target="_blank">this guide</a>.</p>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="form-inline">
|
||||
@ -22,28 +20,25 @@
|
||||
</div>
|
||||
<span asp-validation-for="DNSDomain" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-5">
|
||||
<div class="col-lg-9 col-xl-8">
|
||||
<h5>Update</h5>
|
||||
<p class="text-secondary mb-2">Update to the latest version of BTCPay server.</p>
|
||||
|
||||
<h4 class="mt-5 mb-3">Update</h4>
|
||||
<p class="text-secondary">Update to the latest version of BTCPay server.</p>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<button name="command" type="submit" class="btn btn-primary" value="update" disabled="@(Model.CanUseSSH ? null : "disabled")">Update</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5 class="mt-5">Restart</h5>
|
||||
<p class="text-secondary mb-2">Restart BTCPay server and related services.</p>
|
||||
<h4 class="mt-5 mb-3">Restart</h4>
|
||||
<p class="text-secondary">Restart BTCPay server and related services.</p>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<button name="command" type="submit" class="btn btn-primary" value="restart" disabled="@(Model.CanUseSSH ? null : "disabled")">Restart</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5 class="mt-5">Clean</h5>
|
||||
<p class="text-secondary mb-2">Delete unused docker images present on your system.</p>
|
||||
<h4 class="mt-5 mb-3">Clean</h4>
|
||||
<p class="text-secondary">Delete unused docker images present on your system.</p>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<button name="command" type="submit" class="btn btn-secondary" value="clean" disabled="@(Model.CanUseSSH ? null : "disabled")">Clean</button>
|
||||
@ -54,5 +49,5 @@
|
||||
</form>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -1,11 +1,9 @@
|
||||
@model LightningWalletServices
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, Model.WalletName);
|
||||
}
|
||||
|
||||
|
||||
<h4>@Model.WalletName</h4>
|
||||
<partial name="_StatusMessage" />
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
@if (Model.ShowQR)
|
||||
{
|
||||
@ -18,49 +16,31 @@
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<h5>Full node connection</h5>
|
||||
<p>
|
||||
<span>This page exposes information to connect remotely to your full node via the P2P protocol.</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<h5>Compatible wallets</h5>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-3 ml-auto text-center">
|
||||
<a href="https://play.google.com/store/apps/details?id=com.greenaddress.greenbits_android_wallet" target="_blank">
|
||||
<img src="~/img/GreenWallet.png" height="100" asp-append-version="true" />
|
||||
</a>
|
||||
<p><a href="https://play.google.com/store/apps/details?id=com.greenaddress.greenbits_android_wallet" target="_blank">Blockstream Green Wallet</a></p>
|
||||
</div>
|
||||
<div class="col-lg-3 mr-auto text-center">
|
||||
<a href="https://www.wasabiwallet.io/" target="_blank">
|
||||
<img src="~/img/wasabi.png" height="100" asp-append-version="true" />
|
||||
</a>
|
||||
<p><a href="https://www.wasabiwallet.io/" target="_blank">Wasabi Wallet</a> <a href="https://www.reddit.com/r/WasabiWallet/comments/aqlyia/how_to_connect_wasabi_wallet_to_my_own_full/" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a></p>
|
||||
</div>
|
||||
<div class="col-lg-3 mr-auto text-center">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
|
||||
</div>
|
||||
<div class="col-lg-3 mr-auto text-center">
|
||||
<h4 class="mb-3">Full node connection</h4>
|
||||
<p>This page exposes information to connect remotely to your full node via the P2P protocol.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<h5>QR Code connection</h5>
|
||||
<p>
|
||||
<span>You can use QR Code to connect to @Model.WalletName with compatible wallets.<br /></span>
|
||||
</p>
|
||||
<h4 class="mb-3">Compatible wallets</h4>
|
||||
<div>
|
||||
<a href="https://play.google.com/store/apps/details?id=com.greenaddress.greenbits_android_wallet" target="_blank" class="d-inline-block mr-3 mb-3 text-center">
|
||||
<img src="~/img/GreenWallet.png" width="100" height="100" asp-append-version="true" alt="Blockstream Green" />
|
||||
<div class="mt-2">Blockstream Green</div>
|
||||
</a>
|
||||
<a href="https://www.wasabiwallet.io/" target="_blank" class="d-inline-block mr-3 mb-3 text-center">
|
||||
<img src="~/img/wasabi.png" width="100" height="100" asp-append-version="true" alt="Wasabi Wallet" />
|
||||
<div class="mt-2">Wasabi Wallet</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h4 class="mt-5 mb-3">QR Code connection</h4>
|
||||
<p>You can use QR Code to connect to @Model.WalletName with compatible wallets.</p>
|
||||
|
||||
<div class="form-group">
|
||||
@if (!Model.ShowQR)
|
||||
{
|
||||
@ -90,7 +70,7 @@
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
|
||||
@if (Model.ShowQR)
|
||||
{
|
||||
|
@ -6,7 +6,7 @@
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Policies);
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage"/>
|
||||
<h2 class="mb-4">@ViewData["Title"]</h2>
|
||||
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
@ -14,18 +14,22 @@
|
||||
}
|
||||
|
||||
<form method="post">
|
||||
<div class="form-group mb-4">
|
||||
<h5>Existing User Settings</h5>
|
||||
<div class="form-group mb-5">
|
||||
<h4 class="mb-3">Existing User Settings</h4>
|
||||
<div class="form-check my-1">
|
||||
<input asp-for="AllowLightningInternalNodeForAll" type="checkbox" class="form-check-input"/>
|
||||
<label asp-for="AllowLightningInternalNodeForAll" class="form-check-label"></label>
|
||||
<a href="https://docs.btcpayserver.org/FAQ/FAQ-LightningNetwork/#how-many-users-can-use-lightning-network-in-btcpay" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
<a href="https://docs.btcpayserver.org/FAQ/FAQ-LightningNetwork/#how-many-users-can-use-lightning-network-in-btcpay" target="_blank">\
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
<span asp-validation-for="AllowLightningInternalNodeForAll" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-check my-1">
|
||||
<input asp-for="AllowHotWalletForAll" type="checkbox" class="form-check-input"/>
|
||||
<label asp-for="AllowHotWalletForAll" class="form-check-label"></label>
|
||||
<a href="https://docs.btcpayserver.org/CreateWallet/#requirements-to-create-wallets" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
<a href="https://docs.btcpayserver.org/CreateWallet/#requirements-to-create-wallets" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
<span asp-validation-for="AllowHotWalletForAll" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-check my-1">
|
||||
@ -35,8 +39,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group mb-4">
|
||||
<h5>New User Settings</h5>
|
||||
<div class="form-group mb-5">
|
||||
<h4 class="mb-3">New User Settings</h4>
|
||||
<div class="form-check my-1">
|
||||
@{
|
||||
var emailSettings = (await _SettingsRepository.GetSettingAsync<EmailSettings>()) ?? new EmailSettings();
|
||||
@ -46,7 +50,9 @@
|
||||
}
|
||||
<input asp-for="RequiresConfirmedEmail" type="checkbox" class="form-check-input" disabled="@(isEmailConfigured ? null : "disabled")"/>
|
||||
<label asp-for="RequiresConfirmedEmail" class="form-check-label"></label>
|
||||
<a href="https://docs.btcpayserver.org/FAQ/FAQ-ServerSettings/#how-to-allow-registration-on-my-btcpay-server" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
<a href="https://docs.btcpayserver.org/FAQ/FAQ-ServerSettings/#how-to-allow-registration-on-my-btcpay-server" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
<span asp-validation-for="RequiresConfirmedEmail" class="text-danger"></span>
|
||||
@if (!isEmailConfigured)
|
||||
{
|
||||
@ -68,24 +74,28 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group mb-4">
|
||||
<h5>Notification Settings</h5>
|
||||
<div class="form-group mb-5">
|
||||
<h4 class="mb-3">Notification Settings</h4>
|
||||
<div class="form-check my-1">
|
||||
<input asp-for="DisableInstantNotifications" type="checkbox" class="form-check-input"/>
|
||||
<label asp-for="DisableInstantNotifications" class="form-check-label"></label>
|
||||
<a href="https://docs.btcpayserver.org/Notifications/#notifications" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
<a href="https://docs.btcpayserver.org/Notifications/#notifications" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
<span asp-validation-for="DisableInstantNotifications" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-check my-1">
|
||||
<input asp-for="DisableStoresToUseServerEmailSettings" type="checkbox" class="form-check-input"/>
|
||||
<label asp-for="DisableStoresToUseServerEmailSettings" class="form-check-label"></label>
|
||||
<a href="https://docs.btcpayserver.org/Notifications/#server-emails" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
<a href="https://docs.btcpayserver.org/Notifications/#server-emails" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
<span asp-validation-for="DisableStoresToUseServerEmailSettings" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group mb-4">
|
||||
<h5>Maintenance Settings</h5>
|
||||
<div class="form-group mb-5">
|
||||
<h4 class="mb-3">Maintenance Settings</h4>
|
||||
@if (ViewBag.UpdateUrlPresent)
|
||||
{
|
||||
<div class="form-check my-1">
|
||||
@ -97,12 +107,14 @@
|
||||
<div class="form-check my-1">
|
||||
<input asp-for="DiscourageSearchEngines" type="checkbox" class="form-check-input"/>
|
||||
<label asp-for="DiscourageSearchEngines" class="form-check-label"></label>
|
||||
<a href="https://docs.btcpayserver.org/FAQ/FAQ-ServerSettings/#how-to-hide-my-btcpay-server-from-search-engines" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
<a href="https://docs.btcpayserver.org/FAQ/FAQ-ServerSettings/#how-to-hide-my-btcpay-server-from-search-engines" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
<span asp-validation-for="DiscourageSearchEngines" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h5>Customization Settings</h5>
|
||||
<h4 class="mb-3">Customization Settings</h4>
|
||||
|
||||
<div class="form-group">
|
||||
<label asp-for="RootAppId"></label>
|
||||
|
@ -1,11 +1,9 @@
|
||||
@model LightningWalletServices
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, Model.WalletName);
|
||||
}
|
||||
|
||||
|
||||
<h4>@Model.WalletName</h4>
|
||||
<partial name="_StatusMessage" />
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
@if (Model.ShowQR)
|
||||
{
|
||||
@ -18,55 +16,37 @@
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<h5>Full node connection</h5>
|
||||
<p>
|
||||
<span>This page exposes information to connect remotely to your full node via the RPC protocol.</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<h5>Compatible wallets</h5>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-3 ml-auto text-center">
|
||||
<a href="https://apps.apple.com/us/app/fully-noded/id1436425586" target="_blank">
|
||||
<img src="~/img/fullynoded.png" height="100" asp-append-version="true" />
|
||||
</a>
|
||||
<p><a href="https://apps.apple.com/us/app/fully-noded/id1436425586" target="_blank">Fully Noded</a></p>
|
||||
</div>
|
||||
<div class="col-lg-3 mr-auto text-center">
|
||||
<a href="https://github.com/cryptoadvance/specter-desktop" target="_blank">
|
||||
<img src="~/img/Specter.png" height="100" asp-append-version="true" />
|
||||
</a>
|
||||
<p><a href="https://github.com/cryptoadvance/specter-desktop" target="_blank">Specter</a></p>
|
||||
</div>
|
||||
<div class="col-lg-3 mr-auto text-center">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
|
||||
</div>
|
||||
<div class="col-lg-3 mr-auto text-center">
|
||||
<h4 class="mb-3">Full node connection</h4>
|
||||
<p>This page exposes information to connect remotely to your full node via the RPC protocol.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<h5>QR Code connection</h5>
|
||||
<p>
|
||||
<span>You can use QR Code to connect to @Model.WalletName with compatible wallets.<br /></span>
|
||||
</p>
|
||||
<h4 class="mb-3">Compatible wallets</h4>
|
||||
<div>
|
||||
<a href="https://apps.apple.com/us/app/fully-noded/id1436425586" target="_blank" class="d-inline-block mr-3 text-center">
|
||||
<img src="~/img/fullynoded.png" width="100" height="100" asp-append-version="true" alt="Fully Noded" />
|
||||
<div class="mt-2">Fully Noded</div>
|
||||
</a>
|
||||
<a href="https://github.com/cryptoadvance/specter-desktop" target="_blank" class="d-inline-block mr-3 text-center">
|
||||
<img src="~/img/specter.png" width="100" height="100" asp-append-version="true" alt="Specter Desktop" />
|
||||
<div class="mt-2">Specter Desktop</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h4 class="mt-5 mb-3">QR Code connection</h4>
|
||||
<p>You can use QR Code to connect to @Model.WalletName with compatible wallets.</p>
|
||||
|
||||
<div class="form-group">
|
||||
@if (!Model.ShowQR)
|
||||
{
|
||||
<div class="form-group">
|
||||
<form method="get">
|
||||
<input type="hidden" asp-for="ShowQR" value="true" />
|
||||
<input type="hidden" asp-for="ShowQR" value="true"/>
|
||||
<button type="submit" class="btn btn-primary">Show Confidential QR Code</button>
|
||||
</form>
|
||||
</div>
|
||||
@ -81,7 +61,7 @@
|
||||
<div id="detailsQR" class="collapse">
|
||||
<div class="form-group">
|
||||
<label>QR Code data</label>
|
||||
<input asp-for="ServiceLink" readonly class="form-control" />
|
||||
<input asp-for="ServiceLink" readonly class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@ -90,7 +70,7 @@
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
|
||||
@if (Model.ShowQR)
|
||||
{
|
||||
|
@ -1,19 +1,11 @@
|
||||
@model BTCPayServer.Models.ServerViewModels.SSHServiceViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, "SSH settings");
|
||||
}
|
||||
|
||||
|
||||
<h4>SSH settings</h4>
|
||||
<partial name="_StatusMessage" />
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<p>
|
||||
@ -21,6 +13,10 @@
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
|
||||
<div class="form-group">
|
||||
<div class="form-group">
|
||||
|
@ -1,20 +1,13 @@
|
||||
@model BTCPayServer.Models.ServerViewModels.ServicesViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, "Services");
|
||||
}
|
||||
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
<div class="row">
|
||||
<div class="col-lg-9 col-xl-8">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<div class="row mb-5">
|
||||
<div class="col-lg-9 col-xl-8">
|
||||
<h4>Crypto services exposed by your server</h4>
|
||||
|
||||
<h4 class="mb-3">Crypto services exposed by your server</h4>
|
||||
<table class="table table-sm mt-2">
|
||||
<thead>
|
||||
<tr>
|
||||
@ -50,7 +43,7 @@
|
||||
{
|
||||
<div class="row mb-5">
|
||||
<div class="col-lg-9 col-xl-8">
|
||||
<h4>Other external services</h4>
|
||||
<h4 class="mb-3">Other external services</h4>
|
||||
|
||||
<table class="table table-sm mt-2">
|
||||
<thead>
|
||||
@ -88,7 +81,7 @@
|
||||
{
|
||||
<div class="row mb-5">
|
||||
<div class="col-lg-9 col-xl-8">
|
||||
<h4>HTTP-based TOR hidden services</h4>
|
||||
<h4 class="mb-3">HTTP-based TOR hidden services</h4>
|
||||
|
||||
<table class="table table-sm mt-2">
|
||||
<thead>
|
||||
@ -117,7 +110,7 @@
|
||||
{
|
||||
<div class="row mb-5">
|
||||
<div class="col-lg-9 col-xl-8">
|
||||
<h4>Other TOR hidden services</h4>
|
||||
<h4 class="mb-3">Other TOR hidden services</h4>
|
||||
|
||||
<table class="table table-sm mt-2">
|
||||
<thead>
|
||||
@ -143,7 +136,7 @@
|
||||
}
|
||||
<div class="row mb-5">
|
||||
<div class="col-lg-9 col-xl-8">
|
||||
<h4>External storage services</h4>
|
||||
<h4 class="mb-3">External storage services</h4>
|
||||
<p class="text-secondary mb-0">Integrated storage providers to store file uploads from BTCPay Server.</p>
|
||||
|
||||
<table class="table table-sm mt-2">
|
||||
@ -169,5 +162,5 @@
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -1,35 +1,34 @@
|
||||
@using BTCPayServer.Storage.Models
|
||||
@model BTCPayServer.Storage.ViewModels.ChooseStorageViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Services, "Storage");
|
||||
}
|
||||
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
@if (Model.ShowChangeWarning)
|
||||
{
|
||||
<div class="alert alert-danger">
|
||||
If you change your configured storage provider, your current files will become inaccessible.
|
||||
</div>
|
||||
}
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<form method="post">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<div class="form-group">
|
||||
<label asp-for="Provider"></label>
|
||||
<select asp-for="Provider" asp-items="@Html.GetEnumSelectList<StorageProvider>()" class="form-control"></select>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary" name="command" value="Save">Next</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -1,20 +1,19 @@
|
||||
@model BTCPayServer.Services.ThemeSettings
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Theme);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Theme, "Theme");
|
||||
}
|
||||
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<form method="post">
|
||||
<h4>Custom theme</h4>
|
||||
<h4 class="mb-3">Custom theme</h4>
|
||||
<p>Select one of our predefined themes. Optionally you can also provide a CSS file that customizes the chosen theme.</p>
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<div class="form-group">
|
||||
<label asp-for="ThemeCssUri"></label>
|
||||
<select asp-for="ThemeCssUri" class="form-control">
|
||||
@ -27,14 +26,19 @@
|
||||
</div>
|
||||
<div class="form-group mb-5">
|
||||
<label asp-for="CustomThemeCssUri"></label>
|
||||
<a href="https://docs.btcpayserver.org/Theme/#1-custom-themes" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
<a href="https://docs.btcpayserver.org/Theme/#1-custom-themes" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
<input asp-for="CustomThemeCssUri" class="form-control" />
|
||||
<span asp-validation-for="CustomThemeCssUri" class="text-danger"></span>
|
||||
</div>
|
||||
<h4>Bootstrap theme</h4>
|
||||
|
||||
<h4 class="mb-3">Bootstrap theme</h4>
|
||||
<div class="form-group">
|
||||
<label asp-for="BootstrapCssUri"></label>
|
||||
<a href="https://docs.btcpayserver.org/Theme/#2-bootstrap-themes" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
<a href="https://docs.btcpayserver.org/Theme/#2-bootstrap-themes" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
<input asp-for="BootstrapCssUri" class="form-control" />
|
||||
<span asp-validation-for="BootstrapCssUri" class="text-danger"></span>
|
||||
<p class="form-text text-muted">
|
||||
@ -51,11 +55,12 @@
|
||||
is used on top of Bootstrap
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary" name="command" value="Save">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -1,21 +1,16 @@
|
||||
@model UsersViewModel.UserViewModel
|
||||
@{
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Users);
|
||||
ViewData.SetActivePageAndTitle(ServerNavPages.Users, Model.Email);
|
||||
}
|
||||
|
||||
|
||||
<h4>Modify User - @Model.Email</h4>
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<h2 class="mb-4">@ViewData["PageTitle"]</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<form method="post">
|
||||
<div class="form-group">
|
||||
<div class="form-check">
|
||||
<input asp-for="IsAdmin" type="checkbox" class="form-check-input" />
|
||||
<label asp-for="IsAdmin" class="form-check-label"></label>
|
||||
</div>
|
||||
<label asp-for="IsAdmin">Is admin</label>
|
||||
<input asp-for="IsAdmin" type="checkbox" class="btcpay-toggle ml-2"/>
|
||||
</div>
|
||||
<button name="command" type="submit" class="btn btn-primary" value="Save">Save</button>
|
||||
</form>
|
||||
|
@ -1,6 +1,6 @@
|
||||
@using BTCPayServer.Configuration
|
||||
@inject BTCPayServerOptions BTCPayServerOptions
|
||||
<div class="nav flex-column nav-pills mb-4">
|
||||
<div class="nav flex-column mb-4">
|
||||
<a asp-controller="Server" id="Server-@ServerNavPages.Users" class="nav-link @ViewData.IsActivePage(ServerNavPages.Users)" asp-action="ListUsers">Users</a>
|
||||
<a asp-controller="Server" id="Server-@ServerNavPages.Emails" class="nav-link @ViewData.IsActivePage(ServerNavPages.Emails)" asp-action="Emails">Email server</a>
|
||||
<a asp-controller="Server" id="Server-@ServerNavPages.Policies" class="nav-link @ViewData.IsActivePage(ServerNavPages.Policies)" asp-action="Policies">Policies</a>
|
||||
|
@ -2,6 +2,6 @@
|
||||
@using BTCPayServer.Views.Server
|
||||
@{
|
||||
Layout = "../Shared/_NavLayout.cshtml";
|
||||
ViewBag.MainTitle = "Server settings";
|
||||
ViewBag.CategoryTitle = "Server settings";
|
||||
ViewData.SetActiveCategory(typeof(ServerNavPages));
|
||||
}
|
||||
|
@ -11,7 +11,7 @@
|
||||
<partial name="Header" />
|
||||
</head>
|
||||
<body class="bg-light">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-dialog modal-dialog-centered min-vh-100">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title w-100 text-center">@Model.Title</h4>
|
||||
|
@ -1,35 +1,118 @@
|
||||
@model BTCPayServer.Models.ServerViewModels.EmailsViewModel
|
||||
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row row-quick-fill" style="display: none">
|
||||
<div class="col-sm-6">
|
||||
<div class="dropdown quick-fill">
|
||||
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Quick fill settings for...
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
||||
<a class="dropdown-item" href="" data-Server="smtp.gmail.com" data-Port="587" data-EnableSSL="true">Gmail.com</a>
|
||||
<a class="dropdown-item" href="" data-Server="mail.yahoo.com" data-Port="587" data-EnableSSL="true">Yahoo.com</a>
|
||||
<a class="dropdown-item" href="" data-Server="smtp.mailgun.org" data-Port="587" data-EnableSSL="true">Mailgun</a>
|
||||
<a class="dropdown-item" href="" data-Server="smtp.office365.com" data-Port="587" data-EnableSSL="true">Office365</a>
|
||||
<a class="dropdown-item" href="" data-Server="smtp.sendgrid.net" data-Port="587" data-EnableSSL="true">SendGrid</a>
|
||||
<div class="col-lg-6">
|
||||
<div class="d-flex align-items-center justify-content-between mb-4">
|
||||
<h2 class="mb-0">@ViewData["Title"]</h2>
|
||||
<div class="dropdown quick-fill" style="display: none">
|
||||
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Quick fill settings for...
|
||||
</button>
|
||||
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
||||
<a class="dropdown-item" href="" data-Server="smtp.gmail.com" data-Port="587" data-EnableSSL="true">Gmail.com</a>
|
||||
<a class="dropdown-item" href="" data-Server="mail.yahoo.com" data-Port="587" data-EnableSSL="true">Yahoo.com</a>
|
||||
<a class="dropdown-item" href="" data-Server="smtp.mailgun.org" data-Port="587" data-EnableSSL="true">Mailgun</a>
|
||||
<a class="dropdown-item" href="" data-Server="smtp.office365.com" data-Port="587" data-EnableSSL="true">Office365</a>
|
||||
<a class="dropdown-item" href="" data-Server="smtp.sendgrid.net" data-Port="587" data-EnableSSL="true">SendGrid</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form method="post" autocomplete="off">
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.Server"></label>
|
||||
<input asp-for="Settings.Server" class="form-control"/>
|
||||
<span asp-validation-for="Settings.Server" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.Port"></label>
|
||||
<input asp-for="Settings.Port" class="form-control"/>
|
||||
<span asp-validation-for="Settings.Port" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.FromDisplay"></label>
|
||||
<input asp-for="Settings.FromDisplay" class="form-control"/>
|
||||
<small class="form-text text-muted">
|
||||
Some email providers (like Gmail) don't allow you to set your display name, so this setting may not have any effect.
|
||||
</small>
|
||||
<span asp-validation-for="Settings.FromDisplay" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.From"></label>
|
||||
<input asp-for="Settings.From" class="form-control"/>
|
||||
<span asp-validation-for="Settings.From" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.Login"></label>
|
||||
<input asp-for="Settings.Login" class="form-control"/>
|
||||
<small class="form-text text-muted">
|
||||
For many email providers (like Gmail) your login is your email address.
|
||||
</small>
|
||||
<span asp-validation-for="Settings.Login" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@if (!Model.PasswordSet)
|
||||
{
|
||||
|
||||
<label asp-for="Settings.Password"></label>
|
||||
<input asp-for="Settings.Password" type="password" class="form-control"/>
|
||||
<span asp-validation-for="Settings.Password" class="text-danger"></span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<label asp-for="Settings.Password"></label>
|
||||
<div class="input-group">
|
||||
<input value="Configured" type="text" readonly class="form-control"/>
|
||||
<div class="input-group-append">
|
||||
<button type="submit" class="btn btn-danger" name="command" value="ResetPassword">Reset</button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="form-check">
|
||||
<input asp-for="Settings.EnableSSL" type="checkbox" class="form-check-input"/>
|
||||
<label asp-for="Settings.EnableSSL" class="form-check-label"></label>
|
||||
</div>
|
||||
</div>
|
||||
<input asp-for="PasswordSet" type="hidden"/>
|
||||
<button type="submit" class="btn btn-primary" name="command" value="Save">Save</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class="mt-5 mb-4" />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<p class="form-text text-muted">
|
||||
If you want to test your settings, enter an email address here and click "Send Test Email".
|
||||
<strong>Your settings won't be saved</strong>, only a test email will be sent.
|
||||
<br />
|
||||
After a successful test, you can click "Save".
|
||||
</p>
|
||||
<label asp-for="TestEmail"></label>
|
||||
<input asp-for="TestEmail" class="form-control" />
|
||||
<span asp-validation-for="TestEmail" class="text-danger"></span>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-secondary" name="command" value="Test">Send Test Email</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('.row-quick-fill').show();
|
||||
|
||||
$('.dropdown.quick-fill').show();
|
||||
$('.dropdown.quick-fill a').click(function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
@ -55,94 +138,5 @@
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<form method="post" autocomplete="off">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.Server"></label>
|
||||
<input asp-for="Settings.Server" class="form-control" />
|
||||
<span asp-validation-for="Settings.Server" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.Port"></label>
|
||||
<input asp-for="Settings.Port" class="form-control" />
|
||||
<span asp-validation-for="Settings.Port" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.FromDisplay"></label>
|
||||
<input asp-for="Settings.FromDisplay" class="form-control" />
|
||||
<small class="form-text text-muted">
|
||||
Some email providers (like Gmail) don't allow you to set your display name, so this setting may not have any effect.
|
||||
</small>
|
||||
<span asp-validation-for="Settings.FromDisplay" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.From"></label>
|
||||
<input asp-for="Settings.From" class="form-control" />
|
||||
<span asp-validation-for="Settings.From" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.Login"></label>
|
||||
<input asp-for="Settings.Login" class="form-control" />
|
||||
<small class="form-text text-muted">
|
||||
For many email providers (like Gmail) your login is your email address.
|
||||
</small>
|
||||
<span asp-validation-for="Settings.Login" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@if (!Model.PasswordSet)
|
||||
{
|
||||
|
||||
<label asp-for="Settings.Password"></label>
|
||||
<input asp-for="Settings.Password" type="password" class="form-control" />
|
||||
<span asp-validation-for="Settings.Password" class="text-danger"></span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<label asp-for="Settings.Password"></label>
|
||||
<div class="input-group">
|
||||
<input value="Configured" type="text" readonly class="form-control" />
|
||||
<div class="input-group-append">
|
||||
<button type="submit" class="btn btn-danger" name="command" value="ResetPassword">Reset</button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="form-check">
|
||||
<input asp-for="Settings.EnableSSL" type="checkbox" class="form-check-input" />
|
||||
<label asp-for="Settings.EnableSSL" class="form-check-label"></label>
|
||||
</div>
|
||||
</div>
|
||||
<input asp-for="PasswordSet" type="hidden" />
|
||||
<button type="submit" class="btn btn-primary" name="command" value="Save">Save</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class="mt-5 mb-4" />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<p class="form-text text-muted">
|
||||
If you want to test your settings, enter an email address here and click "Send Test Email".
|
||||
<strong>Your settings won't be saved</strong>, only a test email will be sent.
|
||||
<br />
|
||||
After a successful test, you can click "Save".
|
||||
</p>
|
||||
<label asp-for="TestEmail"></label>
|
||||
<input asp-for="TestEmail" class="form-control" />
|
||||
<span asp-validation-for="TestEmail" class="text-danger"></span>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-secondary" name="command" value="Test">Send Test Email</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
}
|
||||
|
@ -24,7 +24,7 @@
|
||||
<input type="hidden" name="@o.Key" value="@o.Value"/>
|
||||
}
|
||||
<noscript>
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-dialog modal-dialog-centered min-vh-100">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body text-center my-3">
|
||||
<p>
|
||||
|
@ -13,23 +13,19 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en"@(Env.IsDeveloping ? " data-devenv" : "")>
|
||||
|
||||
<head>
|
||||
<partial name="Header" />
|
||||
@await RenderSectionAsync("HeadScripts", false)
|
||||
@await RenderSectionAsync("HeaderContent", false)
|
||||
</head>
|
||||
|
||||
<body id="page-top">
|
||||
|
||||
@{
|
||||
@{
|
||||
if (ViewBag.AlwaysShrinkNavBar == null)
|
||||
{
|
||||
ViewBag.AlwaysShrinkNavBar = true;
|
||||
}
|
||||
var additionalStyle = ViewBag.AlwaysShrinkNavBar ? "navbar-shrink always-shrinked" : "";
|
||||
}
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-expand-lg fixed-top @additionalStyle" id="mainNav">
|
||||
<div class="container px-sm-3">
|
||||
@ -133,5 +129,4 @@
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
@ -1,44 +1,57 @@
|
||||
@{
|
||||
Layout = "/Views/Shared/_Layout.cshtml";
|
||||
ViewBag.ShowMenu = ViewBag.ShowMenu ?? true;
|
||||
ViewBag.ShowMainTitle = ViewBag.ShowMainTitle ?? true;
|
||||
ViewBag.ShowBreadcrumb = ViewBag.ShowBreadcrumb ?? false;
|
||||
if (!ViewData.ContainsKey("NavPartialName"))
|
||||
{
|
||||
ViewData["NavPartialName"] = "_Nav";
|
||||
}
|
||||
var title = $"{(ViewData.ContainsKey("MainTitle") ? $"{ViewData["MainTitle"]}:" : String.Empty)} {ViewData["Title"]}";
|
||||
}
|
||||
|
||||
<section>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 section-heading">
|
||||
@if (ViewBag.ShowMenu)
|
||||
{
|
||||
<h2>@title</h2>
|
||||
<hr class="primary ml-0">
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
@if (ViewBag.ShowMenu)
|
||||
@if (ViewBag.ShowBreadcrumb)
|
||||
{
|
||||
<nav aria-label="breadcrumb" class="mt-n3 mb-4">
|
||||
<ol class="breadcrumb px-0">
|
||||
@if (!string.IsNullOrEmpty(ViewData["CategoryTitle"] as string))
|
||||
{
|
||||
@await Html.PartialAsync(ViewData["NavPartialName"].ToString())
|
||||
<li class="breadcrumb-item" aria-current="page">@ViewData["CategoryTitle"]</li>
|
||||
}
|
||||
@if (!string.IsNullOrEmpty(ViewData["MainTitle"] as string))
|
||||
{
|
||||
<li class="breadcrumb-item" aria-current="page">@ViewData["MainTitle"]</li>
|
||||
}
|
||||
@if (!string.IsNullOrEmpty(ViewData["PageTitle"] as string))
|
||||
{
|
||||
<li class="breadcrumb-item" aria-current="page">@ViewData["PageTitle"]</li>
|
||||
}
|
||||
</ol>
|
||||
</nav>
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(ViewData["MainTitle"] as string))
|
||||
{
|
||||
<h2 class="mb-5">@ViewData["MainTitle"]</h2>
|
||||
}
|
||||
<div class="row">
|
||||
@if (ViewBag.ShowMenu)
|
||||
{
|
||||
<div class="col-md-3 ml-n3 ml-md-0">
|
||||
<partial name="@ViewData["NavPartialName"].ToString()" />
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
@RenderBody()
|
||||
</div>
|
||||
}
|
||||
<div class="col-md-9">
|
||||
<partial name="_StatusMessage" />
|
||||
@RenderBody()
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@section HeadScripts {
|
||||
@RenderSection("HeadScripts", required: false)
|
||||
}
|
||||
|
||||
@section Scripts {
|
||||
@RenderSection("Scripts", required: false)
|
||||
@section HeadScripts {
|
||||
@await RenderSectionAsync("HeadScripts", false)
|
||||
}
|
||||
@section Scripts {
|
||||
@await RenderSectionAsync("Scripts", false)
|
||||
}
|
||||
|
@ -14,9 +14,11 @@
|
||||
<form method="post" id="shopifyForm">
|
||||
<h4 class="mb-3">
|
||||
Shopify
|
||||
<a href="https://docs.btcpayserver.org/Shopify" target="_blank">
|
||||
<span class="fa fa-question-circle-o" title="More information..."></span>
|
||||
</a>
|
||||
<small>
|
||||
<a href="https://docs.btcpayserver.org/Shopify" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
</small>
|
||||
</h4>
|
||||
@if (!shopifyCredsSet)
|
||||
{
|
||||
|
@ -1,12 +1,12 @@
|
||||
@model LightningNodeViewModel
|
||||
@{
|
||||
Layout = "../Shared/_NavLayout.cshtml";
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Index, "Add lightning node");
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Index, "Lightning node settings", Context.GetStoreData().StoreName);
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
<h4 class="mb-3">@ViewData["PageTitle"]</h4>
|
||||
|
||||
<div class="alert alert-warning alert-dismissible mb-5" role="alert">
|
||||
<div class="alert alert-warning alert-dismissible my-4" role="alert">
|
||||
<p class="mb-0">
|
||||
Please understand that the Lightning Network is still under active development and considered experimental.
|
||||
Before you proceed, take time to familiarize yourself with the risks.
|
||||
@ -122,5 +122,5 @@
|
||||
</form>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -2,23 +2,16 @@
|
||||
@model CheckoutExperienceViewModel
|
||||
@{
|
||||
Layout = "../Shared/_NavLayout.cshtml";
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Checkout, "Checkout experience");
|
||||
}
|
||||
|
||||
<partial name="_StatusMessage" />
|
||||
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
</div>
|
||||
</div>
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Checkout, "Checkout experience", Context.GetStoreData().StoreName);
|
||||
}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="col-lg-8">
|
||||
<form method="post">
|
||||
@if (!ViewContext.ModelState.IsValid)
|
||||
{
|
||||
<div asp-validation-summary="All" class="text-danger"></div>
|
||||
}
|
||||
<h4 class="mb-3">Payment</h4>
|
||||
@if (Model.PaymentMethods.Any())
|
||||
{
|
||||
@ -38,7 +31,7 @@
|
||||
var criteria = Model.PaymentMethodCriteria[index];
|
||||
<tr>
|
||||
<td class="border-right-0 border-left-0 pt-3">
|
||||
<input type="hidden" asp-for="PaymentMethodCriteria[index].PaymentMethod" />
|
||||
<input type="hidden" asp-for="PaymentMethodCriteria[index].PaymentMethod"/>
|
||||
@PaymentMethodId.Parse(criteria.PaymentMethod).ToPrettyString()
|
||||
</td>
|
||||
<td class="border-right-0 border-left-0 ">
|
||||
@ -49,7 +42,7 @@
|
||||
|
||||
</td>
|
||||
<td class="border-right-0 border-left-0">
|
||||
<input placeholder="6.15 USD" asp-for="PaymentMethodCriteria[index].Value" class="form-control my-0" style="max-width: 20ch;" />
|
||||
<input placeholder="6.15 USD" asp-for="PaymentMethodCriteria[index].Value" class="form-control my-0" style="max-width: 20ch;"/>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
@ -58,25 +51,25 @@
|
||||
|
||||
<div class="form-group">
|
||||
<div class="form-check">
|
||||
<input asp-for="RequiresRefundEmail" type="checkbox" class="form-check-input" />
|
||||
<input asp-for="RequiresRefundEmail" type="checkbox" class="form-check-input"/>
|
||||
<label asp-for="RequiresRefundEmail" class="form-check-label"></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="form-check">
|
||||
<input asp-for="LightningAmountInSatoshi" type="checkbox" class="form-check-input" />
|
||||
<input asp-for="LightningAmountInSatoshi" type="checkbox" class="form-check-input"/>
|
||||
<label asp-for="LightningAmountInSatoshi" class="form-check-label"></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="form-check">
|
||||
<input asp-for="LightningPrivateRouteHints" type="checkbox" class="form-check-input" />
|
||||
<input asp-for="LightningPrivateRouteHints" type="checkbox" class="form-check-input"/>
|
||||
<label asp-for="LightningPrivateRouteHints" class="form-check-label"></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="form-check">
|
||||
<input asp-for="OnChainWithLnInvoiceFallback" type="checkbox" class="form-check-input" />
|
||||
<input asp-for="OnChainWithLnInvoiceFallback" type="checkbox" class="form-check-input"/>
|
||||
<label asp-for="OnChainWithLnInvoiceFallback" class="form-check-label"></label>
|
||||
</div>
|
||||
</div>
|
||||
@ -94,14 +87,14 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="form-check">
|
||||
<input asp-for="ShowRecommendedFee" type="checkbox" class="form-check-input" />
|
||||
<input asp-for="ShowRecommendedFee" type="checkbox" class="form-check-input"/>
|
||||
<label asp-for="ShowRecommendedFee" class="form-check-label"></label>
|
||||
<p class="form-text text-muted">Fee will be shown for BTC and LTC onchain payments only.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="RecommendedFeeBlockTarget"></label>
|
||||
<input asp-for="RecommendedFeeBlockTarget" class="form-control" style="width:8ch" />
|
||||
<input asp-for="RecommendedFeeBlockTarget" class="form-control" style="width:8ch"/>
|
||||
<span asp-validation-for="RecommendedFeeBlockTarget" class="text-danger"></span>
|
||||
</div>
|
||||
|
||||
@ -112,19 +105,23 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="HtmlTitle"></label>
|
||||
<input asp-for="HtmlTitle" class="form-control" />
|
||||
<input asp-for="HtmlTitle" class="form-control"/>
|
||||
<span asp-validation-for="HtmlTitle" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="CustomLogo"></label>
|
||||
<a href="https://docs.btcpayserver.org/Theme/#checkout-page-themes" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
<input asp-for="CustomLogo" class="form-control" />
|
||||
<a href="https://docs.btcpayserver.org/Theme/#checkout-page-themes" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
<input asp-for="CustomLogo" class="form-control"/>
|
||||
<span asp-validation-for="CustomLogo" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="CustomCSS"></label>
|
||||
<a href="https://docs.btcpayserver.org/Theme/#checkout-page-themes" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
||||
<input asp-for="CustomCSS" class="form-control" />
|
||||
<a href="https://docs.btcpayserver.org/Theme/#checkout-page-themes" target="_blank">
|
||||
<span class="fa fa-question-circle-o text-secondary" title="More information..."></span>
|
||||
</a>
|
||||
<input asp-for="CustomCSS" class="form-control"/>
|
||||
<span asp-validation-for="CustomCSS" class="text-danger"></span>
|
||||
<p class="form-text text-muted">
|
||||
Bundled Themes:
|
||||
@ -151,5 +148,5 @@
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
@model CreateTokenViewModel
|
||||
@{
|
||||
Layout = "../Shared/_NavLayout.cshtml";
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Tokens, "Create a new token");
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Tokens, "Create a new token", Context.GetStoreData()?.StoreName);
|
||||
ViewBag.HidePublicKey = ViewBag.HidePublicKey ?? false;
|
||||
ViewBag.ShowStores = ViewBag.ShowStores ?? false;
|
||||
}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="col-lg-6">
|
||||
<h4 class="mb-4">@ViewData["PageTitle"]</h4>
|
||||
<form method="post">
|
||||
<div class="form-group">
|
||||
<label asp-for="Label"></label>
|
||||
|
@ -1,8 +1,11 @@
|
||||
@model BTCPayServer.Models.ServerViewModels.EmailsViewModel
|
||||
@{
|
||||
Layout = "../Shared/_NavLayout.cshtml";
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Index, "Update Store Email Settings");
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Index, "Email Settings", Context.GetStoreData().StoreName);
|
||||
}
|
||||
|
||||
<partial name="EmailsBody" model="Model" />
|
||||
|
||||
<partial name="EmailsBody" model="@Model"/>
|
||||
@section Scripts {
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
var isHotWallet = Model.Method == WalletSetupMethod.HotWallet;
|
||||
var type = isHotWallet ? "Hot" : "Watch-Only";
|
||||
Layout = "_LayoutWalletSetup";
|
||||
ViewData["Title"] = $"Create {Model.CryptoCode} {type} Wallet";
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Wallet, $"Create {Model.CryptoCode} {type} Wallet", Context.GetStoreData().StoreName);
|
||||
ViewData.Add(nameof(Model.CanUseHotWallet), Model.CanUseHotWallet);
|
||||
ViewData.Add(nameof(Model.CanUseRPCImport), Model.CanUseRPCImport);
|
||||
ViewData.Add(nameof(Model.Method), Model.Method);
|
||||
@ -18,9 +18,8 @@
|
||||
|
||||
<h1 class="text-center">@ViewData["Title"]</h1>
|
||||
<br>
|
||||
|
||||
@await Html.PartialAsync("_GenerateWalletForm", Model.SetupRequest)
|
||||
<partial name="_GenerateWalletForm" model="Model.SetupRequest" />
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
@addTagHelper *, BundlerMinifier.TagHelpers
|
||||
@{
|
||||
Layout = "_LayoutWalletSetup";
|
||||
ViewData["Title"] = $"Generate {Model.CryptoCode} Wallet";
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Wallet, $"Generate {Model.CryptoCode} Wallet", Context.GetStoreData().StoreName);
|
||||
}
|
||||
|
||||
@section Navbar {
|
||||
|
@ -2,7 +2,7 @@
|
||||
@addTagHelper *, BundlerMinifier.TagHelpers
|
||||
@{
|
||||
Layout = "_LayoutWalletSetup";
|
||||
ViewData["Title"] = "Confirm addresses";
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Wallet, "Confirm addresses", Context.GetStoreData().StoreName);
|
||||
}
|
||||
|
||||
@section Navbar {
|
||||
@ -104,8 +104,8 @@
|
||||
</form>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
@await Html.PartialAsync("VaultElements")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
<partial name="VaultElements" />
|
||||
|
||||
<script src="~/js/vaultbridge.js" type="text/javascript" defer asp-append-version="true"></script>
|
||||
<script src="~/js/vaultbridge.ui.js" type="text/javascript" defer asp-append-version="true"></script>
|
||||
|
@ -2,7 +2,7 @@
|
||||
@addTagHelper *, BundlerMinifier.TagHelpers
|
||||
@{
|
||||
Layout = "_LayoutWalletSetup";
|
||||
ViewData["Title"] = "Import your wallet file";
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Wallet, "Import your wallet file", Context.GetStoreData().StoreName);
|
||||
}
|
||||
|
||||
@section Navbar {
|
||||
|
@ -2,7 +2,7 @@
|
||||
@addTagHelper *, BundlerMinifier.TagHelpers
|
||||
@{
|
||||
Layout = "_LayoutWalletSetup";
|
||||
ViewData["Title"] = "Connect your hardware wallet";
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Wallet, "Connect your hardware wallet", Context.GetStoreData().StoreName);
|
||||
}
|
||||
|
||||
@section Navbar {
|
||||
@ -79,8 +79,8 @@
|
||||
</form>
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
@await Html.PartialAsync("VaultElements")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
<partial name="VaultElements" />
|
||||
|
||||
<script src="~/js/vaultbridge.js" defer asp-append-version="true"></script>
|
||||
<script src="~/js/vaultbridge.ui.js" defer asp-append-version="true"></script>
|
||||
|
@ -2,7 +2,7 @@
|
||||
@addTagHelper *, BundlerMinifier.TagHelpers
|
||||
@{
|
||||
Layout = "_LayoutWalletSetup";
|
||||
ViewData["Title"] = "Scan QR code";
|
||||
ViewData.SetActivePageAndTitle(StoreNavPages.Wallet, "Scan QR code", Context.GetStoreData().StoreName);
|
||||
}
|
||||
|
||||
@section Navbar {
|
||||
@ -58,7 +58,7 @@
|
||||
|
||||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<partial name="_ValidationScriptsPartial" />
|
||||
|
||||
<bundle name="wwwroot/bundles/camera-bundle.min.js"></bundle>
|
||||
<link href="~/vendor/vue-qrcode-reader/vue-qrcode-reader.css" rel="stylesheet" asp-append-version="true"/>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user