mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-22 14:22:40 +01:00
Merge pull request #1477 from dennisreimann/asset-cache-busting
Improve static asset caching
This commit is contained in:
commit
aee55103a3
45 changed files with 125 additions and 112 deletions
|
@ -18,6 +18,7 @@ using System.IO;
|
|||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using BTCPayServer.Security;
|
||||
using Microsoft.AspNetCore.Server.Kestrel.Core;
|
||||
using Microsoft.Net.Http.Headers;
|
||||
using System.Net;
|
||||
using BTCPayServer.PaymentRequest;
|
||||
using BTCPayServer.Services.Apps;
|
||||
|
@ -189,7 +190,17 @@ namespace BTCPayServer.Hosting
|
|||
app.UseRouting();
|
||||
app.UseCors();
|
||||
|
||||
app.UseStaticFiles();
|
||||
app.UseStaticFiles(new StaticFileOptions
|
||||
{
|
||||
OnPrepareResponse = ctx =>
|
||||
{
|
||||
// Cache static assets for one year, set asp-append-version="true" on references to update on change.
|
||||
// https://andrewlock.net/adding-cache-control-headers-to-static-files-in-asp-net-core/
|
||||
const int durationInSeconds = 60 * 60 * 24 * 365;
|
||||
ctx.Context.Response.Headers[HeaderNames.CacheControl] = "public,max-age=" + durationInSeconds;
|
||||
}
|
||||
});
|
||||
|
||||
app.UseProviderStorage(options);
|
||||
app.UseAuthentication();
|
||||
app.UseAuthorization();
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<script src="~/vendor/u2f/u2f-api-1.1.js"></script>
|
||||
<script src="~/vendor/u2f/u2f-api-1.1.js" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
var errorMap = {
|
||||
1: 'Unknown error, try again',
|
||||
|
|
|
@ -227,9 +227,9 @@
|
|||
</div>
|
||||
</section>
|
||||
@section Scripts {
|
||||
<script src="~/vendor/moment/moment.js"></script>
|
||||
<bundle name="wwwroot/bundles/crowdfund-admin-bundle.min.js"></bundle>
|
||||
<bundle name="wwwroot/bundles/crowdfund-admin-bundle.min.css"></bundle>
|
||||
<script src="~/vendor/moment/moment.js" asp-append-version="true"></script>
|
||||
<bundle name="wwwroot/bundles/crowdfund-admin-bundle.min.js" asp-append-version="true"></bundle>
|
||||
<bundle name="wwwroot/bundles/crowdfund-admin-bundle.min.css" asp-append-version="true"></bundle>
|
||||
<script id="template-product-item" type="text/template">
|
||||
<div class="col-sm-4 col-md-3 mb-3">
|
||||
<div class="card">
|
||||
|
|
|
@ -225,8 +225,8 @@
|
|||
</div>
|
||||
</section>
|
||||
@section Scripts {
|
||||
<link rel="stylesheet" href="~/vendor/highlightjs/default.min.css">
|
||||
<script src="~/vendor/highlightjs/highlight.min.js"></script>
|
||||
<link rel="stylesheet" href="~/vendor/highlightjs/default.min.css" asp-append-version="true">
|
||||
<script src="~/vendor/highlightjs/highlight.min.js" asp-append-version="true"></script>
|
||||
<script>hljs.initHighlightingOnLoad();</script>
|
||||
<script id="template-product-item" type="text/template">
|
||||
<div class="col-sm-4 col-md-3 mb-3">
|
||||
|
@ -285,6 +285,6 @@
|
|||
</div>
|
||||
</script>
|
||||
|
||||
<bundle name="wwwroot/bundles/pos-admin-bundle.min.js"></bundle>
|
||||
<bundle name="wwwroot/bundles/pos-admin-bundle.min.css"></bundle>
|
||||
<bundle name="wwwroot/bundles/pos-admin-bundle.min.js" asp-append-version="true"></bundle>
|
||||
<bundle name="wwwroot/bundles/pos-admin-bundle.min.css" asp-append-version="true"></bundle>
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
}
|
||||
@if (!string.IsNullOrEmpty(item.Image))
|
||||
{
|
||||
<img class="card-img-top" src="@item.Image"/>
|
||||
<img class="card-img-top" src="@item.Image" asp-append-version="true" />
|
||||
}
|
||||
<div class="card-body">
|
||||
<div class="card-title d-flex justify-content-between">
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<div class="card w-100 p-0 mx-0">
|
||||
@if (!string.IsNullOrEmpty(Model.MainImageUrl))
|
||||
{
|
||||
<img class="card-img-top" src="@Model.MainImageUrl"/>
|
||||
<img class="card-img-top" src="@Model.MainImageUrl" asp-append-version="true" />
|
||||
}
|
||||
<div class="d-flex justify-content-between px-2">
|
||||
<h1>
|
||||
|
|
|
@ -24,13 +24,13 @@
|
|||
<script type="text/javascript">
|
||||
var srvModel = @Safe.Json(Model);
|
||||
</script>
|
||||
<bundle name="wwwroot/bundles/crowdfund-bundle-1.min.js"></bundle>
|
||||
<bundle name="wwwroot/bundles/crowdfund-bundle-2.min.js"></bundle>
|
||||
<bundle name="wwwroot/bundles/crowdfund-bundle-1.min.js" asp-append-version="true"></bundle>
|
||||
<bundle name="wwwroot/bundles/crowdfund-bundle-2.min.js" asp-append-version="true"></bundle>
|
||||
@*We need to make sure btcpay.js is not bundled, else it will not work if there is a RootPath*@
|
||||
<script src="~/modal/btcpay.js"></script>
|
||||
<script src="~/modal/btcpay.js" asp-append-version="true"></script>
|
||||
}
|
||||
|
||||
<bundle name="wwwroot/bundles/crowdfund-bundle.min.css"></bundle>
|
||||
<bundle name="wwwroot/bundles/crowdfund-bundle.min.css" asp-append-version="true"></bundle>
|
||||
@if (!string.IsNullOrEmpty(Model.EmbeddedCSS))
|
||||
{
|
||||
@Safe.Raw($"<style>{Model.EmbeddedCSS}</style>");
|
||||
|
|
|
@ -21,21 +21,21 @@
|
|||
|
||||
<link rel="manifest" href="~/manifest.json">
|
||||
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.BootstrapUri)" rel="stylesheet" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.ThemeUri)" rel="stylesheet" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.BootstrapUri)" rel="stylesheet" asp-append-version="true" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.ThemeUri)" rel="stylesheet" asp-append-version="true" />
|
||||
@if (Model.CustomCSSLink != null)
|
||||
{
|
||||
<link href="@Model.CustomCSSLink" rel="stylesheet" />
|
||||
}
|
||||
<link href="~/vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
|
||||
<link href="~/vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" asp-append-version="true" />
|
||||
|
||||
@if (Model.EnableShoppingCart)
|
||||
{
|
||||
<link rel="stylesheet" href="~/cart/css/style.css">
|
||||
<link rel="stylesheet" href="~/cart/css/style.css" asp-append-version="true">
|
||||
<script type="text/javascript">
|
||||
var srvModel = @Safe.Json(Model);
|
||||
</script>
|
||||
<bundle name="wwwroot/bundles/cart-bundle.min.js" />
|
||||
<bundle name="wwwroot/bundles/cart-bundle.min.js" asp-append-version="true" />
|
||||
}
|
||||
<style>
|
||||
.card-deck {
|
||||
|
@ -320,7 +320,7 @@
|
|||
<div class="js-add-cart card my-2 card-wrapper" data-index="@index">
|
||||
@if (!String.IsNullOrWhiteSpace(image))
|
||||
{
|
||||
@:<img class="card-img-top" src="@image" alt="Card image cap">
|
||||
@:<img class="card-img-top" src="@image" alt="Card image cap" asp-append-version="true">
|
||||
}
|
||||
<div class="card-body p-3">
|
||||
<h6 class="card-title mb-0">@item.Title</h6>
|
||||
|
@ -414,7 +414,7 @@
|
|||
<div class="card my-2" data-id="@x">
|
||||
@if (!String.IsNullOrWhiteSpace(item.Image))
|
||||
{
|
||||
<img class="card-img-top" src="@item.Image" alt="Card image cap">
|
||||
<img class="card-img-top" src="@item.Image" alt="Card image cap" asp-append-version="true">
|
||||
}
|
||||
<div class="card-body pb-0">
|
||||
<h5 class="card-title">@item.Title</h5>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
This is like searching for a person more beautiful than <a href="https://twitter.com/NicolasDorier" target="_blank">Nicolas Dorier</a>.
|
||||
<br /><br />
|
||||
<a href="https://twitter.com/NicolasDorier" target="_blank">
|
||||
<img src="~/img/errorpages/404_nicolas.jpg" alt="Nicolas Dorier beauty" title="Slowly stroke the image" />
|
||||
<img src="~/img/errorpages/404_nicolas.jpg" alt="Nicolas Dorier beauty" title="Slowly stroke the image" asp-append-version="true" />
|
||||
</a>
|
||||
<br /><br />
|
||||
It doesn't exist.
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
Please send requests slower. Or face the wrath of <a href="https://twitter.com/r0ckstardev" target="_blank">Vin Diesel</a>.
|
||||
<br /><br />
|
||||
<a href="https://twitter.com/r0ckstardev" target="_blank">
|
||||
<img src="~/img/errorpages/429_rockstardev.jpg" alt="Vin is angry because you caused 429" title="Move away that cursor" />
|
||||
<img src="~/img/errorpages/429_rockstardev.jpg" alt="Vin is angry because you caused 429" title="Move away that cursor" asp-append-version="true" />
|
||||
</a>
|
||||
<br /><br />
|
||||
You sure you want to risk that?
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
Whoops, something really went wrong! <a href="https://twitter.com/mrkukks">Mr Kukks</a> is so sorry.
|
||||
<br /><br />
|
||||
<a href="https://twitter.com/mrkukks" target="_blank">
|
||||
<img src="~/img/errorpages/500_mrkukks.jpg" alt="Mr Kukks puppy eyes" title="The most innocent look you'll ever see" />
|
||||
<img src="~/img/errorpages/500_mrkukks.jpg" alt="Mr Kukks puppy eyes" title="The most innocent look you'll ever see" asp-append-version="true" />
|
||||
</a>
|
||||
<br /><br />
|
||||
Consult server log and consider submitting issue on BTCPayServer GitHub.
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<head>
|
||||
<partial name="Header" />
|
||||
|
||||
<link href="~/main/fonts/Montserrat.css" rel="stylesheet">
|
||||
<link href="~/main/fonts/Montserrat.css" rel="stylesheet" asp-append-version="true">
|
||||
<style>
|
||||
.content-wrapper {
|
||||
padding: 20px 0;
|
||||
|
@ -95,7 +95,9 @@
|
|||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 col-head" style="justify-content:center;">
|
||||
<a asp-controller="Home" asp-action="Index"><img src="~/img/btcpay-logo.svg" alt="BTCPay Server" class="head-logo" /></a>
|
||||
<a asp-controller="Home" asp-action="Index">
|
||||
<img src="~/img/btcpay-logo.svg" alt="BTCPay Server" class="head-logo" asp-append-version="true" />
|
||||
</a>
|
||||
<h1 class="lead-title text-uppercase">@ViewData["ErrorTitle"]</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<script type="text/javascript" src="~/js/qrcode.js"></script>
|
||||
<script type="text/javascript" src="~/js/qrcode.js" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
new QRCode(document.getElementById("qrCode"),
|
||||
{
|
||||
|
|
|
@ -27,21 +27,21 @@
|
|||
<div class="row">
|
||||
<div class="col-lg-4 col-md-6 text-center">
|
||||
<div class="service-box">
|
||||
<img src="~/img/lock-logo.png" alt="" />
|
||||
<img src="~/img/lock-logo.png" alt="" asp-append-version="true" />
|
||||
<h3>Secure</h3>
|
||||
<p class="text-muted">The payment server does not need to know your private keys, so your money can't be stolen.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6 text-center">
|
||||
<div class="service-box">
|
||||
<img src="~/img/qr-logo.png" alt="" />
|
||||
<img src="~/img/qr-logo.png" alt="" asp-append-version="true" />
|
||||
<h3>Easy</h3>
|
||||
<p class="text-muted">A user-friendly Bitcoin checkout page for your customers.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6 text-center">
|
||||
<div class="service-box">
|
||||
<img src="~/img/money-logo.png" alt="" />
|
||||
<img src="~/img/money-logo.png" alt="" asp-append-version="true" />
|
||||
<h3>Visibility</h3>
|
||||
<p class="text-muted">Manage, generate reports, and search for your invoices easily.</p>
|
||||
</div>
|
||||
|
@ -56,7 +56,7 @@
|
|||
<div class="row">
|
||||
<div class="col-lg-12 text-center">
|
||||
<a href="https://www.youtube.com/channel/UCpG9WL6TJuoNfFVkaDMp9ug" target="_blank">
|
||||
<img src="~/img/youtube.png" class="img-fluid" />
|
||||
<img src="~/img/youtube.png" class="img-fluid" asp-append-version="true" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -118,25 +118,25 @@
|
|||
<div class="row social-row">
|
||||
<div class="col-6 col-md-3 ml-auto text-center">
|
||||
<a href="https://chat.btcpayserver.org/" target="_blank">
|
||||
<img src="~/img/mattermost.svg" alt="Mattermost" class="social-logo" />
|
||||
<img src="~/img/mattermost.svg" alt="Mattermost" class="social-logo" asp-append-version="true" />
|
||||
<span>On Mattermost</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-6 col-md-3 ml-auto text-center">
|
||||
<a href="https://slack.btcpayserver.org/" target="_blank">
|
||||
<img src="~/img/slack.svg" alt="Slack" class="social-logo" />
|
||||
<img src="~/img/slack.svg" alt="Slack" class="social-logo" asp-append-version="true" />
|
||||
<span>On Slack</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-6 col-md-3 mr-auto text-center">
|
||||
<a href="https://twitter.com/BtcpayServer" target="_blank">
|
||||
<img src="~/img/twitter.svg" alt="Twitter" class="social-logo" />
|
||||
<img src="~/img/twitter.svg" alt="Twitter" class="social-logo" asp-append-version="true" />
|
||||
<span>On Twitter</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-6 col-md-3 mr-auto text-center">
|
||||
<a href="https://github.com/btcpayserver/btcpayserver" target="_blank">
|
||||
<img src="~/img/github.svg" alt="Github" class="social-logo" />
|
||||
<img src="~/img/github.svg" alt="Github" class="social-logo" asp-append-version="true" />
|
||||
<span>On Github</span>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
@if (!string.IsNullOrEmpty(Model.CustomLogoLink))
|
||||
{
|
||||
<div class="header__icon">
|
||||
<img class="header__icon__img" src="@Model.CustomLogoLink" height="40">
|
||||
<img class="header__icon__img" src="@Model.CustomLogoLink" height="40" asp-append-version="true">
|
||||
</div>
|
||||
}
|
||||
else
|
||||
|
@ -61,7 +61,7 @@
|
|||
{
|
||||
<li class="vexmenuitem">
|
||||
<a href="@crypto.Link" onclick="closePaymentMethodDialog('@crypto.PaymentMethodId');return false;">
|
||||
<img alt="@crypto.PaymentMethodName" src="@crypto.CryptoImage" />
|
||||
<img alt="@crypto.PaymentMethodName" src="@crypto.CryptoImage" asp-append-version="true" />
|
||||
@crypto.PaymentMethodName
|
||||
@(crypto.IsLightning ? Html.Raw("⚡") : null)
|
||||
<span>@crypto.CryptoCode</span>
|
||||
|
@ -197,7 +197,7 @@
|
|||
<div class="status-icon__wrapper">
|
||||
<div class="inner-wrapper">
|
||||
<div class="status-icon__wrapper__icon">
|
||||
<img src="~/imlegacy/checkmark.svg">
|
||||
<img src="~/imlegacy/checkmark.svg" asp-append-version="true">
|
||||
</div>
|
||||
<div class="status-icon__wrapper__outline"></div>
|
||||
</div>
|
||||
|
|
|
@ -15,13 +15,13 @@
|
|||
<META NAME="robots" CONTENT="noindex,nofollow">
|
||||
<title>@Model.HtmlTitle</title>
|
||||
|
||||
<bundle name="wwwroot/bundles/checkout-bundle.min.css" />
|
||||
<bundle name="wwwroot/bundles/checkout-bundle.min.css" asp-append-version="true" />
|
||||
|
||||
<script type="text/javascript">
|
||||
var initialSrvModel = @Safe.Json(Model);
|
||||
</script>
|
||||
|
||||
<bundle name="wwwroot/bundles/checkout-bundle.min.js" />
|
||||
<bundle name="wwwroot/bundles/checkout-bundle.min.js" asp-append-version="true" />
|
||||
<script>vex.defaultOptions.className = 'vex-theme-btcpay'</script>
|
||||
|
||||
@if (!string.IsNullOrEmpty(Model.CustomCSSLink))
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
{
|
||||
<li style="height: 32px; line-height: 32px;">
|
||||
<a href="/invoice-noscript?id=@Model.InvoiceId&paymentMethodId=@crypto.PaymentMethodId">
|
||||
<img alt="@crypto.PaymentMethodName" src="@crypto.CryptoImage" style="vertical-align:middle; height:24px; text-decoration:none; margin-top: -3px;" /></a>
|
||||
<img alt="@crypto.PaymentMethodName" src="@crypto.CryptoImage" style="vertical-align:middle; height:24px; text-decoration:none; margin-top: -3px;" asp-append-version="true" /></a>
|
||||
<a href="/invoice-noscript?id=@Model.InvoiceId&paymentMethodId=@crypto.PaymentMethodId" style="padding-top: 2px;">
|
||||
@crypto.PaymentMethodName
|
||||
@(crypto.IsLightning ? Html.Raw("⚡") : null)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
ViewData["Title"] = "Invoices";
|
||||
}
|
||||
@section HeadScripts {
|
||||
<script src="~/modal/btcpay.js"></script>
|
||||
<script src="~/modal/btcpay.js" asp-append-version="true"></script>
|
||||
}
|
||||
@Html.HiddenFor(a => a.Count)
|
||||
<section>
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
@section Scripts {
|
||||
|
||||
<script src="~/vendor/u2f/u2f-api-1.1.js"></script>
|
||||
<script src="~/vendor/u2f/u2f-api-1.1.js" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
var errorMap = {
|
||||
1: 'Unknown error, try again',
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<script type="text/javascript" src="~/js/qrcode.js"></script>
|
||||
<script type="text/javascript" src="~/js/qrcode.js" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
new QRCode(document.getElementById("qrCode"),
|
||||
{
|
||||
|
|
|
@ -116,7 +116,7 @@
|
|||
</div>
|
||||
</section>
|
||||
@section Scripts {
|
||||
<script src="~/vendor/moment/moment.js"></script>
|
||||
<bundle name="wwwroot/bundles/payment-request-admin-bundle.min.js"></bundle>
|
||||
<bundle name="wwwroot/bundles/payment-request-admin-bundle.min.css"></bundle>
|
||||
<script src="~/vendor/moment/moment.js" asp-append-version="true"></script>
|
||||
<bundle name="wwwroot/bundles/payment-request-admin-bundle.min.js" asp-append-version="true"></bundle>
|
||||
<bundle name="wwwroot/bundles/payment-request-admin-bundle.min.css" asp-append-version="true"></bundle>
|
||||
}
|
||||
|
|
|
@ -25,13 +25,13 @@
|
|||
<script type="text/javascript">
|
||||
var srvModel = @Safe.Json(Model);
|
||||
</script>
|
||||
<bundle name="wwwroot/bundles/payment-request-bundle-1.min.js"></bundle>
|
||||
<bundle name="wwwroot/bundles/payment-request-bundle-2.min.js"></bundle>
|
||||
<bundle name="wwwroot/bundles/payment-request-bundle-1.min.js" asp-append-version="true"></bundle>
|
||||
<bundle name="wwwroot/bundles/payment-request-bundle-2.min.js" asp-append-version="true"></bundle>
|
||||
@*We need to make sure btcpay.js is not bundled, else it will not work if there is a RootPath*@
|
||||
<script src="~/modal/btcpay.js"></script>
|
||||
<script src="~/modal/btcpay.js" asp-append-version="true"></script>
|
||||
}
|
||||
|
||||
<bundle name="wwwroot/bundles/payment-request-bundle.min.css"></bundle>
|
||||
<bundle name="wwwroot/bundles/payment-request-bundle.min.css" asp-append-version="true"></bundle>
|
||||
|
||||
@Safe.Raw(Model.EmbeddedCSS)
|
||||
</head>
|
||||
|
|
|
@ -13,16 +13,16 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<link rel="apple-touch-icon" href="~/img/icons/icon-512x512.png">
|
||||
<link rel="apple-touch-startup-image" href="~/img/splash.png">
|
||||
<link rel="apple-touch-icon" href="~/img/icons/icon-512x512.png" asp-append-version="true">
|
||||
<link rel="apple-touch-startup-image" href="~/img/splash.png" asp-append-version="true">
|
||||
|
||||
<link rel="manifest" href="~/manifest.json">
|
||||
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.BootstrapUri)" rel="stylesheet" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.ThemeUri)" rel="stylesheet" />
|
||||
<link href="~/vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.BootstrapUri)" rel="stylesheet" asp-append-version="true" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.ThemeUri)" rel="stylesheet" asp-append-version="true" />
|
||||
<link href="~/vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" asp-append-version="true" />
|
||||
|
||||
<bundle name="wwwroot/bundles/lightning-node-info-bundle.min.js" />
|
||||
<bundle name="wwwroot/bundles/lightning-node-info-bundle.min.js" asp-append-version="true" />
|
||||
<script type="text/javascript">
|
||||
var srvModel = @Safe.Json(Model);
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<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" />
|
||||
<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>
|
||||
|
@ -151,7 +151,7 @@
|
|||
|
||||
@if(Model.QRCode != null)
|
||||
{
|
||||
<script type="text/javascript" src="~/js/qrcode.js"></script>
|
||||
<script type="text/javascript" src="~/js/qrcode.js" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
new QRCode(document.getElementById("qrCode"),
|
||||
{
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
|
||||
@if (Model.ShowQR)
|
||||
{
|
||||
<script type="text/javascript" src="~/js/qrcode.js"></script>
|
||||
<script type="text/javascript" src="~/js/qrcode.js" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
new QRCode(document.getElementById("qrCode"),
|
||||
{
|
||||
|
|
|
@ -29,13 +29,13 @@
|
|||
<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" />
|
||||
<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://zap.jackmallers.com/" target="_blank">
|
||||
<img src="~/img/zapwallet.jpg" height="100" />
|
||||
<img src="~/img/zapwallet.jpg" height="100" asp-append-version="true" />
|
||||
</a>
|
||||
<p><a href="https://zap.jackmallers.com/" target="_blank">Zap</a></p>
|
||||
</div>
|
||||
|
@ -52,13 +52,13 @@
|
|||
<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" />
|
||||
<img src="~/img/joule.png" height="100" asp-append-version="true" />
|
||||
</a>
|
||||
<p><a href="https://lightningjoule.com/" target="_blank">Joule</a></p>
|
||||
</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" />
|
||||
<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>
|
||||
|
@ -180,7 +180,7 @@
|
|||
|
||||
@if(Model.QRCode != null)
|
||||
{
|
||||
<script type="text/javascript" src="~/js/qrcode.js"></script>
|
||||
<script type="text/javascript" src="~/js/qrcode.js" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
new QRCode(document.getElementById("qrCode"),
|
||||
{
|
||||
|
|
|
@ -38,13 +38,13 @@
|
|||
<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" />
|
||||
<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" />
|
||||
<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>
|
||||
|
@ -94,7 +94,7 @@
|
|||
|
||||
@if (Model.ShowQR)
|
||||
{
|
||||
<script type="text/javascript" src="~/js/qrcode.js"></script>
|
||||
<script type="text/javascript" src="~/js/qrcode.js" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
new QRCode(document.getElementById("qrCode"),
|
||||
{
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
<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" />
|
||||
<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>
|
||||
|
@ -91,7 +91,7 @@
|
|||
|
||||
@if (Model.ShowQR)
|
||||
{
|
||||
<script type="text/javascript" src="~/js/qrcode.js"></script>
|
||||
<script type="text/javascript" src="~/js/qrcode.js" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
new QRCode(document.getElementById("qrCode"),
|
||||
{
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
@if (s.ConnectionString.IsOnion() == true ||
|
||||
(s.ConnectionString.IsOnion() == false && this.Context.Request.IsOnion()))
|
||||
{
|
||||
<span><img style="display:inline; margin-top:-8px;" src="~/img/icons/Onion_Color.svg" height="20" /></span>
|
||||
<span><img style="display:inline; margin-top:-8px;" src="~/img/icons/Onion_Color.svg" height="20" asp-append-version="true" /></span>
|
||||
}
|
||||
</td>
|
||||
<td style="text-align: right">
|
||||
|
|
|
@ -11,13 +11,13 @@
|
|||
}
|
||||
<title>@ViewData["Title"]</title>
|
||||
@* CSS *@
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.BootstrapUri)" rel="stylesheet" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.CreativeStartUri)" rel="stylesheet" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.ThemeUri)" rel="stylesheet" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.BootstrapUri)" rel="stylesheet" asp-append-version="true" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.CreativeStartUri)" rel="stylesheet" asp-append-version="true" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.ThemeUri)" rel="stylesheet" asp-append-version="true" />
|
||||
@if (!String.IsNullOrWhiteSpace(themeManager.CustomThemeUri))
|
||||
{
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.CustomThemeUri)" rel="stylesheet" />
|
||||
<link href="@this.Context.Request.GetRelativePathOrAbsolute(themeManager.CustomThemeUri)" rel="stylesheet" asp-append-version="true" />
|
||||
}
|
||||
<bundle name="wwwroot/bundles/main-bundle.min.css" />
|
||||
<bundle name="wwwroot/bundles/main-bundle.min.css" asp-append-version="true" />
|
||||
@* JS *@
|
||||
<bundle name="wwwroot/bundles/main-bundle.min.js" />
|
||||
<bundle name="wwwroot/bundles/main-bundle.min.js" asp-append-version="true" />
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
|
||||
</div>
|
||||
|
||||
@*<link href="~/vendor/animatecss/animate.css" rel="stylesheet" />*@
|
||||
@*<link href="~/vendor/animatecss/animate.css" rel="stylesheet" asp-append-version="true" />*@
|
||||
<script type="text/javascript">
|
||||
function dismissSyncModal() {
|
||||
$("#modalDialog").addClass('animated bounceOutRight')
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="row justify-content-@(ViewData["Justify"] ?? "start")">
|
||||
<div class="figure p-3">
|
||||
<a href="https://twitter.com/sqcrypto" target="_blank">
|
||||
<img src="~/img/squarecrypto.svg" alt="Sponsor Square Crypto" height="75" />
|
||||
<img src="~/img/squarecrypto.svg" alt="Sponsor Square Crypto" height="75" asp-append-version="true" />
|
||||
</a>
|
||||
<div class="figure-caption text-center">
|
||||
<a href="https://twitter.com/sqcrypto" class="text-muted small" target="_blank">Square Crypto</a>
|
||||
|
@ -10,7 +10,7 @@
|
|||
</div>
|
||||
<div class="figure p-3">
|
||||
<a href="https://www.btse.com" target="_blank">
|
||||
<img src="~/img/btse.svg" alt="Sponsor BTSE" height="75" />
|
||||
<img src="~/img/btse.svg" alt="Sponsor BTSE" height="75" asp-append-version="true" />
|
||||
</a>
|
||||
<div class="figure-caption text-center">
|
||||
<a href="https://www.btse.com/" class="text-muted small" target="_blank">BTSE</a>
|
||||
|
@ -18,7 +18,7 @@
|
|||
</div>
|
||||
<div class="figure p-3">
|
||||
<a href="https://www.dglab.com/en/" target="_blank">
|
||||
<img src="~/img/dglab.svg" alt="Sponsor DG lab" height="75" />
|
||||
<img src="~/img/dglab.svg" alt="Sponsor DG lab" height="75" asp-append-version="true" />
|
||||
</a>
|
||||
<div class="figure-caption text-center">
|
||||
<a href="https://www.dglab.com/en/" class="text-muted small" target="_blank">DG Lab</a>
|
||||
|
@ -26,7 +26,7 @@
|
|||
</div>
|
||||
<div class="figure p-3">
|
||||
<a href="https://acinq.co/" target="_blank">
|
||||
<img src="~/img/acinq-logo.svg" alt="Sponsor ACINQ" height="75" />
|
||||
<img src="~/img/acinq-logo.svg" alt="Sponsor ACINQ" height="75" asp-append-version="true" />
|
||||
</a>
|
||||
<div class="figure-caption text-center">
|
||||
<a href="https://acinq.co/" class="text-muted small" target="_blank">ACINQ</a>
|
||||
|
@ -34,7 +34,7 @@
|
|||
</div>
|
||||
<div class="figure p-3">
|
||||
<a href="https://lunanode.com/" target="_blank">
|
||||
<img src="~/img/lunanode.svg" alt="Sponsor LunaNode" height="75" />
|
||||
<img src="~/img/lunanode.svg" alt="Sponsor LunaNode" height="75" asp-append-version="true" />
|
||||
</a>
|
||||
<div class="figure-caption text-center">
|
||||
<a href="https://lunanode.com/" class="text-muted small" target="_blank">LunaNode</a>
|
||||
|
@ -42,7 +42,7 @@
|
|||
</div>
|
||||
<div class="figure p-3">
|
||||
<a href="https://walletofsatoshi.com/" target="_blank">
|
||||
<img src="~/img/walletofsatoshi.svg" alt="Sponsor Wallet of Satoshi" height="75" />
|
||||
<img src="~/img/walletofsatoshi.svg" alt="Sponsor Wallet of Satoshi" height="75" asp-append-version="true" />
|
||||
</a>
|
||||
<div class="figure-caption text-center">
|
||||
<a href="https://walletofsatoshi.com/" class="text-muted small" target="_blank">Wallet of Satoshi</a>
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
@if (env.OnionUrl != null)
|
||||
{
|
||||
<a class="onion" href="@env.OnionUrl" target="_blank">
|
||||
<img src="~/img/icons/onion.svg" width="26" height="32" />
|
||||
<img src="~/img/icons/onion.svg" width="26" height="32" asp-append-version="true" />
|
||||
</a>
|
||||
}
|
||||
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<head>
|
||||
<partial name="Header" />
|
||||
|
||||
<link href="~/main/fonts/Montserrat.css" rel="stylesheet">
|
||||
<link href="~/main/fonts/Montserrat.css" rel="stylesheet" asp-append-version="true">
|
||||
<style>
|
||||
.content-wrapper {
|
||||
padding: 70px 0;
|
||||
|
@ -94,7 +94,7 @@
|
|||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12 col-head">
|
||||
<a asp-controller="Home" asp-action="Index"><img src="~/img/btcpay-logo.svg" alt="BTCPay Server" class="head-logo" /></a>
|
||||
<a asp-controller="Home" asp-action="Index"><img src="~/img/btcpay-logo.svg" alt="BTCPay Server" class="head-logo" asp-append-version="true" /></a>
|
||||
<h1 class="lead-title text-uppercase">Welcome to your BTCPay Server</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -113,7 +113,7 @@
|
|||
<div class="input-group-prepend">
|
||||
<a href="@env.OnionUrl" class="input-group-text">
|
||||
<span class="input-group-addon"></span>
|
||||
<img src="~/img/icons/Onion_Color.svg" height="16" />
|
||||
<img src="~/img/icons/Onion_Color.svg" height="16" asp-append-version="true" />
|
||||
</a>
|
||||
</div>
|
||||
<input class="form-control" onClick="this.select();" type="text" style="font-size:0.75em;" value="@env.OnionUrl" readonly>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
@addTagHelper *, BundlerMinifier.TagHelpers
|
||||
|
||||
<bundle name="wwwroot/bundles/jqueryvalidate-bundle.min.js" />
|
||||
<bundle name="wwwroot/bundles/jqueryvalidate-bundle.min.js" asp-append-version="true" />
|
||||
|
|
|
@ -209,10 +209,10 @@
|
|||
</div>
|
||||
@section Scripts {
|
||||
@await Html.PartialAsync("_ValidationScriptsPartial")
|
||||
<script src="~/js/ledgerwebsocket.js" type="text/javascript" defer="defer"></script>
|
||||
<script src="~/js/StoreAddDerivationScheme.js" type="text/javascript" defer="defer"></script>
|
||||
<script src="~/js/vaultbridge.js" type="text/javascript" defer="defer"></script>
|
||||
<script src="~/js/vaultbridge.ui.js" type="text/javascript" defer="defer"></script>
|
||||
<script src="~/js/ledgerwebsocket.js" type="text/javascript" defer="defer" asp-append-version="true"></script>
|
||||
<script src="~/js/StoreAddDerivationScheme.js" type="text/javascript" defer="defer" asp-append-version="true"></script>
|
||||
<script src="~/js/vaultbridge.js" type="text/javascript" defer="defer" asp-append-version="true"></script>
|
||||
<script src="~/js/vaultbridge.ui.js" type="text/javascript" defer="defer" asp-append-version="true"></script>
|
||||
<script>
|
||||
window.coinName = "@Model.Network.DisplayName.ToLowerInvariant()";
|
||||
</script>
|
||||
|
|
|
@ -254,15 +254,15 @@
|
|||
</div>
|
||||
|
||||
@section HeadScripts {
|
||||
<link rel="stylesheet" href="~/vendor/highlightjs/default.min.css">
|
||||
<script src="~/vendor/highlightjs/highlight.min.js"></script>
|
||||
<link rel="stylesheet" href="~/vendor/highlightjs/default.min.css" asp-append-version="true">
|
||||
<script src="~/vendor/highlightjs/highlight.min.js" asp-append-version="true"></script>
|
||||
|
||||
<script src="~/vendor/vuejs/vue.js"></script>
|
||||
<script src="~/vendor/vuejs-vee-validate/vee-validate.js"></script>
|
||||
<script src="~/vendor/vuejs/vue.js" asp-append-version="true"></script>
|
||||
<script src="~/vendor/vuejs-vee-validate/vee-validate.js" asp-append-version="true"></script>
|
||||
|
||||
<script src="~/vendor/clipboard.js/clipboard.js"></script>
|
||||
<script src="~/vendor/clipboard.js/clipboard.js" asp-append-version="true"></script>
|
||||
|
||||
<script src="~/paybutton/paybutton.js"></script>
|
||||
<script src="~/paybutton/paybutton.js" asp-append-version="true"></script>
|
||||
}
|
||||
|
||||
@section Scripts {
|
||||
|
|
|
@ -78,7 +78,7 @@
|
|||
</ul>
|
||||
</div>
|
||||
|
||||
<script src="~/bundles/wallet-coin-selection-bundle.min.js" type="text/javascript"></script>
|
||||
<script src="~/bundles/wallet-coin-selection-bundle.min.js" type="text/javascript" asp-append-version="true"></script>
|
||||
<script>
|
||||
$(function() {
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
@model WalletSendModel
|
||||
|
||||
<link href="~/vendor/vue-qrcode-reader/vue-qrcode-reader.css" rel="stylesheet"/>
|
||||
<link href="~/vendor/vue-qrcode-reader/vue-qrcode-reader.css" rel="stylesheet" asp-append-version="true" />
|
||||
<div id="wallet-camera-app" v-cloak class="only-for-js">
|
||||
<div class="modal fade" data-backdrop="static" id="scanModal">
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@
|
|||
</div>
|
||||
|
||||
@section Scripts {
|
||||
<link rel="stylesheet" href="~/vendor/highlightjs/default.min.css">
|
||||
<script src="~/vendor/highlightjs/highlight.min.js"></script>
|
||||
<link rel="stylesheet" href="~/vendor/highlightjs/default.min.css" asp-append-version="true">
|
||||
<script src="~/vendor/highlightjs/highlight.min.js" asp-append-version="true"></script>
|
||||
<script>hljs.initHighlightingOnLoad();</script>
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
@section HeadScripts
|
||||
|
||||
{
|
||||
<script src="~/bundles/lightning-node-info-bundle.min.js" type="text/javascript"></script>
|
||||
<script src="~/bundles/lightning-node-info-bundle.min.js" type="text/javascript" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
var srvModel = @Safe.Json(Model);
|
||||
window.onload = function() {
|
||||
|
|
|
@ -212,7 +212,7 @@
|
|||
|
||||
@section HeadScripts
|
||||
{
|
||||
<bundle name="wwwroot/bundles/wallet-send-bundle.min.js"></bundle>
|
||||
<bundle name="wwwroot/bundles/wallet-send-bundle.min.js" asp-append-version="true"></bundle>
|
||||
<style>
|
||||
.remove-destination-btn{
|
||||
font-size: 1.5rem;
|
||||
|
|
|
@ -44,6 +44,6 @@
|
|||
|
||||
@section Scripts
|
||||
{
|
||||
<script src="~/js/ledgerwebsocket.js" type="text/javascript" defer="defer"></script>
|
||||
<script src="~/js/WalletSendLedger.js" type="text/javascript" defer="defer"></script>
|
||||
<script src="~/js/ledgerwebsocket.js" type="text/javascript" defer="defer" asp-append-version="true"></script>
|
||||
<script src="~/js/WalletSendLedger.js" type="text/javascript" defer="defer" asp-append-version="true"></script>
|
||||
}
|
||||
|
|
|
@ -36,8 +36,8 @@
|
|||
<partial name="VaultElements" />
|
||||
@section Scripts
|
||||
{
|
||||
<script src="~/js/vaultbridge.js" type="text/javascript" defer="defer"></script>
|
||||
<script src="~/js/vaultbridge.ui.js" type="text/javascript" defer="defer"></script>
|
||||
<script src="~/js/vaultbridge.js" type="text/javascript" defer="defer" asp-append-version="true"></script>
|
||||
<script src="~/js/vaultbridge.ui.js" type="text/javascript" defer="defer" asp-append-version="true"></script>
|
||||
<script type="text/javascript">
|
||||
async function askSign() {
|
||||
var websocketPath = $("#WebsocketPath").val();
|
||||
|
|
|
@ -19,11 +19,11 @@
|
|||
<script src="bundles/main-bundle.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar sticky-top navbar-dark bg-dark text-white navbar-expand-lg mb-3">
|
||||
<nav id="mainNav" class="navbar navbar-expand-lg sticky-top">
|
||||
<div class="container">
|
||||
<a class="navbar-brand" href="#">Bootstrap 4 Kitchen Sink</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
<svg class="navbar-toggler-icon" viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/></svg>
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
|
|
Loading…
Add table
Reference in a new issue