From d46543ae164e37b6500336d63429326ea5cc8f9f Mon Sep 17 00:00:00 2001 From: d11n Date: Tue, 21 Nov 2023 11:53:24 +0100 Subject: [PATCH] Public LN Node view: Consistency update (#5466) --- .../UIPublicLightningNodeInfoController.cs | 36 +++--- .../ShowLightningNodeInfo.cshtml | 105 +++++++++--------- 2 files changed, 73 insertions(+), 68 deletions(-) diff --git a/BTCPayServer/Controllers/UIPublicLightningNodeInfoController.cs b/BTCPayServer/Controllers/UIPublicLightningNodeInfoController.cs index cd5be82ee..7315dbfa4 100644 --- a/BTCPayServer/Controllers/UIPublicLightningNodeInfoController.cs +++ b/BTCPayServer/Controllers/UIPublicLightningNodeInfoController.cs @@ -37,31 +37,32 @@ namespace BTCPayServer.Controllers if (store == null) return NotFound(); + var storeBlob = store.GetStoreBlob(); + var vm = new ShowLightningNodeInfoViewModel + { + CryptoCode = cryptoCode, + StoreName = store.StoreName, + BrandColor = storeBlob.BrandColor, + LogoFileId = storeBlob.LogoFileId, + CssFileId = storeBlob.CssFileId + }; try { var paymentMethodDetails = GetExistingLightningSupportedPaymentMethod(cryptoCode, store); var network = _BtcPayNetworkProvider.GetNetwork(cryptoCode); - var nodeInfo = - await _LightningLikePaymentHandler.GetNodeInfo(paymentMethodDetails, network, new InvoiceLogs(), throws: true); + var nodeInfo = await _LightningLikePaymentHandler.GetNodeInfo(paymentMethodDetails, network, + new InvoiceLogs(), throws: true); - return View(new ShowLightningNodeInfoViewModel - { - Available = true, - NodeInfo = nodeInfo.Select(n => new ShowLightningNodeInfoViewModel.NodeData(n)).ToArray(), - CryptoCode = cryptoCode, - CryptoImage = GetImage(paymentMethodDetails.PaymentId, network), - StoreName = store.StoreName - }); + vm.Available = true; + vm.CryptoImage = GetImage(paymentMethodDetails.PaymentId, network); + vm.NodeInfo = nodeInfo.Select(n => new ShowLightningNodeInfoViewModel.NodeData(n)).ToArray(); } catch (Exception) { - return View(new ShowLightningNodeInfoViewModel - { - Available = false, - CryptoCode = cryptoCode, - StoreName = store.StoreName - }); + // ignored } + + return View(vm); } private LightningSupportedPaymentMethod GetExistingLightningSupportedPaymentMethod(string cryptoCode, StoreData store) @@ -107,5 +108,8 @@ namespace BTCPayServer.Controllers public string CryptoCode { get; set; } public string CryptoImage { get; set; } public string StoreName { get; set; } + public string LogoFileId { get; set; } + public string CssFileId { get; set; } + public string BrandColor { get; set; } } } diff --git a/BTCPayServer/Views/UIPublicLightningNodeInfo/ShowLightningNodeInfo.cshtml b/BTCPayServer/Views/UIPublicLightningNodeInfo/ShowLightningNodeInfo.cshtml index d8bd05e72..137c95ede 100644 --- a/BTCPayServer/Views/UIPublicLightningNodeInfo/ShowLightningNodeInfo.cshtml +++ b/BTCPayServer/Views/UIPublicLightningNodeInfo/ShowLightningNodeInfo.cshtml @@ -8,69 +8,70 @@ + + - -
-
-
-
-
-

@Model.StoreName

-

- @Model.CryptoCode - Lightning Node -

-

- - - @(Model.Available ? "Online" : "Unavailable") - -

- @if (Model.Available) + +
+
+
+ +
+

+ @Model.CryptoCode + Lightning Node +

+

+ + @(Model.Available ? "Online" : "Unavailable") +

+ @if (Model.Available) + { + @if (Model.NodeInfo.Any()) { - @if (Model.NodeInfo.Any()) + @if (Model.NodeInfo.Length > 1) { - @if (Model.NodeInfo.Length > 1) - { - - } -
+ } - else - { -

No public address available.

- } +
+ @for (var i = 0; i < Model.NodeInfo.Length; i++) + { + var nodeInfo = Model.NodeInfo[i]; + var title = nodeInfo.IsTor ? "Tor" : "Clearnet"; + var value = nodeInfo.ToString(); +
+
+
+ + @Model.CryptoCode +
+
+
+ + +
+
+
+
+ } +
} -
-
+ else + { +

No public address available.

+ } + } +
-
+