Always generate vipps url with amount.
Also update vipps component to correctly show vipps and mobile info text in column correctly on mobile.
This commit is contained in:
@@ -1,15 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="page-container">
|
||||||
<div
|
<div class="vipps-container" :class="isMobile ? 'clickable' : null" @click="openVipps">
|
||||||
class="vipps-container"
|
<img src="/public/assets/images/vipps-logo.svg" class="vipps-logo" alt="vipps logo" />
|
||||||
:class="isMobile ? 'clickable' : null"
|
|
||||||
@click="openVipps"
|
|
||||||
>
|
|
||||||
<img
|
|
||||||
src="/public/assets/images/vipps-logo.svg"
|
|
||||||
class="vipps-logo"
|
|
||||||
alt="vipps logo"
|
|
||||||
/>
|
|
||||||
<span v-if="amount * price > price">
|
<span v-if="amount * price > price">
|
||||||
kr.
|
kr.
|
||||||
<span class="big-money">{{ amount * price }},-</span>
|
<span class="big-money">{{ amount * price }},-</span>
|
||||||
@@ -20,11 +12,7 @@
|
|||||||
<span class="big-money">{{ amount * price }},-</span>
|
<span class="big-money">{{ amount * price }},-</span>
|
||||||
pr. lodd
|
pr. lodd
|
||||||
</span>
|
</span>
|
||||||
<ing
|
<ing src="/public/assets/images/vipps-qr.png" class="qr-logo" v-if="qrFailed" />
|
||||||
src="/public/assets/images/vipps-qr.png"
|
|
||||||
class="qr-logo"
|
|
||||||
v-if="qrFailed"
|
|
||||||
/>
|
|
||||||
<canvas v-if="!qrFailed" ref="canvas" class="qr-logo"></canvas>
|
<canvas v-if="!qrFailed" ref="canvas" class="qr-logo"></canvas>
|
||||||
<span class="phone-number">{{ phone }}</span>
|
<span class="phone-number">{{ phone }}</span>
|
||||||
<span class="name">{{ name }}</span>
|
<span class="name">{{ name }}</span>
|
||||||
@@ -72,38 +60,24 @@ export default {
|
|||||||
return this.amount * (this.price * 100);
|
return this.amount * (this.price * 100);
|
||||||
},
|
},
|
||||||
vippsUrlBasedOnUserAgent: function() {
|
vippsUrlBasedOnUserAgent: function() {
|
||||||
if (navigator.userAgent.includes("iPhone")) {
|
|
||||||
return (
|
|
||||||
"https://qr.vipps.no/28/2/01/031/47" +
|
|
||||||
this.phone.replace(/ /g, "") +
|
|
||||||
"?v=1&m=" +
|
|
||||||
this.message +
|
|
||||||
"&a=" +
|
|
||||||
this.priceToPay
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
"https://qr.vipps.no/28/2/01/031/47" +
|
"https://qr.vipps.no/28/2/01/031/47" +
|
||||||
this.phone.replace(/ /g, "") +
|
this.phone.replace(/ /g, "") +
|
||||||
"?v=1&m=" +
|
"?v=1&m=" +
|
||||||
this.message
|
this.message +
|
||||||
|
"&a=" +
|
||||||
|
this.priceToPay
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
calculateQr: function() {
|
calculateQr: function() {
|
||||||
let canvas = this.$refs["canvas"];
|
let canvas = this.$refs["canvas"];
|
||||||
QRCode.toCanvas(
|
QRCode.toCanvas(canvas, this.vippsUrlBasedOnUserAgent, { errorCorrectionLevel: "Q" }, (err, url) => {
|
||||||
canvas,
|
if (err != null) {
|
||||||
this.vippsUrlBasedOnUserAgent,
|
this.qrFailed = true;
|
||||||
{ errorCorrectionLevel: "Q" },
|
|
||||||
(err, url) => {
|
|
||||||
if (err != null) {
|
|
||||||
this.qrFailed = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
);
|
});
|
||||||
|
|
||||||
this.drawLogoOverCanvas(canvas);
|
this.drawLogoOverCanvas(canvas);
|
||||||
},
|
},
|
||||||
@@ -148,8 +122,17 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "../styles/global.scss";
|
@import "@/styles/global.scss";
|
||||||
@import "../styles/media-queries.scss";
|
@import "@/styles/media-queries.scss";
|
||||||
|
|
||||||
|
.page-container {
|
||||||
|
@include mobile {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.vipps-container {
|
.vipps-container {
|
||||||
font-family: Arial;
|
font-family: Arial;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
|
|||||||
Reference in New Issue
Block a user