Merge pull request #78 from KevinMidboe/fix/vipps-qr
Always generate vipps url with amount.
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