mirror of
https://github.com/openclassify/openclassify.git
synced 2026-01-11 18:01:10 -06:00
Merge pull request #682 from openclassify/dia
#2200 admin assuming language is Hausa
This commit is contained in:
commit
65cebd4824
@ -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;
|
||||
}
|
||||
@ -4,7 +4,8 @@
|
||||
<a href="{{ adv.detail_url }}" class="text-dark">
|
||||
<div class="row{% if adv.doping != null %} doping_type4 {% endif %}">
|
||||
<div class="col-md-2 justify-content-center align-self-center text-center border-right border-white">
|
||||
<img class="img-thumbnail" src="{{ adv.cover_photo }}" alt="{{ adv.name }}"
|
||||
<img class="img-thumbnail lazy" src="{{ img('visiosoft.theme.base::images/no-image.png').url }}"
|
||||
data-src="{{ adv.cover_photo }}" alt="{{ adv.name }}"
|
||||
style="max-height:80px;">
|
||||
</div>
|
||||
<div class="col-md-7 justify-content-center align-self-center border-right border-white">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{% set formHtml %}
|
||||
<form action="{{ url_route('visiosoft.module.advs::list') }}" method="get" id="listFilterForm">
|
||||
<form action="{{ url_route('visiosoft.module.advs::list') }}" method="get" id="listFilterForm" rel="nofollow">
|
||||
{% endset %}
|
||||
{% set catSlug = null %}
|
||||
{% set citySlug = null %}
|
||||
@ -12,7 +12,7 @@
|
||||
{% endif %}
|
||||
{% if catSlug %}
|
||||
{% set formHtml %}
|
||||
<form action="{{ url_route('adv_list_seo', [catSlug, citySlug]) }}" method="get" id="listFilterForm">
|
||||
<form action="{{ url_route('adv_list_seo', [catSlug, citySlug]) }}" method="get" id="listFilterForm" rel="nofollow">
|
||||
{% endset %}
|
||||
{% endif %}
|
||||
{{ formHtml }}
|
||||
|
||||
@ -8,34 +8,34 @@
|
||||
|
||||
<ul class="dropdown-menu px-2" x-placement="bottom-start">
|
||||
<li>
|
||||
<a href="#" data-value="sort_price_up" class="sort-by-item text-dark">
|
||||
<span data-value="sort_price_up" class="sort-by-item text-dark">
|
||||
{{ trans("visiosoft.module.advs::field.price_high") }}
|
||||
</a>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" data-value="sort_price_down" class="sort-by-item text-dark">
|
||||
<span data-value="sort_price_down" class="sort-by-item text-dark">
|
||||
{{ trans("visiosoft.module.advs::field.price_low") }}
|
||||
</a>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" data-value="sort_time_newest" class="sort-by-item text-dark">
|
||||
<span data-value="sort_time_newest" class="sort-by-item text-dark">
|
||||
{{ trans("visiosoft.module.advs::field.newest") }}
|
||||
</a>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" data-value="sort_time_oldest" class="sort-by-item text-dark">
|
||||
<span data-value="sort_time_oldest" class="sort-by-item text-dark">
|
||||
{{ trans("visiosoft.module.advs::field.oldest") }}
|
||||
</a>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" data-value="address_a_z" class="sort-by-item text-dark">
|
||||
<span data-value="address_a_z" class="sort-by-item text-dark">
|
||||
{{ trans("visiosoft.module.advs::field.address_a_z") }}
|
||||
</a>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" data-value="address_z_a" class="sort-by-item text-dark">
|
||||
<span data-value="address_z_a" class="sort-by-item text-dark">
|
||||
{{ trans("visiosoft.module.advs::field.address_z_a") }}
|
||||
</a>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@ -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);
|
||||
}
|
||||
});
|
||||
@ -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/*") }}#}
|
||||
|
||||
@ -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'],
|
||||
|
||||
@ -11,8 +11,11 @@ return [
|
||||
'warning' => 'The first accessible navigation item is used as the <strong>home</strong> area.',
|
||||
'reorder' => 'Drag and drop the primary navigation items in the <strong>sidebar</strong> to reorder them.',
|
||||
],
|
||||
"icon" => [
|
||||
'name' => 'Icon',
|
||||
"login_icon" => [
|
||||
'name' => 'Login Icon',
|
||||
],
|
||||
"panel_icon" => [
|
||||
'name' => 'Panel Icon',
|
||||
],
|
||||
"title" => [
|
||||
'name' => 'Title',
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<!doctype html>
|
||||
|
||||
<html>
|
||||
<html lang="{{ config('app.locale') }}">
|
||||
|
||||
<head>
|
||||
{% include "theme::partials/metadata" %}
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
|
||||
<div class="logo-container">
|
||||
<div class="logo">
|
||||
{% if setting_value('visiosoft.theme.defaultadmin::icon') %}
|
||||
<img src="{{ file(setting_value('visiosoft.theme.defaultadmin::icon')).url }}" alt="site icon">
|
||||
{% if setting_value('visiosoft.theme.defaultadmin::login_icon') %}
|
||||
<img src="{{ file(setting_value('visiosoft.theme.defaultadmin::login_icon')).url }}" alt="site icon">
|
||||
{% else %}
|
||||
{{ img('theme::img/icon.svg').data|raw }}
|
||||
{% endif %}
|
||||
@ -18,8 +18,8 @@
|
||||
<div class="login-wrapper container-fluid">
|
||||
|
||||
<div class="logo">
|
||||
{% if setting_value('visiosoft.theme.defaultadmin::icon') %}
|
||||
<img src="{{ file(setting_value('visiosoft.theme.defaultadmin::icon')).url }}" alt="site icon">
|
||||
{% if setting_value('visiosoft.theme.defaultadmin::login_icon') %}
|
||||
<img src="{{ file(setting_value('visiosoft.theme.defaultadmin::login_icon')).url }}" alt="site icon">
|
||||
{% else %}
|
||||
{{ img('theme::img/icon.svg').data|raw }}
|
||||
{% endif %}
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
|
||||
<div class="topbar-left">
|
||||
<a href="/admin" class="logo variant-logo">
|
||||
{% if setting_value('visiosoft.theme.defaultadmin::icon') %}
|
||||
<img src="{{ file(setting_value('visiosoft.theme.defaultadmin::icon')).url }}" alt="site icon">
|
||||
{% if setting_value('visiosoft.theme.defaultadmin::panel_icon') %}
|
||||
<img src="{{ file(setting_value('visiosoft.theme.defaultadmin::panel_icon')).url }}" alt="site icon">
|
||||
{% else %}
|
||||
{{ img('theme::img/icon.svg').data|raw }}
|
||||
{% endif %}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user