Popravka greške u topbaru, responsive sidebar, tačkice za teme
This commit is contained in:
@@ -1,58 +1,87 @@
|
||||
{{define "base"}}
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="sr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>{{block "naslov" .}}NTech{{end}}</title>
|
||||
|
||||
<!-- tema — učitava se prva -->
|
||||
<link rel="stylesheet" href="/static/css/teme/{{.Tema}}.css">
|
||||
<link rel="stylesheet" href="/static/css/teme/{{.Tema}}.css" />
|
||||
|
||||
<!-- glavni stilovi -->
|
||||
<link rel="stylesheet" href="/static/css/main.css">
|
||||
<link rel="stylesheet" href="/static/css/main.css" />
|
||||
|
||||
<!-- tailwind -->
|
||||
<script src="https://cdn.tailwindcss.com"></script>
|
||||
|
||||
{{block "dodatni-css" .}}{{end}}
|
||||
</head>
|
||||
<body>
|
||||
</head>
|
||||
<body>
|
||||
<div class="sidebar-overlay" id="sidebar-overlay"></div>
|
||||
<div class="raspored">
|
||||
{{template "sidebar" .}}
|
||||
{{template "sidebar" .}}
|
||||
|
||||
<div class="glavni-sadrzaj">
|
||||
{{template "topbar" .}}
|
||||
<div class="glavni-sadrzaj">
|
||||
{{template "topbar" .}}
|
||||
|
||||
<main class="sadrzaj">
|
||||
{{block "sadrzaj" .}}{{end}}
|
||||
</main>
|
||||
</div>
|
||||
<main class="sadrzaj">{{block "sadrzaj" .}}{{end}}</main>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- alpine.js za interaktivnost -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js" defer></script>
|
||||
<script
|
||||
src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"
|
||||
defer
|
||||
></script>
|
||||
|
||||
<!-- htmx za komunikaciju sa serverom -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/htmx.org@2.x.x/dist/htmx.min.js"></script>
|
||||
|
||||
<!-- sidebar logika -->
|
||||
<!-- sidebar logika -->
|
||||
<script>
|
||||
const sidebar = document.getElementById('sidebar');
|
||||
const hamburger = document.getElementById('hamburger');
|
||||
const sidebar = document.getElementById("sidebar");
|
||||
const hamburger = document.getElementById("hamburger");
|
||||
const overlay = document.getElementById("sidebar-overlay");
|
||||
const mobilni = () => window.innerWidth <= 768;
|
||||
|
||||
// učitaj stanje iz localStorage
|
||||
if (localStorage.getItem('sidebar-skupljen') === 'true') {
|
||||
sidebar.classList.add('skupljen');
|
||||
// učitaj stanje iz localStorage samo za desktop
|
||||
if (!mobilni() && localStorage.getItem("sidebar-skupljen") === "true") {
|
||||
sidebar.classList.add("skupljen");
|
||||
}
|
||||
|
||||
hamburger.addEventListener("click", () => {
|
||||
if (mobilni()) {
|
||||
// mobilno — drawer ponašanje
|
||||
sidebar.classList.toggle("otvoren");
|
||||
overlay.classList.toggle("aktivan");
|
||||
} else {
|
||||
// desktop — skupljanje
|
||||
sidebar.classList.toggle("skupljen");
|
||||
localStorage.setItem(
|
||||
"sidebar-skupljen",
|
||||
sidebar.classList.contains("skupljen"),
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
hamburger.addEventListener('click', () => {
|
||||
sidebar.classList.toggle('skupljen');
|
||||
localStorage.setItem('sidebar-skupljen', sidebar.classList.contains('skupljen'));
|
||||
});
|
||||
// zatvori sidebar klikom na overlay
|
||||
overlay.addEventListener("click", () => {
|
||||
sidebar.classList.remove("otvoren");
|
||||
overlay.classList.remove("aktivan");
|
||||
});
|
||||
|
||||
// zatvori sidebar kada se promeni veličina prozora
|
||||
window.addEventListener("resize", () => {
|
||||
if (!mobilni()) {
|
||||
sidebar.classList.remove("otvoren");
|
||||
overlay.classList.remove("aktivan");
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
{{block "dodatni-js" .}}{{end}}
|
||||
</body>
|
||||
</body>
|
||||
</html>
|
||||
{{end}}
|
||||
|
||||
Reference in New Issue
Block a user