mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-21 22:11:48 +01:00
New QR Code component, fixes scanning of long lightning invoices
This commit is contained in:
parent
7dad814f19
commit
e96d34f741
10 changed files with 10433 additions and 1520 deletions
|
@ -206,7 +206,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="payment__scan">
|
<div class="payment__scan">
|
||||||
<img v-bind:src="srvModel.cryptoImage" class="qr_currency_icon" />
|
<img v-bind:src="srvModel.cryptoImage" class="qr_currency_icon" />
|
||||||
<qrcode v-bind:val="scanDisplayQr" v-bind:size="256" bg-color="#f5f5f7" fg-color="#000">
|
<qrcode v-bind:value="scanDisplayQr" :options="{ width: 256, margin: 0, color: {dark:'#000', light:'#f5f5f7'} }">
|
||||||
</qrcode>
|
</qrcode>
|
||||||
</div>
|
</div>
|
||||||
<div class="payment__details__instruction__open-wallet">
|
<div class="payment__details__instruction__open-wallet">
|
||||||
|
|
|
@ -82,15 +82,15 @@
|
||||||
@* Not working because of nsSeparator: false, keySeparator: false,
|
@* Not working because of nsSeparator: false, keySeparator: false,
|
||||||
{{$t("nested.lang")}} >>
|
{{$t("nested.lang")}} >>
|
||||||
*@
|
*@
|
||||||
|
|
||||||
<select asp-for="DefaultLang"
|
<select asp-for="DefaultLang"
|
||||||
class="cmblang reverse invisible"
|
class="cmblang reverse invisible"
|
||||||
onchange="changeLanguage($(this).val())"
|
onchange="changeLanguage($(this).val())"
|
||||||
asp-items="@langService.GetLanguages().Select((language) => new SelectListItem(language.DisplayName,language.Code, false))"></select>
|
asp-items="@langService.GetLanguages().Select((language) => new SelectListItem(language.DisplayName,language.Code, false))"></select>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var languageSelectorPrettyDropdown;
|
var languageSelectorPrettyDropdown;
|
||||||
$(function() {
|
$(function () {
|
||||||
// REVIEW: don't use initDropdown method but rather directly initialize select whenever you are using it
|
// REVIEW: don't use initDropdown method but rather directly initialize select whenever you are using it
|
||||||
$("#DefaultLang").val(startingLanguage);
|
$("#DefaultLang").val(startingLanguage);
|
||||||
languageSelectorPrettyDropdown = initDropdown("#DefaultLang");
|
languageSelectorPrettyDropdown = initDropdown("#DefaultLang");
|
||||||
|
@ -113,11 +113,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</invoice>
|
</invoice>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var availableLanguages = @Html.Raw(Json.Serialize(
|
var availableLanguages = @Html.Raw(Json.Serialize(langService.GetLanguages().Select((language) => language.Code)));;
|
||||||
langService
|
|
||||||
.GetLanguages()
|
|
||||||
.Select((language) => language.Code)));;
|
|
||||||
var storeDefaultLang = "@Model.DefaultLang";
|
var storeDefaultLang = "@Model.DefaultLang";
|
||||||
var fallbackLanguage = "en";
|
var fallbackLanguage = "en";
|
||||||
startingLanguage = computeStartingLanguage();
|
startingLanguage = computeStartingLanguage();
|
||||||
|
@ -133,7 +130,7 @@
|
||||||
nsSeparator: false,
|
nsSeparator: false,
|
||||||
keySeparator: false
|
keySeparator: false
|
||||||
});
|
});
|
||||||
|
|
||||||
function computeStartingLanguage() {
|
function computeStartingLanguage() {
|
||||||
if (urlParams.lang && isLanguageAvailable(urlParams.lang)) {
|
if (urlParams.lang && isLanguageAvailable(urlParams.lang)) {
|
||||||
return urlParams.lang;
|
return urlParams.lang;
|
||||||
|
@ -150,11 +147,11 @@
|
||||||
i18next.changeLanguage(lang);
|
i18next.changeLanguage(lang);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function isLanguageAvailable(languageCode) {
|
function isLanguageAvailable(languageCode) {
|
||||||
return availableLanguages.indexOf(languageCode) >= 0;
|
return availableLanguages.indexOf(languageCode) >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const i18n = new VueI18next(i18next);
|
const i18n = new VueI18next(i18next);
|
||||||
|
|
||||||
// TODO: Move all logic from core.js to Vue controller
|
// TODO: Move all logic from core.js to Vue controller
|
||||||
|
@ -169,7 +166,7 @@
|
||||||
i18n: i18n,
|
i18n: i18n,
|
||||||
el: '#checkoutCtrl',
|
el: '#checkoutCtrl',
|
||||||
components: {
|
components: {
|
||||||
qrcode: VueQr,
|
qrcode: VueQrcode,
|
||||||
changelly: ChangellyComponent,
|
changelly: ChangellyComponent,
|
||||||
coinswitch: CoinSwitchComponent
|
coinswitch: CoinSwitchComponent
|
||||||
},
|
},
|
||||||
|
@ -182,6 +179,6 @@
|
||||||
selectedThirdPartyProcessor: ""
|
selectedThirdPartyProcessor: ""
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
"wwwroot/vendor/clipboard.js/clipboard.js",
|
"wwwroot/vendor/clipboard.js/clipboard.js",
|
||||||
"wwwroot/vendor/jquery/jquery.js",
|
"wwwroot/vendor/jquery/jquery.js",
|
||||||
"wwwroot/vendor/vuejs/vue.min.js",
|
"wwwroot/vendor/vuejs/vue.min.js",
|
||||||
"wwwroot/vendor/vuejs/vue-qrcode.js",
|
"wwwroot/vendor/vue-qrcode/vue-qrcode.js",
|
||||||
"wwwroot/vendor/i18next/i18next.js",
|
"wwwroot/vendor/i18next/i18next.js",
|
||||||
"wwwroot/vendor/i18next/i18nextXHRBackend.js",
|
"wwwroot/vendor/i18next/i18nextXHRBackend.js",
|
||||||
"wwwroot/vendor/i18next/vue-i18next.js",
|
"wwwroot/vendor/i18next/vue-i18next.js",
|
||||||
|
|
3468
BTCPayServer/wwwroot/vendor/vue-qrcode/vue-qrcode.common.js
vendored
Normal file
3468
BTCPayServer/wwwroot/vendor/vue-qrcode/vue-qrcode.common.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
3466
BTCPayServer/wwwroot/vendor/vue-qrcode/vue-qrcode.esm.js
vendored
Normal file
3466
BTCPayServer/wwwroot/vendor/vue-qrcode/vue-qrcode.esm.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
3474
BTCPayServer/wwwroot/vendor/vue-qrcode/vue-qrcode.js
vendored
Normal file
3474
BTCPayServer/wwwroot/vendor/vue-qrcode/vue-qrcode.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
10
BTCPayServer/wwwroot/vendor/vue-qrcode/vue-qrcode.min.js
vendored
Normal file
10
BTCPayServer/wwwroot/vendor/vue-qrcode/vue-qrcode.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1492
BTCPayServer/wwwroot/vendor/vuejs/vue-qrcode.js
vendored
1492
BTCPayServer/wwwroot/vendor/vuejs/vue-qrcode.js
vendored
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue