В дизайне предусмотрено наличие двух тем оформления сайта, изображения на темной теме отличаются от изображений светлой темы.
Все изображения на сайте вставлены в формате
<picture>
<source srcset="https://uploads-ssl.webflow.com/64328ad759d957f990749456/651d340055ca7d366a9a24e7_scope-focus-item%402x.webp 1x,
https://uploads-ssl.webflow.com/64328ad759d957f990749456/651d33fb1a51aefff9931445_scope-focus-item%403x.webp 2x" type="image/webp">
<source srcset="https://uploads-ssl.webflow.com/64328ad759d957f990749456/651d3416d5e38d347f44d7bb_scope-focus-item%402x.jpg 1x,
https://uploads-ssl.webflow.com/64328ad759d957f990749456/651d34158fa93c3fdc220fc9_scope-focus-item%403x.jpg 2x" type="image/jng">
<img loading="lazy" src="https://uploads-ssl.webflow.com/64328ad759d957f990749456/651d3416d5e38d347f44d7bb_scope-focus-item%402x.jpg" alt="Отдельное пространство в Compass">
</picture>
Получается picture внутри него source на jpg 1x/2x и source на webp 1x/2x.
Вставка через background image-set мне не подходит поскольку хотелось бы задействовать браузерный lazyload без js скрипта.
По логике мне нужно менять source если открыта темная тема и подтыкать туда темные картинки, или наоборот светлые.
Как я думаю это сделать: рядом с каждой картинкой вставить скрипт, который будет проверять какая тема включена и вставлять после проверки нужные source. Насколько это решение правильное? Будет ли это сильно замедлять загрузку страницы?
Есть еще один вариант это все изображения засунуть в один массив и вставлять их после того как загрузился весь DOM, однако мне кажется обработка изображений сразу по мере их загрузки будет более быстрой.