mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-21 22:11:48 +01:00
Cleanup v2 leftovers
This commit is contained in:
parent
4208110d57
commit
d2e9ec9494
23 changed files with 44 additions and 83 deletions
|
@ -32,7 +32,7 @@
|
|||
<PackageReference Include="Newtonsoft.Json.Schema" Version="3.0.15" />
|
||||
<PackageReference Include="Selenium.Support" Version="4.1.1" />
|
||||
<PackageReference Include="Selenium.WebDriver" Version="4.1.1" />
|
||||
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="121.0.6167.8500" />
|
||||
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="123.0.6312.8600" />
|
||||
<PackageReference Include="xunit" Version="2.6.6" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.6">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
|
|
|
@ -53,9 +53,6 @@ namespace BTCPayServer.Tests
|
|||
// Top up/zero amount invoices
|
||||
var invoiceId = s.CreateInvoice(amount: null);
|
||||
s.GoToInvoiceCheckout(invoiceId);
|
||||
|
||||
// Ensure we are seeing Checkout v2
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
Assert.Equal(2, s.Driver.FindElements(By.CssSelector(".payment-method")).Count);
|
||||
Assert.Contains("Bitcoin", s.Driver.FindElement(By.CssSelector(".payment-method.active")).Text);
|
||||
Assert.Contains("LNURL", s.Driver.FindElement(By.CssSelector(".payment-method:nth-child(2)")).Text);
|
||||
|
@ -92,7 +89,6 @@ namespace BTCPayServer.Tests
|
|||
s.GoToHome();
|
||||
invoiceId = s.CreateInvoice(21000, "SATS", defaultPaymentMethod: "BTC-LN");
|
||||
s.GoToInvoiceCheckout(invoiceId);
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
Assert.Equal(2, s.Driver.FindElements(By.CssSelector(".payment-method")).Count);
|
||||
Assert.Contains("Lightning", s.Driver.WaitForElement(By.CssSelector(".payment-method.active")).Text);
|
||||
Assert.Contains("Bitcoin", s.Driver.WaitForElement(By.CssSelector(".payment-method")).Text);
|
||||
|
@ -113,7 +109,6 @@ namespace BTCPayServer.Tests
|
|||
s.Driver.FindElement(By.Id("save")).Click();
|
||||
Assert.Contains("BTC Lightning settings successfully updated", s.FindAlertMessage().Text);
|
||||
s.GoToInvoiceCheckout(invoiceId);
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
Assert.Contains("sats", s.Driver.FindElement(By.Id("AmountDue")).Text);
|
||||
|
||||
// Details should not show exchange rate
|
||||
|
@ -152,8 +147,6 @@ namespace BTCPayServer.Tests
|
|||
s.GoToHome();
|
||||
invoiceId = s.CreateInvoice(2100, "EUR");
|
||||
s.GoToInvoiceCheckout(invoiceId);
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
|
||||
await Task.Delay(200);
|
||||
address = s.Driver.FindElement(By.CssSelector("#Address_BTC-CHAIN .truncate-center-start")).Text;
|
||||
var amountFraction = "0.00001";
|
||||
|
@ -190,7 +183,6 @@ namespace BTCPayServer.Tests
|
|||
s.GoToHome();
|
||||
invoiceId = s.CreateInvoice();
|
||||
s.GoToInvoiceCheckout(invoiceId);
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
|
||||
// Details
|
||||
s.Driver.ToggleCollapse("PaymentDetails");
|
||||
|
@ -265,7 +257,6 @@ namespace BTCPayServer.Tests
|
|||
|
||||
invoiceId = s.CreateInvoice();
|
||||
s.GoToInvoiceCheckout(invoiceId);
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
Assert.Empty(s.Driver.FindElements(By.CssSelector(".payment-method")));
|
||||
Assert.Contains("BTC", s.Driver.FindElement(By.Id("AmountDue")).Text);
|
||||
qrValue = s.Driver.FindElement(By.CssSelector(".qr-container")).GetAttribute("data-qr-value");
|
||||
|
@ -298,7 +289,6 @@ namespace BTCPayServer.Tests
|
|||
s.Driver.FindElement(By.Id("Save")).Click();
|
||||
Assert.Contains("Store successfully updated", s.FindAlertMessage().Text);
|
||||
s.GoToInvoiceCheckout(invoiceId);
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
Assert.Contains("sats", s.Driver.FindElement(By.Id("AmountDue")).Text);
|
||||
|
||||
// Check details
|
||||
|
@ -313,7 +303,6 @@ namespace BTCPayServer.Tests
|
|||
s.GoToHome();
|
||||
invoiceId = s.CreateInvoice(defaultPaymentMethod: "BTC-LN");
|
||||
s.GoToInvoiceCheckout(invoiceId);
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
Assert.Empty(s.Driver.FindElements(By.CssSelector(".payment-method")));
|
||||
payUrl = s.Driver.FindElement(By.Id("PayInWallet")).GetAttribute("href");
|
||||
Assert.StartsWith("bitcoin:", payUrl);
|
||||
|
@ -335,7 +324,6 @@ namespace BTCPayServer.Tests
|
|||
// BIP21 with top-up invoice
|
||||
invoiceId = s.CreateInvoice(amount: null);
|
||||
s.GoToInvoiceCheckout(invoiceId);
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
Assert.Empty(s.Driver.FindElements(By.CssSelector(".payment-method")));
|
||||
qrValue = s.Driver.FindElement(By.CssSelector(".qr-container")).GetAttribute("data-qr-value");
|
||||
clipboard = s.Driver.FindElement(By.CssSelector(".qr-container")).GetAttribute("data-clipboard");
|
||||
|
@ -385,7 +373,6 @@ namespace BTCPayServer.Tests
|
|||
Assert.Contains("Store successfully updated", s.FindAlertMessage().Text);
|
||||
|
||||
s.GoToInvoiceCheckout(invoiceId);
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
var paymentInfo = s.Driver.FindElement(By.Id("PaymentInfo"));
|
||||
Assert.False(paymentInfo.Displayed);
|
||||
Assert.DoesNotContain("This invoice will expire in", paymentInfo.Text);
|
||||
|
@ -416,7 +403,6 @@ namespace BTCPayServer.Tests
|
|||
s.GoToHome();
|
||||
invoiceId = s.CreateInvoice(defaultPaymentMethod: "BTC-LN");
|
||||
s.GoToInvoiceCheckout(invoiceId);
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
Assert.Empty(s.Driver.FindElements(By.CssSelector(".payment-method")));
|
||||
payUrl = s.Driver.FindElement(By.Id("PayInWallet")).GetAttribute("href");
|
||||
Assert.StartsWith("bitcoin:", payUrl);
|
||||
|
@ -459,7 +445,7 @@ namespace BTCPayServer.Tests
|
|||
var frameElement = s.Driver.FindElement(By.Name("btcpay"));
|
||||
Assert.True(frameElement.Displayed);
|
||||
var iframe = s.Driver.SwitchTo().Frame(frameElement);
|
||||
iframe.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
iframe.WaitUntilAvailable(By.Id("Checkout"));
|
||||
|
||||
await s.Server.ExplorerNode.SendToAddressAsync(BitcoinAddress.Create(invoice
|
||||
.GetPaymentPrompt(PaymentTypes.CHAIN.GetPaymentMethodId("BTC"))
|
||||
|
|
|
@ -468,6 +468,7 @@ retry:
|
|||
Driver.FindElement(By.Id("StoreNav-Invoices")).Click();
|
||||
Driver.FindElement(By.Id($"invoice-checkout-{invoiceId}")).Click();
|
||||
CheckForJSErrors();
|
||||
Driver.WaitUntilAvailable(By.Id("Checkout"));
|
||||
}
|
||||
|
||||
public void GoToInvoice(string id)
|
||||
|
|
|
@ -1301,7 +1301,7 @@ namespace BTCPayServer.Tests
|
|||
var frameElement = s.Driver.FindElement(By.Name("btcpay"));
|
||||
Assert.True(frameElement.Displayed);
|
||||
var iframe = s.Driver.SwitchTo().Frame(frameElement);
|
||||
iframe.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
iframe.WaitUntilAvailable(By.Id("Checkout"));
|
||||
|
||||
var closeButton = iframe.FindElement(By.Id("close"));
|
||||
Assert.True(closeButton.Displayed);
|
||||
|
@ -1456,7 +1456,7 @@ namespace BTCPayServer.Tests
|
|||
var frameElement = s.Driver.FindElement(By.Name("btcpay"));
|
||||
Assert.True(frameElement.Displayed);
|
||||
var iframe = s.Driver.SwitchTo().Frame(frameElement);
|
||||
iframe.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
iframe.WaitUntilAvailable(By.Id("Checkout"));
|
||||
|
||||
IWebElement closebutton = null;
|
||||
TestUtils.Eventually(() =>
|
||||
|
@ -1498,7 +1498,7 @@ namespace BTCPayServer.Tests
|
|||
var frameElement = s.Driver.FindElement(By.Name("btcpay"));
|
||||
Assert.True(frameElement.Displayed);
|
||||
var iframe = s.Driver.SwitchTo().Frame(frameElement);
|
||||
iframe.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
iframe.WaitUntilAvailable(By.Id("Checkout"));
|
||||
|
||||
// Pay full amount
|
||||
s.PayInvoice();
|
||||
|
@ -2607,7 +2607,7 @@ namespace BTCPayServer.Tests
|
|||
|
||||
// Pay
|
||||
s.Driver.FindElement(By.Id("pay-button")).Click();
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout"));
|
||||
s.Driver.FindElement(By.Id("DetailsToggle")).Click();
|
||||
s.Driver.WaitForElement(By.Id("PaymentDetails-TotalFiat"));
|
||||
Assert.Contains("1 222,21 €", s.Driver.FindElement(By.Id("PaymentDetails-TotalFiat")).Text);
|
||||
|
@ -2662,7 +2662,7 @@ namespace BTCPayServer.Tests
|
|||
|
||||
// Pay
|
||||
s.Driver.FindElement(By.Id("pay-button")).Click();
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout"));
|
||||
s.Driver.FindElement(By.Id("DetailsToggle")).Click();
|
||||
s.Driver.WaitForElement(By.Id("PaymentDetails-TotalFiat"));
|
||||
Assert.Contains("4,23 €", s.Driver.FindElement(By.Id("PaymentDetails-TotalFiat")).Text);
|
||||
|
@ -2822,7 +2822,7 @@ namespace BTCPayServer.Tests
|
|||
|
||||
// Check values on checkout page
|
||||
s.Driver.FindElement(By.Id("CartSubmit")).Click();
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout-v2"));
|
||||
s.Driver.WaitUntilAvailable(By.Id("Checkout"));
|
||||
s.Driver.FindElement(By.Id("DetailsToggle")).Click();
|
||||
s.Driver.WaitForElement(By.Id("PaymentDetails-TotalFiat"));
|
||||
Assert.Contains("9,90 €", s.Driver.FindElement(By.Id("PaymentDetails-TotalFiat")).Text);
|
||||
|
|
|
@ -522,15 +522,7 @@ retry:
|
|||
{
|
||||
var fullPath = Path.Combine(GetFolder(folder), $"{lang}.json");
|
||||
var proj = "o:btcpayserver:p:btcpayserver";
|
||||
string resource;
|
||||
if (folder == TranslationFolder.CheckoutV1)
|
||||
{
|
||||
resource = $"{proj}:r:enjson";
|
||||
}
|
||||
else // file == v2
|
||||
{
|
||||
resource = $"{proj}:r:checkout-v2";
|
||||
}
|
||||
var resource = $"{proj}:r:checkout-v2";
|
||||
var words = new Dictionary<string, string>();
|
||||
if (File.Exists(fullPath))
|
||||
{
|
||||
|
|
|
@ -108,9 +108,7 @@ namespace BTCPayServer.Controllers
|
|||
public IActionResult GetTranslations(string resource, string lang)
|
||||
{
|
||||
string path;
|
||||
if (resource == "checkout-v1")
|
||||
path = "locales";
|
||||
else if (resource == "checkout-v2")
|
||||
if (resource.StartsWith("checkout"))
|
||||
path = "locales/checkout";
|
||||
else
|
||||
return NotFound();
|
||||
|
|
|
@ -686,7 +686,8 @@ namespace BTCPayServer.Controllers
|
|||
|
||||
if (view == "modal")
|
||||
model.IsModal = true;
|
||||
return View("CheckoutV2", model);
|
||||
|
||||
return View(model);
|
||||
}
|
||||
|
||||
[HttpGet("invoice-noscript")]
|
||||
|
@ -963,10 +964,10 @@ namespace BTCPayServer.Controllers
|
|||
if (storeBlob.PlaySoundOnPayment)
|
||||
{
|
||||
model.PaymentSoundUrl = string.IsNullOrEmpty(storeBlob.SoundFileId)
|
||||
? string.Concat(Request.GetAbsoluteRootUri().ToString(), "checkout-v2/payment.mp3")
|
||||
? string.Concat(Request.GetAbsoluteRootUri().ToString(), "checkout/payment.mp3")
|
||||
: await _fileService.GetFileUrl(Request.GetAbsoluteRootUri(), storeBlob.SoundFileId);
|
||||
model.ErrorSoundUrl = string.Concat(Request.GetAbsoluteRootUri().ToString(), "checkout-v2/error.mp3");
|
||||
model.NfcReadSoundUrl = string.Concat(Request.GetAbsoluteRootUri().ToString(), "checkout-v2/nfcread.mp3");
|
||||
model.ErrorSoundUrl = string.Concat(Request.GetAbsoluteRootUri().ToString(), "checkout/error.mp3");
|
||||
model.NfcReadSoundUrl = string.Concat(Request.GetAbsoluteRootUri().ToString(), "checkout/nfcread.mp3");
|
||||
}
|
||||
|
||||
var expiration = TimeSpan.FromSeconds(model.ExpirationSeconds);
|
||||
|
|
|
@ -10,7 +10,7 @@ namespace BTCPayServer.Payments.Bitcoin
|
|||
|
||||
public void RegisterViews(PaymentMethodViewContext context)
|
||||
{
|
||||
context.RegisterCheckoutUI(new CheckoutUIPaymentMethodSettings()
|
||||
context.RegisterCheckoutUI(new CheckoutUIPaymentMethodSettings
|
||||
{
|
||||
ExtensionPartial = "Bitcoin/BitcoinLikeMethodCheckout",
|
||||
CheckoutBodyVueComponentName = "BitcoinLikeMethodCheckout",
|
||||
|
|
|
@ -15,14 +15,12 @@ namespace BTCPayServer.Plugins.NFC
|
|||
|
||||
public override void Execute(IServiceCollection applicationBuilder)
|
||||
{
|
||||
applicationBuilder.AddSingleton<IUIExtension>(new UIExtension("NFC/CheckoutEnd",
|
||||
"checkout-end"));
|
||||
applicationBuilder.AddSingleton<IUIExtension>(new UIExtension("NFC/LNURLNFCPostContent",
|
||||
"checkout-lightning-post-content"));
|
||||
applicationBuilder.AddSingleton<IUIExtension>(new UIExtension("NFC/CheckoutEnd",
|
||||
"checkout-v2-end"));
|
||||
applicationBuilder.AddSingleton<IUIExtension>(new UIExtension("NFC/LNURLNFCPostContent-v2",
|
||||
"checkout-v2-lightning-post-content"));
|
||||
applicationBuilder.AddSingleton<IUIExtension>(new UIExtension("NFC/LNURLNFCPostContent-v2",
|
||||
"checkout-v2-bitcoin-post-content"));
|
||||
applicationBuilder.AddSingleton<IUIExtension>(new UIExtension("NFC/LNURLNFCPostContent",
|
||||
"checkout-bitcoin-post-content"));
|
||||
base.Execute(applicationBuilder);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -111,7 +111,7 @@ namespace BTCPayServer.Services.Altcoins.Monero.Payments
|
|||
|
||||
public CheckoutUIPaymentMethodSettings GetCheckoutUISettings()
|
||||
{
|
||||
return new CheckoutUIPaymentMethodSettings()
|
||||
return new CheckoutUIPaymentMethodSettings
|
||||
{
|
||||
ExtensionPartial = "Bitcoin/BitcoinLikeMethodCheckout",
|
||||
CheckoutBodyVueComponentName = "BitcoinLikeMethodCheckout",
|
||||
|
|
|
@ -105,7 +105,7 @@ namespace BTCPayServer.Services.Altcoins.Zcash.Payments
|
|||
|
||||
public CheckoutUIPaymentMethodSettings GetCheckoutUISettings()
|
||||
{
|
||||
return new CheckoutUIPaymentMethodSettings()
|
||||
return new CheckoutUIPaymentMethodSettings
|
||||
{
|
||||
ExtensionPartial = "Bitcoin/BitcoinLikeMethodCheckout",
|
||||
CheckoutBodyVueComponentName = "BitcoinLikeMethodCheckout",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
@model BTCPayServer.Models.InvoicingModels.PaymentModel
|
||||
|
||||
<template id="bitcoin-method-checkout-template">
|
||||
@await Component.InvokeAsync("UiExtensionPoint", new {location = "checkout-v2-bitcoin-pre-content", model = Model})
|
||||
@await Component.InvokeAsync("UiExtensionPoint", new {location = "checkout-bitcoin-pre-content", model = Model})
|
||||
<div class="payment-box">
|
||||
<div v-if="model.invoiceBitcoinUrlQR" class="qr-container" :data-qr-value="model.invoiceBitcoinUrlQR" :data-clipboard="model.invoiceBitcoinUrl" data-clipboard-confirm-element="#Address_@Model.PaymentMethodId [data-clipboard]">
|
||||
<div>
|
||||
|
@ -26,7 +26,7 @@
|
|||
</div>
|
||||
<a v-if="model.invoiceBitcoinUrl && model.showPayInWalletButton" class="btn btn-primary rounded-pill w-100 mt-4" id="PayInWallet" target="_blank"
|
||||
:href="model.invoiceBitcoinUrl" :title="$t(hasPayjoin ? 'BIP21 payment link with PayJoin support' : 'BIP21 payment link')" v-t="'pay_in_wallet'"></a>
|
||||
@await Component.InvokeAsync("UiExtensionPoint", new {location = "checkout-v2-bitcoin-post-content", model = Model})
|
||||
@await Component.InvokeAsync("UiExtensionPoint", new {location = "checkout-bitcoin-post-content", model = Model})
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<template id="lightning-method-checkout-template">
|
||||
<div class="payment-box">
|
||||
@await Component.InvokeAsync("UiExtensionPoint" , new { location="checkout-v2-lightning-pre-content", model = Model})
|
||||
@await Component.InvokeAsync("UiExtensionPoint" , new { location="checkout-lightning-pre-content", model = Model})
|
||||
<div v-if="model.invoiceBitcoinUrlQR" class="qr-container" :data-qr-value="model.invoiceBitcoinUrlQR" :data-clipboard="model.invoiceBitcoinUrl" data-clipboard-confirm-element="#Lightning_@Model.PaymentMethodId [data-clipboard]">
|
||||
<div>
|
||||
<qrcode :value="model.invoiceBitcoinUrlQR" tag="div" :options="qrOptions" />
|
||||
|
@ -18,7 +18,7 @@
|
|||
<a v-if="model.invoiceBitcoinUrl && model.showPayInWalletButton" class="btn btn-primary rounded-pill w-100 mt-4" id="PayInWallet" target="_blank"
|
||||
:href="model.invoiceBitcoinUrl" v-t="'pay_in_wallet'"></a>
|
||||
<div v-if="!model.invoiceBitcoinUrl && !model.btcAddress" class="alert alert-danger">This payment method is not available when using an insecure connection. Please use HTTPS or Tor.</div>
|
||||
@await Component.InvokeAsync("UiExtensionPoint", new {location = "checkout-v2-lightning-post-content", model = Model})
|
||||
@await Component.InvokeAsync("UiExtensionPoint", new {location = "checkout-lightning-post-content", model = Model})
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -1,21 +1,8 @@
|
|||
<template id="lnurl-withdraw-template">
|
||||
<div v-if="display" class="mt-4" id="NFC">
|
||||
<div v-if="nfcErrorMessage" class="alert alert-danger" v-text="nfcErrorMessage"></div>
|
||||
<template v-if="isV2">
|
||||
<button class="btn btn-secondary rounded-pill w-100" type="button" id="PayByNFC"
|
||||
:disabled="nfcScanning || submitting" v-on:click="handleClick">{{btnText}}</button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<bp-loading-button>
|
||||
<button class="action-button" style="margin: 0 45px;width:calc(100% - 90px) !important" :disabled="nfcScanning || submitting" v-on:click="handleClick" id="PayByNFC"
|
||||
:class="{ 'action-button': nfcSupported, 'btn btn-text w-100': !nfcSupported }">
|
||||
<span class="button-text">{{btnText}}</span>
|
||||
<div class="loader-wrapper">
|
||||
@await Html.PartialAsync("~/Views/UIInvoice/Checkout-Spinner.cshtml")
|
||||
</div>
|
||||
</button>
|
||||
</bp-loading-button>
|
||||
</template>
|
||||
<button class="btn btn-secondary rounded-pill w-100" type="button" id="PayByNFC"
|
||||
:disabled="nfcScanning || submitting" v-on:click="handleClick">{{btnText}}</button>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
@ -23,7 +10,6 @@ Vue.component("lnurl-withdraw-checkout", {
|
|||
template: "#lnurl-withdraw-template",
|
||||
props: {
|
||||
model: Object,
|
||||
isV2: Boolean,
|
||||
nfcSupported: Boolean,
|
||||
nfcScanning: Boolean,
|
||||
nfcErrorMessage: String
|
||||
|
@ -54,14 +40,14 @@ Vue.component("lnurl-withdraw-checkout", {
|
|||
btnText () {
|
||||
if (this.nfcSupported) {
|
||||
if (this.submitting) {
|
||||
return this.isV2 ? this.$t('submitting_nfc') : 'Submitting NFC …'
|
||||
return this.$t('submitting_nfc')
|
||||
} else if (this.nfcScanning) {
|
||||
return this.isV2 ? this.$t('scanning_nfc') : 'Scanning NFC …'
|
||||
return this.$t('scanning_nfc')
|
||||
} else {
|
||||
return this.isV2 ? this.$t('pay_by_nfc') : 'Pay by NFC'
|
||||
return this.$t('pay_by_nfc')
|
||||
}
|
||||
} else {
|
||||
return this.isV2 ? this.$t('pay_by_lnurl') : 'Pay by LNURL-Withdraw'
|
||||
return this.$t('pay_by_lnurl')
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
<lnurl-withdraw-checkout :model="model" :is-v2="true" :nfc-supported="nfcSupported" :nfc-scanning="nfcScanning" :nfc-error-message="nfcErrorMessage" v-on="$listeners" />
|
|
@ -1 +1 @@
|
|||
<lnurl-withdraw-checkout :model="srvModel" :nfc-supported="nfcSupported" :nfc-scanning="nfcScanning" :nfc-error-message="nfcErrorMessage" v-on="$listeners" />
|
||||
<lnurl-withdraw-checkout :model="model" :nfc-supported="nfcSupported" :nfc-scanning="nfcScanning" :nfc-error-message="nfcErrorMessage" v-on="$listeners" />
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<head>
|
||||
<partial name="LayoutHead"/>
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
<link href="~/checkout-v2/checkout.css" asp-append-version="true" rel="stylesheet" />
|
||||
<link href="~/checkout/checkout.css" asp-append-version="true" rel="stylesheet" />
|
||||
@if (!string.IsNullOrEmpty(Model.PaymentSoundUrl))
|
||||
{
|
||||
<link rel="preload" href="@Model.PaymentSoundUrl" as="audio" />
|
||||
|
@ -40,7 +40,7 @@
|
|||
}
|
||||
</head>
|
||||
<body class="min-vh-100">
|
||||
<div id="Checkout-v2" class="public-page-wrap" v-cloak>
|
||||
<div id="Checkout" class="public-page-wrap" v-cloak>
|
||||
@if (Model.ShowStoreHeader)
|
||||
{
|
||||
<partial name="_StoreHeader" model="(Model.StoreName, Model.StoreBranding)" />
|
||||
|
@ -291,7 +291,7 @@
|
|||
</dl>
|
||||
</script>
|
||||
<script>
|
||||
const i18nUrl = @Safe.Json($"{Model.RootPath}misc/translations/checkout-v2/{{{{lng}}}}?v={Env.Version}");
|
||||
const i18nUrl = @Safe.Json($"{Model.RootPath}misc/translations/checkout/{{{{lng}}}}?v={Env.Version}");
|
||||
const statusUrl = @Safe.Json(Url.Action("GetStatus", new { invoiceId = Model.InvoiceId }));
|
||||
const statusWsUrl = @Safe.Json(Url.Action("GetStatusWebSocket", new { invoiceId = Model.InvoiceId }));
|
||||
const availableLanguages = @Safe.Json(LangService.GetLanguages().Select(language => language.Code));
|
||||
|
@ -311,16 +311,16 @@
|
|||
<script src="~/js/copy-to-clipboard.js" asp-append-version="true"></script>
|
||||
<script src="~/js/vue-utils.js" asp-append-version="true"></script>
|
||||
<script src="~/main/utils.js" asp-append-version="true"></script>
|
||||
<script src="~/checkout-v2/checkout.js" asp-append-version="true"></script>
|
||||
<script src="~/checkout/checkout.js" asp-append-version="true"></script>
|
||||
@if (Env.CheatMode)
|
||||
{
|
||||
<partial name="Checkout-Cheating" model="@Model" />
|
||||
}
|
||||
@foreach (var extensionPartial in Model.ExtensionPartials)
|
||||
{
|
||||
<partial name="@extensionPartial-v2" model="@Model" />
|
||||
<partial name="@extensionPartial" model="@Model" />
|
||||
}
|
||||
@await Component.InvokeAsync("UiExtensionPoint", new { location = "checkout-payment", model = Model })
|
||||
@await Component.InvokeAsync("UiExtensionPoint", new { location = "checkout-v2-end", model = Model })
|
||||
@await Component.InvokeAsync("UiExtensionPoint", new { location = "checkout-end", model = Model })
|
||||
</body>
|
||||
</html>
|
|
@ -156,7 +156,7 @@
|
|||
<input asp-for="SoundFile" type="file" class="form-control flex-grow">
|
||||
@{
|
||||
var soundUrl = string.IsNullOrEmpty(Model.SoundFileId)
|
||||
? string.Concat(Context.Request.GetAbsoluteRootUri().ToString(), "checkout-v2/payment.mp3")
|
||||
? string.Concat(Context.Request.GetAbsoluteRootUri().ToString(), "checkout/payment.mp3")
|
||||
: await FileService.GetFileUrl(Context.Request.GetAbsoluteRootUri(), Model.SoundFileId);
|
||||
}
|
||||
<audio controls src="@soundUrl" style="height:2.1rem;max-width:10.5rem;"></audio>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#Checkout-v2 {
|
||||
#Checkout {
|
||||
--wrap-max-width: 400px;
|
||||
}
|
||||
body {
|
||||
|
@ -178,7 +178,7 @@ section dl > div dd {
|
|||
|
||||
@media (max-width: 400px) {
|
||||
/* Pull it up if there's no store header */
|
||||
#Checkout-v2 > main.tile:first-child {
|
||||
#Checkout > main.tile:first-child {
|
||||
margin-top: calc(var(--wrap-padding-vertical) * -1);
|
||||
}
|
||||
}
|
|
@ -77,7 +77,7 @@ const PaymentDetails = {
|
|||
function initApp() {
|
||||
return new Vue({
|
||||
i18n,
|
||||
el: '#Checkout-v2',
|
||||
el: '#Checkout',
|
||||
components: {
|
||||
'payment-details': PaymentDetails,
|
||||
},
|
Loading…
Add table
Reference in a new issue