From bee132a1f142dc6ea795fbc0461ab3950a82323a Mon Sep 17 00:00:00 2001
From: Tamara Carina Steinwender <tamara.steinwender@student.tugraz.at>
Date: Tue, 20 Oct 2020 13:18:59 +0200
Subject: [PATCH] Fix scroll to problem in QR code scanner

---
 packages/qr-code-scanner/src/qr-code-scanner.js | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/packages/qr-code-scanner/src/qr-code-scanner.js b/packages/qr-code-scanner/src/qr-code-scanner.js
index bf693a17..50bf1a1b 100644
--- a/packages/qr-code-scanner/src/qr-code-scanner.js
+++ b/packages/qr-code-scanner/src/qr-code-scanner.js
@@ -186,6 +186,7 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
         let outputMessage = this._("#outputMessage");
         let outputData = this._("#outputData");
         let qrContainer = this._("#qr");
+        let scroll = false;
 
         let color = this.scanIsOk ? getComputedStyle(this)
                 .getPropertyValue('--dbp-success-bg-color') : getComputedStyle(this)
@@ -362,7 +363,10 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
                     outputData.parentElement.hidden = true;
                 }
             }
-            qrContainer.scrollIntoView({ behavior: 'smooth', block: 'start' });
+            if (video.readyState === video.HAVE_ENOUGH_DATA && !scroll) {
+                qrContainer.scrollIntoView({ behavior: 'smooth', block: 'start' });
+                scroll = true;
+            }
             requestAnimationFrame(tick);
         }
     }
@@ -420,6 +424,7 @@ export class QrCodeScanner extends ScopedElementsMixin(DBPLitElement) {
             #canvas {
                 width: 100%;
                 margin-top: 2rem;
+                max-height: 100%;
             }
         
             #output {
-- 
GitLab