mirror of https://github.com/lxndrblz/anatole.git

google-labs-jules[bot]
3 days ago 1506ae8e7904420d93f0a26e6931c6e3d06fcb49
perf: replace setInterval with load event listener in medium-zoom

Co-authored-by: KarelZe <12801659+KarelZe@users.noreply.github.com>
3 files modified
86 ■■■■■ changed files
assets/js/medium-zoom.js 18 ●●●●● patch | view | raw | blame | history
package-lock.json 67 ●●●●● patch | view | raw | blame | history
package.json 1 ●●●●● patch | view | raw | blame | history
assets/js/medium-zoom.js
@@ -355,24 +355,28 @@
          active.zoomedHd.removeAttribute('sizes');
          active.zoomedHd.src = active.zoomed.getAttribute('data-zoom-src');
          active.zoomedHd.onerror = function () {
            clearInterval(getZoomTargetSize);
            console.warn('Unable to reach the zoom image target ' + active.zoomedHd.src);
            active.zoomedHd = null;
            _animate();
          };
          var getZoomTargetSize = setInterval(function () {
            if (active.zoomedHd.complete) {
              clearInterval(getZoomTargetSize);
          if (active.zoomedHd.complete) {
            active.zoomedHd.classList.add('medium-zoom-image--opened');
            active.zoomedHd.addEventListener('click', close);
            document.body.appendChild(active.zoomedHd);
            _animate();
          } else {
            active.zoomedHd.addEventListener('load', function loadEventListener() {
              active.zoomedHd.removeEventListener('load', loadEventListener);
              active.zoomedHd.classList.add('medium-zoom-image--opened');
              active.zoomedHd.addEventListener('click', close);
              document.body.appendChild(active.zoomedHd);
              _animate();
            }
          }, 10);
            });
          }
        } else if (active.original.hasAttribute('srcset')) {
          active.zoomedHd = active.zoomed.cloneNode();
          active.zoomedHd.removeAttribute('sizes');
          var loadEventListener = active.zoomedHd.addEventListener('load', function () {
          active.zoomedHd.addEventListener('load', function loadEventListener() {
            active.zoomedHd.removeEventListener('load', loadEventListener);
            active.zoomedHd.classList.add('medium-zoom-image--opened');
            active.zoomedHd.addEventListener('click', close);
package-lock.json
@@ -15,6 +15,7 @@
        "@release-it/conventional-changelog": "^11.0.1",
        "conventional-commits-filter": "^6.0.1",
        "husky": "^9.1.7",
        "playwright": "^1.64.1",
        "prettier": "^3.8.1",
        "prettier-plugin-go-template": "^0.0.15",
        "release-it": "^20.2.1",
@@ -1232,33 +1233,6 @@
        "node": ">=18"
      }
    },
    "node_modules/@release-it/conventional-changelog/node_modules/conventional-commits-filter": {
      "version": "5.0.0",
      "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz",
      "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==",
      "extraneous": true,
      "license": "MIT",
      "engines": {
        "node": ">=18"
      }
    },
    "node_modules/@release-it/conventional-changelog/node_modules/conventional-commits-parser": {
      "version": "6.4.0",
      "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.4.0.tgz",
      "integrity": "sha512-tvRg7FIBNlyPzjdG8wWRlPHQJJHI7DylhtRGeU9Lq+JuoPh5BKpPRX83ZdLrvXuOSu5Eo/e7SzOQhU4Hd2Miuw==",
      "extraneous": true,
      "license": "MIT",
      "dependencies": {
        "@simple-libs/stream-utils": "^1.2.0",
        "meow": "^13.0.0"
      },
      "bin": {
        "conventional-commits-parser": "dist/cli/index.js"
      },
      "engines": {
        "node": ">=18"
      }
    },
    "node_modules/@sentry/core": {
      "version": "6.19.7",
      "resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.19.7.tgz",
@@ -2935,16 +2909,6 @@
        "url": "https://ko-fi.com/dangreen"
      }
    },
    "node_modules/conventional-changelog/node_modules/conventional-commits-filter": {
      "version": "5.0.0",
      "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz",
      "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==",
      "extraneous": true,
      "license": "MIT",
      "engines": {
        "node": ">=18"
      }
    },
    "node_modules/conventional-changelog/node_modules/conventional-commits-parser": {
      "version": "6.4.0",
      "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.4.0.tgz",
@@ -6011,6 +5975,35 @@
        "pathe": "^2.0.3"
      }
    },
    "node_modules/playwright": {
      "version": "1.64.1",
      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.64.1.tgz",
      "integrity": "sha512-HCrVhHr5QQuwYoswEUGTb7gGp522yflbv/ST8nF4sFWGuLjQCt17Q/EubpGGSNKYn1tsTCPZxqHhHCfVURu7UA==",
      "dev": true,
      "license": "Apache-2.0",
      "dependencies": {
        "playwright-core": "1.64.1"
      },
      "bin": {
        "playwright": "cli.js"
      },
      "engines": {
        "node": ">=20"
      }
    },
    "node_modules/playwright-core": {
      "version": "1.64.1",
      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.64.1.tgz",
      "integrity": "sha512-BC4s8y6SEVA6Q1rSxZTto8hI1KUI3xXlHGZgvGqP4IqPdI/a6FX9H29IDNz7vKo9l21b6LfYosScPL6M3xxyDQ==",
      "dev": true,
      "license": "Apache-2.0",
      "bin": {
        "playwright-core": "cli.js"
      },
      "engines": {
        "node": ">=20"
      }
    },
    "node_modules/powershell-utils": {
      "version": "0.2.0",
      "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.2.0.tgz",
package.json
@@ -34,6 +34,7 @@
    "@release-it/conventional-changelog": "^11.0.1",
    "conventional-commits-filter": "^6.0.1",
    "husky": "^9.1.7",
    "playwright": "^1.64.1",
    "prettier": "^3.8.1",
    "prettier-plugin-go-template": "^0.0.15",
    "release-it": "^20.2.1",