btcpayserver/BTCPayServer/Views/UIStores/LightningSettings.cshtml
d11n 0f8da123b8
UI: Move section navigation to sidebar (#5744)
* UI: Move section navigation to sidebar

* Scroll active nav link into view

* Move CTAs to top right

* Server Settings: Make Policies first page

* Responsive table fixes

* Spacing fixes

* Add breadcrumb samples

* store settings fixes

* payment request fixes

* updates pull payment title

* adds invoice detail fix

* updates server settings breadcrumbs + copy fix

* Don't open Server Settings on Plugins page

* Add breadcrumbs to pull payment views

* adds breadcrumbs to account

* server and store breadcrumb fixes

* fixes access tokens

* Fix payment processor breadcrumbs

* fixes webhook 404

* Final touches

* Fix test

* Add breadcrumb for email rules page

* Design system updates

---------

Co-authored-by: dstrukt <gfxdsign@gmail.com>
2024-06-19 15:23:10 +02:00

118 lines
6.3 KiB
Text

@using BTCPayServer.Services
@model LightningSettingsViewModel
@inject LightningClientFactoryService LightningClientFactoryService
@inject BTCPayNetworkProvider NetworkProvider
@{
ViewData.SetActivePage(StoreNavPages.LightningSettings, $"{Model.CryptoCode} Lightning Settings", $"{Context.GetStoreData().Id}-{Model.CryptoCode}");
}
<form method="post">
<div class="sticky-header">
<h2>@ViewData["Title"]</h2>
<button id="save" name="command" type="submit" value="save" class="btn btn-primary">Save</button>
</div>
<partial name="_StatusMessage" />
<div class="row">
<div class="col-xl-8 col-xxl-constrain">
<div class="mb-5">
<div class="text-break mb-3">
<span class="me-3" id="NodeType">@Model.LightningNodeType Node</span>
@if (Model.LightningNodeType != LightningNodeType.Internal)
{
<span class="me-3" id="CustomNodeInfo">
@try
{
var client = LightningClientFactoryService.Create(Model.ConnectionString, NetworkProvider.GetNetwork<BTCPayNetwork>(Model.CryptoCode));
<span>@client.GetDisplayName()</span>
var uri = client.GetServerUri();
if (uri is not null)
{
<span>(@uri.Host)</span>
}
}
catch (Exception)
{
@Model.ConnectionString
}
</span>
}
<a class="me-3"
asp-controller="UIPublicLightningNodeInfo"
asp-action="ShowLightningNodeInfo"
asp-route-cryptoCode="@Model.CryptoCode"
asp-route-storeId="@Model.StoreId"
target="_blank"
id="PublicNodeInfo">
Public Node Info
</a>
<a asp-controller="UIStores" asp-action="SetupLightningNode" asp-route-storeId="@Model.StoreId" asp-route-cryptoCode="@Model.CryptoCode" id="SetupLightningNodeLink">
Change connection
</a>
</div>
<div class="d-flex align-items-center">
<input type="checkbox" asp-for="Enabled" class="btcpay-toggle me-3" id="@($"{Model.CryptoCode}LightningEnabled")" />
<label asp-for="Enabled" class="form-check-label"></label>
</div>
<div class="text-start">
<h3 class="mt-5 mb-3">Payment</h3>
<div class="form-check my-3">
<input asp-for="LightningAmountInSatoshi" type="checkbox" class="form-check-input"/>
<label asp-for="LightningAmountInSatoshi" class="form-check-label"></label>
</div>
<div class="form-check my-3">
<input asp-for="LightningPrivateRouteHints" type="checkbox" class="form-check-input"/>
<label asp-for="LightningPrivateRouteHints" class="form-check-label"></label>
</div>
<div class="form-check my-3">
<input asp-for="OnChainWithLnInvoiceFallback" type="checkbox" class="form-check-input"/>
<label asp-for="OnChainWithLnInvoiceFallback" class="form-check-label"></label>
<a href="https://bitcoinqr.dev/" target="_blank" rel="noreferrer noopener">
<vc:icon symbol="info" />
</a>
</div>
<div class="form-group mt-3">
<label asp-for="LightningDescriptionTemplate" class="form-label"></label>
<input asp-for="LightningDescriptionTemplate" class="form-control"/>
<span asp-validation-for="LightningDescriptionTemplate" class="text-danger"></span>
<div class="form-text">
Available placeholders:
<code>{StoreName} {ItemDescription} {OrderId}</code>
</div>
</div>
<h3 class="mt-5 mb-3" id="ln-url">LNURL</h3>
<div class="form-group d-flex align-items-center">
<input asp-for="LNURLEnabled" type="checkbox" class="btcpay-toggle me-3" data-bs-toggle="collapse" data-bs-target="#LNURLSettings" aria-expanded="@Model.LNURLEnabled" aria-controls="LNURLSettings"/>
<label asp-for="LNURLEnabled" class="form-check-label"></label>
</div>
<div class="collapse @(Model.LNURLEnabled ? "show" : "")" id="LNURLSettings">
<div class="form-group">
<label class="form-group d-flex align-items-center">
<input type="checkbox" asp-for="LNURLBech32Mode" class="btcpay-toggle me-3" />
<div>
<label asp-for="LNURLBech32Mode" class="form-check-label"></label>
<span asp-validation-for="LNURLBech32Mode" class="text-danger"></span>
<div class="form-text">For wallet compatibility: Bech32 encoded (classic) vs. cleartext URL (upcoming)</div>
</div>
</label>
</div>
<div class="form-group mb-3">
<div class="d-flex align-items-center">
<input type="checkbox" asp-for="LUD12Enabled" class="btcpay-toggle me-3" />
<label asp-for="LUD12Enabled" class="form-check-label"></label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
@section PageFootContent {
<partial name="_ValidationScriptsPartial"/>
}