diff --git a/addons/default/visiosoft/advs-module/resources/css/list.css b/addons/default/visiosoft/advs-module/resources/css/list.css index 9a5cdecf2..6cb92603a 100644 --- a/addons/default/visiosoft/advs-module/resources/css/list.css +++ b/addons/default/visiosoft/advs-module/resources/css/list.css @@ -141,4 +141,9 @@ a.sort-by-open-dropdown:hover { .list-view-type button small { font-weight: 500; color: #8598AA; +} + +.sort-by-item:hover { + text-decoration: underline; + cursor: pointer; } \ No newline at end of file diff --git a/addons/default/visiosoft/advs-module/resources/views/list/partials/ads.twig b/addons/default/visiosoft/advs-module/resources/views/list/partials/ads.twig index 6b1a34ed6..2a26c3a9c 100644 --- a/addons/default/visiosoft/advs-module/resources/views/list/partials/ads.twig +++ b/addons/default/visiosoft/advs-module/resources/views/list/partials/ads.twig @@ -4,7 +4,8 @@
- {{ adv.name }}
diff --git a/addons/default/visiosoft/advs-module/resources/views/list/partials/list-filter.twig b/addons/default/visiosoft/advs-module/resources/views/list/partials/list-filter.twig index b94efc4d6..0991832e0 100644 --- a/addons/default/visiosoft/advs-module/resources/views/list/partials/list-filter.twig +++ b/addons/default/visiosoft/advs-module/resources/views/list/partials/list-filter.twig @@ -1,5 +1,5 @@ {% set formHtml %} -
+ {% endset %} {% set catSlug = null %} {% set citySlug = null %} @@ -12,7 +12,7 @@ {% endif %} {% if catSlug %} {% set formHtml %} - + {% endset %} {% endif %} {{ formHtml }} diff --git a/addons/default/visiosoft/advs-module/resources/views/list/partials/list-sort-by.twig b/addons/default/visiosoft/advs-module/resources/views/list/partials/list-sort-by.twig index 479055cbd..da17dfce7 100644 --- a/addons/default/visiosoft/advs-module/resources/views/list/partials/list-sort-by.twig +++ b/addons/default/visiosoft/advs-module/resources/views/list/partials/list-sort-by.twig @@ -8,34 +8,34 @@
diff --git a/addons/default/visiosoft/base-theme/resources/js/lazy-loading.js b/addons/default/visiosoft/base-theme/resources/js/lazy-loading.js new file mode 100644 index 000000000..e70dfed26 --- /dev/null +++ b/addons/default/visiosoft/base-theme/resources/js/lazy-loading.js @@ -0,0 +1,63 @@ +document.addEventListener("DOMContentLoaded", function() { + var lazyImages = [].slice.call(document.querySelectorAll(".lazy")); + + if ("IntersectionObserver" in window) { // If intersection observer is supported + let lazyImageObserver = new IntersectionObserver(function(entries, observer) { + entries.forEach(function(entry) { + if (entry.isIntersecting) { + let lazyImage = entry.target; + if (lazyImage.dataset.background) { + lazyImage.style.backgroundImage = `url('${lazyImage.dataset.background}')` + } else { + lazyImage.src = lazyImage.dataset.src; + } + lazyImage.classList.remove("lazy"); + lazyImageObserver.unobserve(lazyImage); + } + }); + }); + + lazyImages.forEach(function(lazyImage) { + lazyImageObserver.observe(lazyImage); + }); + } else { // Fallback if intersection observer is not supported + let active = false; + + const lazyLoad = function() { + if (active === false) { + active = true; + + setTimeout(function() { + lazyImages.forEach(function(lazyImage) { + if ((lazyImage.getBoundingClientRect().top <= window.innerHeight + && lazyImage.getBoundingClientRect().bottom >= 0) + && getComputedStyle(lazyImage).display !== "none") { + if (lazyImage.dataset.background) { + lazyImage.style.backgroundImage = `url('${lazyImage.dataset.background}')` + } else { + lazyImage.src = lazyImage.dataset.src; + } + lazyImage.classList.remove("lazy"); + + lazyImages = lazyImages.filter(function(image) { + return image !== lazyImage; + }); + + if (lazyImages.length === 0) { + document.removeEventListener("scroll", lazyLoad); + window.removeEventListener("resize", lazyLoad); + window.removeEventListener("orientationchange", lazyLoad); + } + } + }); + + active = false; + }, 200); + } + }; + + document.addEventListener("scroll", lazyLoad); + window.addEventListener("resize", lazyLoad); + window.addEventListener("orientationchange", lazyLoad); + } +}); \ No newline at end of file diff --git a/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig b/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig index e623a9d63..d2df4bce3 100644 --- a/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig +++ b/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig @@ -13,6 +13,7 @@ {{ asset_add("theme.js", "visiosoft.theme.base::js/utils.js") }} {{ asset_add("theme.js", "visiosoft.theme.base::js/phonefield.js") }} {{ asset_add("theme.js", "visiosoft.theme.base::js/jquery.inputmask.bundle.min.js") }} +{{ asset_add("theme.js", "visiosoft.theme.base::js/lazy-loading.js") }} {# Theme Scripts #} {#{{ asset_add("theme.js", "visiosoft.theme.base::js/plugins/*") }}#} diff --git a/addons/default/visiosoft/defaultadmin-theme/resources/config/settings.php b/addons/default/visiosoft/defaultadmin-theme/resources/config/settings.php index 329e91fff..c93613ca2 100644 --- a/addons/default/visiosoft/defaultadmin-theme/resources/config/settings.php +++ b/addons/default/visiosoft/defaultadmin-theme/resources/config/settings.php @@ -6,7 +6,13 @@ return [ 'type' => 'anomaly.field_type.textarea', 'input_view' => 'visiosoft.theme.defaultadmin::admin/navigation/settings', ], - "icon" => [ + "login_icon" => [ + "type" => "anomaly.field_type.file", + "config" => [ + "folders" => ['images'], + ] + ], + "panel_icon" => [ "type" => "anomaly.field_type.file", "config" => [ "folders" => ['images'], diff --git a/addons/default/visiosoft/defaultadmin-theme/resources/lang/en/setting.php b/addons/default/visiosoft/defaultadmin-theme/resources/lang/en/setting.php index 1ce7e1483..5fdd0c618 100644 --- a/addons/default/visiosoft/defaultadmin-theme/resources/lang/en/setting.php +++ b/addons/default/visiosoft/defaultadmin-theme/resources/lang/en/setting.php @@ -11,8 +11,11 @@ return [ 'warning' => 'The first accessible navigation item is used as the home area.', 'reorder' => 'Drag and drop the primary navigation items in the sidebar to reorder them.', ], - "icon" => [ - 'name' => 'Icon', + "login_icon" => [ + 'name' => 'Login Icon', + ], + "panel_icon" => [ + 'name' => 'Panel Icon', ], "title" => [ 'name' => 'Title', diff --git a/addons/default/visiosoft/defaultadmin-theme/resources/views/layouts/default.twig b/addons/default/visiosoft/defaultadmin-theme/resources/views/layouts/default.twig index 8fdd1fce8..8031c5e70 100644 --- a/addons/default/visiosoft/defaultadmin-theme/resources/views/layouts/default.twig +++ b/addons/default/visiosoft/defaultadmin-theme/resources/views/layouts/default.twig @@ -1,6 +1,6 @@ - + {% include "theme::partials/metadata" %} diff --git a/addons/default/visiosoft/defaultadmin-theme/resources/views/login.twig b/addons/default/visiosoft/defaultadmin-theme/resources/views/login.twig index e150db2bd..174877348 100644 --- a/addons/default/visiosoft/defaultadmin-theme/resources/views/login.twig +++ b/addons/default/visiosoft/defaultadmin-theme/resources/views/login.twig @@ -4,8 +4,8 @@