Skip to content
Snippets Groups Projects
generateQrCode.js 15.8 KiB
Newer Older
  • Learn to ignore specific revisions
  • import QRCode from "../lib/easy.qrcode";
    
    const logoContentURI = "data:image/png;base64,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";
    
    export default async (content, width = 160, height = 160, logoWidth = 80, logoHeight = 80) => {
      const qrCodeContainer = document.createElement("div");
    
      new QRCode(qrCodeContainer, {
        text: content,
        width,
        height,
        quietZone: 0,
        colorDark: "#000000",
        colorLight: "#ffffff",
    
        dotScale: 1,
    
    
        PO: "#d51d32",
        PI: "#d51d32",
        //PI: '#f55066',
    
        logo: logoContentURI,
        logoBackgroundTransparent: true,
        logoWidth,
        logoHeight,
    
        correctLevel: QRCode.CorrectLevel.H // L, M, Q, H
      });
    
      const image = qrCodeContainer.getElementsByTagName("img")[0];
    
      return new Promise(resolve => {
        image.onload = () => {
          resolve(image.getAttribute("src"));
        };
      });
    };