Update site content
Deploy to Development and Production / deploy (push) Successful in 7s Details

This commit is contained in:
Mark Poljanšek 2025-10-28 22:22:39 +01:00
parent d55bd48ff7
commit 46f192be1f
16 changed files with 87 additions and 15 deletions

View File

@ -107,7 +107,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>

View File

@ -107,7 +107,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>

View File

@ -84,7 +84,8 @@ body.no-scroll {
}
.nav-links a:hover,
.nav-links a.active {
.nav-links a.active,
.dropbtn.active {
color: var(--primary-color);
}

View File

@ -107,7 +107,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>

View File

@ -96,7 +96,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>

View File

@ -107,7 +107,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>

View File

@ -6,6 +6,73 @@ document.addEventListener('DOMContentLoaded', function() {
let closeMobileMenu = () => {};
let resetMobileSubmenus = () => {};
const normalizePath = (value) => {
if (!value) {
return '/';
}
let clean = value.split('?')[0].split('#')[0];
clean = clean.replace(/index\.html$/i, '');
clean = clean.replace(/\/+$/, '');
if (clean === '') {
clean = '/';
}
return clean;
};
const applyActiveNavState = () => {
const navRoot = document.querySelector('.nav-links');
if (!navRoot) {
return;
}
navRoot.querySelectorAll('a.active, .dropbtn.active').forEach(el => {
el.classList.remove('active');
});
const currentPath = normalizePath(window.location.pathname);
const navAnchors = navRoot.querySelectorAll('a[href]');
let matchedLink = null;
navAnchors.forEach(anchor => {
const href = anchor.getAttribute('href');
if (!href || href.startsWith('http') || href.startsWith('mailto:') || href.startsWith('tel:') || href.startsWith('#')) {
return;
}
const linkPath = normalizePath(href);
if (linkPath === currentPath) {
matchedLink = anchor;
}
});
if (!matchedLink) {
return;
}
matchedLink.classList.add('active');
const highlightDropdownParents = (element) => {
let parentContent = element.closest('.dropdown-submenu-content, .dropdown-content');
while (parentContent) {
const trigger = parentContent.previousElementSibling;
if (trigger && (trigger.tagName === 'A' || trigger.classList.contains('dropbtn'))) {
trigger.classList.add('active');
}
parentContent = parentContent.parentElement ? parentContent.parentElement.closest('.dropdown-submenu-content, .dropdown-content') : null;
}
};
highlightDropdownParents(matchedLink);
const topLevelDropdown = matchedLink.closest('.dropdown');
if (topLevelDropdown) {
const trigger = topLevelDropdown.querySelector('.dropbtn');
if (trigger) {
trigger.classList.add('active');
}
}
};
if (mobileMenuBtn && navLinks) {
resetMobileSubmenus = () => {
navLinks.querySelectorAll('.dropdown-content, .dropdown-submenu-content').forEach(submenu => {
@ -14,6 +81,7 @@ document.addEventListener('DOMContentLoaded', function() {
navLinks.querySelectorAll('.dropbtn, .dropdown-submenu > a').forEach(link => {
link.classList.remove('active');
});
applyActiveNavState();
};
closeMobileMenu = () => {
@ -37,6 +105,9 @@ document.addEventListener('DOMContentLoaded', function() {
});
}
// --- Active Navigation Highlight ---
applyActiveNavState();
// --- Mobile Dropdown Logic ---
// Logika za odpiranje podmenijev na klik na mobilnih napravah
const dropdowns = document.querySelectorAll('.nav-links .dropdown-submenu > a, .nav-links .dropdown > .dropbtn');

View File

@ -107,7 +107,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>

View File

@ -107,7 +107,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>

View File

@ -107,7 +107,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>

View File

@ -107,7 +107,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>

View File

@ -107,7 +107,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>

View File

@ -107,7 +107,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>

View File

@ -107,7 +107,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>

View File

@ -107,7 +107,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>

View File

@ -107,7 +107,7 @@
</div>
</div>
<a href="/kdo-sem">Kdo sem</a>
<a href="/kontakt" class="active">Kontakt</a>
<a href="/kontakt">Kontakt</a>
<a href="/pogosta-vprasanja">Pogosta vprašanja</a>
<a href="/cene-in-reference">Cene in reference</a>
</div>