Izmena Build.sh skripte

This commit is contained in:
2026-06-04 18:31:27 +02:00
parent f24ea0bcb0
commit 4f54ca3470
13 changed files with 116 additions and 59 deletions
+2 -2
View File
@@ -20,11 +20,11 @@ OKR_IZBOR=${OKR_IZBOR:-1}
if [ "$OKR_IZBOR" = "2" ]; then if [ "$OKR_IZBOR" = "2" ]; then
OKRUZENJE="development" OKRUZENJE="development"
LDFLAGS="-X main.Verzija=dev-${VERZIJA}" LDFLAGS="-X main.Verzija=dev-${VERZIJA}"
NAZIV="ntech-dev-${VERZIJA}" NAZIV="ntech-dev"
else else
OKRUZENJE="production" OKRUZENJE="production"
LDFLAGS="-X main.Verzija=${VERZIJA} -s -w" LDFLAGS="-X main.Verzija=${VERZIJA} -s -w"
NAZIV="ntech-${VERZIJA}" NAZIV="ntech"
fi fi
# ────────────────────────────────────────────── # ──────────────────────────────────────────────
+48
View File
@@ -288,6 +288,54 @@ body {
box-shadow: var(--senka); box-shadow: var(--senka);
} }
/* primarna dugmad — rade na svim temama */
.btn-primarno {
display: inline-flex;
align-items: center;
background: var(--sb-akcent);
color: #fff;
border: none;
border-radius: 8px;
padding: 8px 16px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
text-decoration: none;
white-space: nowrap;
transition: opacity 0.2s;
}
.btn-primarno:hover { opacity: 0.85; }
/* mala primarna dugmad u tabelama */
.btn-primarno-malo {
display: inline-flex;
align-items: center;
background: var(--sb-akcent);
color: #fff;
border: none;
border-radius: 6px;
padding: 4px 10px;
font-size: 12px;
text-decoration: none;
transition: opacity 0.2s;
}
.btn-primarno-malo:hover { opacity: 0.85; }
/* avatar krug korisnika u topbaru */
.avatar-korisnik {
width: 32px;
height: 32px;
border-radius: 50%;
background: var(--sb-akcent);
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
font-weight: 500;
color: #fff;
flex-shrink: 0;
}
/* input polja — konzistentna za sve teme */ /* input polja — konzistentna za sve teme */
input[type="text"], input[type="text"],
input[type="email"], input[type="email"],
+6 -6
View File
@@ -84,6 +84,12 @@
<div class="nav-separator"></div> <div class="nav-separator"></div>
<div class="nav-oznaka">Nalog</div> <div class="nav-oznaka">Nalog</div>
<a href="/admin/profil" class="nav-stavka {{if eq .Stranica "profil"}}aktivan{{end}}">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
<span>Moj profil</span>
<span class="nav-tooltip">Moj profil</span>
</a>
{{if or (eq .KorisnikUloga "superadmin") (eq .KorisnikUloga "admin")}} {{if or (eq .KorisnikUloga "superadmin") (eq .KorisnikUloga "admin")}}
<a href="/admin/korisnici" class="nav-stavka {{if eq .Stranica "admin"}}aktivan{{end}}"> <a href="/admin/korisnici" class="nav-stavka {{if eq .Stranica "admin"}}aktivan{{end}}">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg> <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>
@@ -92,12 +98,6 @@
</a> </a>
{{end}} {{end}}
<a href="/admin/profil" class="nav-stavka {{if eq .Stranica "profil"}}aktivan{{end}}">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
<span>Moj profil</span>
<span class="nav-tooltip">Moj profil</span>
</a>
<div class="nav-separator"></div> <div class="nav-separator"></div>
<div class="nav-oznaka">Sistem</div> <div class="nav-oznaka">Sistem</div>
+41 -2
View File
@@ -17,8 +17,47 @@
<a href="/tema/svetla" class="tema-krug {{if eq .Tema "svetla"}}tema-krug-aktivan{{end}}" style="background:#f0f2f5;border:1px solid #e2e6ed;" title="Svetla"></a> <a href="/tema/svetla" class="tema-krug {{if eq .Tema "svetla"}}tema-krug-aktivan{{end}}" style="background:#f0f2f5;border:1px solid #e2e6ed;" title="Svetla"></a>
</div> </div>
<div style="width:32px;height:32px;border-radius:50%;background:var(--sb-aktivan);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:#fff;flex-shrink:0;"> <div style="position:relative;" id="avatar-wrapper">
{{if .Korisnik}}{{slice .Korisnik 0 2}}{{else}}NT{{end}} <div class="avatar-korisnik" id="avatar-dugme" style="cursor:pointer;" title="{{.Korisnik}}">
{{if .Korisnik}}{{slice .Korisnik 0 2}}{{else}}NT{{end}}
</div>
<div id="avatar-meni" style="display:none;position:absolute;right:0;top:calc(100% + 8px);background:var(--kartica);border:0.5px solid var(--ivica);border-radius:10px;box-shadow:var(--senka);min-width:160px;z-index:200;overflow:hidden;transform-origin:top right;">
<a href="/admin/profil" style="display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:14px;color:var(--tekst-glavni);text-decoration:none;transition:background 0.15s;"
onmouseover="this.style.background='var(--pozadina)'" onmouseout="this.style.background=''">
<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
Moj profil
</a>
<div style="height:0.5px;background:var(--ivica);margin:0 10px;"></div>
<a href="/odjava" style="display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:14px;color:#dc2626;text-decoration:none;transition:background 0.15s;"
onmouseover="this.style.background='var(--pozadina)'" onmouseout="this.style.background=''">
<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" y1="12" x2="9" y2="12"/></svg>
Odjava
</a>
</div>
</div> </div>
</header> </header>
<style>
@keyframes avatarMeniOtvori {
from { opacity: 0; transform: scale(0.92) translateY(-6px); }
to { opacity: 1; transform: scale(1) translateY(0); }
}
</style>
<script>
(function() {
var dugme = document.getElementById('avatar-dugme');
var meni = document.getElementById('avatar-meni');
dugme.addEventListener('click', function(e) {
e.stopPropagation();
if (meni.style.display === 'none' || meni.style.display === '') {
meni.style.display = 'block';
meni.style.animation = 'avatarMeniOtvori 0.15s ease both';
} else {
meni.style.display = 'none';
}
});
document.addEventListener('click', function() {
meni.style.display = 'none';
});
})();
</script>
{{end}} {{end}}
+3 -8
View File
@@ -65,9 +65,7 @@
<input type="text" name="pretraga" value="{{.Pretraga}}" <input type="text" name="pretraga" value="{{.Pretraga}}"
placeholder="Pretraži dobavljače..." placeholder="Pretraži dobavljače..."
style="flex:1;"> style="flex:1;">
<button type="submit" <button type="submit" class="btn-primarno">
style="padding:8px 16px;background:var(--sb-aktivan);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;white-space:nowrap;transition:opacity 0.2s;"
onmouseover="this.style.opacity='0.85'" onmouseout="this.style.opacity='1'">
Traži Traži
</button> </button>
</form> </form>
@@ -103,9 +101,7 @@
</td> </td>
<td style="padding:12px 16px;text-align:center;"> <td style="padding:12px 16px;text-align:center;">
<div style="display:flex;align-items:center;justify-content:center;gap:8px;"> <div style="display:flex;align-items:center;justify-content:center;gap:8px;">
<a href="/dobavljaci/izmeni/{{.ID}}" <a href="/dobavljaci/izmeni/{{.ID}}" class="btn-primarno-malo">
style="padding:4px 10px;background:var(--sb-aktivan);color:#fff;border-radius:6px;font-size:12px;text-decoration:none;transition:opacity 0.2s;"
onmouseover="this.style.opacity='0.8'" onmouseout="this.style.opacity='1'">
Izmeni Izmeni
</a> </a>
<form method="POST" action="/dobavljaci/obrisi/{{.ID}}" style="display:inline;"> <form method="POST" action="/dobavljaci/obrisi/{{.ID}}" style="display:inline;">
@@ -138,8 +134,7 @@
<div style="display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;"> <div style="display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;">
<span style="font-size:15px;font-weight:500;color:var(--tekst-glavni);">{{.Naziv}}</span> <span style="font-size:15px;font-weight:500;color:var(--tekst-glavni);">{{.Naziv}}</span>
<div style="display:flex;gap:8px;flex-shrink:0;"> <div style="display:flex;gap:8px;flex-shrink:0;">
<a href="/dobavljaci/izmeni/{{.ID}}" <a href="/dobavljaci/izmeni/{{.ID}}" class="btn-primarno-malo">
style="padding:4px 10px;background:var(--sb-aktivan);color:#fff;border-radius:6px;font-size:12px;text-decoration:none;">
Izmeni Izmeni
</a> </a>
<form method="POST" action="/dobavljaci/obrisi/{{.ID}}" style="display:inline;"> <form method="POST" action="/dobavljaci/obrisi/{{.ID}}" style="display:inline;">
+3 -8
View File
@@ -64,9 +64,7 @@
<input type="text" name="pretraga" value="{{.Pretraga}}" <input type="text" name="pretraga" value="{{.Pretraga}}"
placeholder="Pretraži po imenu ili nazivu firme..." placeholder="Pretraži po imenu ili nazivu firme..."
style="flex:1;"> style="flex:1;">
<button type="submit" <button type="submit" class="btn-primarno">
style="padding:8px 16px;background:var(--sb-aktivan);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;white-space:nowrap;transition:opacity 0.2s;"
onmouseover="this.style.opacity='0.85'" onmouseout="this.style.opacity='1'">
Traži Traži
</button> </button>
</form> </form>
@@ -111,9 +109,7 @@
</td> </td>
<td style="padding:12px 16px;text-align:center;"> <td style="padding:12px 16px;text-align:center;">
<div style="display:flex;align-items:center;justify-content:center;gap:8px;"> <div style="display:flex;align-items:center;justify-content:center;gap:8px;">
<a href="/klijenti/izmeni/{{.ID}}" <a href="/klijenti/izmeni/{{.ID}}" class="btn-primarno-malo">
style="padding:4px 10px;background:var(--sb-aktivan);color:#fff;border-radius:6px;font-size:12px;text-decoration:none;transition:opacity 0.2s;"
onmouseover="this.style.opacity='0.8'" onmouseout="this.style.opacity='1'">
Izmeni Izmeni
</a> </a>
<form method="POST" action="/klijenti/obrisi/{{.ID}}" style="display:inline;"> <form method="POST" action="/klijenti/obrisi/{{.ID}}" style="display:inline;">
@@ -155,8 +151,7 @@
{{end}} {{end}}
</div> </div>
<div style="display:flex;gap:8px;flex-shrink:0;"> <div style="display:flex;gap:8px;flex-shrink:0;">
<a href="/klijenti/izmeni/{{.ID}}" <a href="/klijenti/izmeni/{{.ID}}" class="btn-primarno-malo">
style="padding:4px 10px;background:var(--sb-aktivan);color:#fff;border-radius:6px;font-size:12px;text-decoration:none;">
Izmeni Izmeni
</a> </a>
<form method="POST" action="/klijenti/obrisi/{{.ID}}" style="display:inline;"> <form method="POST" action="/klijenti/obrisi/{{.ID}}" style="display:inline;">
+3 -6
View File
@@ -33,8 +33,7 @@
style="padding:8px 16px;background:var(--sb-akcent);color:#fff;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;"> style="padding:8px 16px;background:var(--sb-akcent);color:#fff;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;">
+ Novi artikal + Novi artikal
</a> </a>
<a href="/magacin/kategorije" <a href="/magacin/kategorije" class="btn-primarno">
style="padding:8px 16px;background:var(--sb-aktivan);color:#fff;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;">
Kategorije Kategorije
</a> </a>
</div> </div>
@@ -55,8 +54,7 @@
<input type="checkbox" name="kriticni" value="1" {{if .Filter.SamoKriticni}}checked{{end}}> <input type="checkbox" name="kriticni" value="1" {{if .Filter.SamoKriticni}}checked{{end}}>
Samo kritični Samo kritični
</label> </label>
<button type="submit" <button type="submit" class="btn-primarno">
style="padding:8px 16px;background:var(--sb-aktivan);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;white-space:nowrap;">
Traži Traži
</button> </button>
</div> </div>
@@ -96,8 +94,7 @@
</td> </td>
<td style="padding:12px 16px;text-align:center;"> <td style="padding:12px 16px;text-align:center;">
<div style="display:flex;align-items:center;justify-content:center;gap:8px;"> <div style="display:flex;align-items:center;justify-content:center;gap:8px;">
<a href="/magacin/izmeni/{{.ID}}" <a href="/magacin/izmeni/{{.ID}}" class="btn-primarno-malo">
style="padding:4px 10px;background:var(--sb-aktivan);color:#fff;border-radius:6px;font-size:12px;text-decoration:none;">
Izmeni Izmeni
</a> </a>
<a href="/magacin/obrisi/{{.ID}}" <a href="/magacin/obrisi/{{.ID}}"
+1 -3
View File
@@ -163,9 +163,7 @@
onmouseover="this.style.background='var(--pozadina)'" onmouseout="this.style.background='var(--kartica)'"> onmouseover="this.style.background='var(--pozadina)'" onmouseout="this.style.background='var(--kartica)'">
+ Novi artikal + Novi artikal
</button> </button>
<button type="button" @click="dodajStavku()" <button type="button" @click="dodajStavku()" class="btn-primarno" style="font-size:13px;padding:6px 14px;">
style="padding:6px 14px;background:var(--sb-aktivan);color:#fff;border:none;border-radius:8px;font-size:13px;cursor:pointer;transition:opacity 0.2s;"
onmouseover="this.style.opacity='0.8'" onmouseout="this.style.opacity='1'">
+ Dodaj stavku + Dodaj stavku
</button> </button>
</div> </div>
+2 -5
View File
@@ -94,9 +94,7 @@
</td> </td>
<td style="padding:12px 16px;text-align:center;"> <td style="padding:12px 16px;text-align:center;">
<div style="display:flex;align-items:center;justify-content:center;gap:8px;"> <div style="display:flex;align-items:center;justify-content:center;gap:8px;">
<a href="/nabavke/{{.ID}}" <a href="/nabavke/{{.ID}}" class="btn-primarno-malo">
style="padding:4px 10px;background:var(--sb-aktivan);color:#fff;border-radius:6px;font-size:12px;text-decoration:none;transition:opacity 0.2s;"
onmouseover="this.style.opacity='0.8'" onmouseout="this.style.opacity='1'">
Detalji Detalji
</a> </a>
<form method="POST" action="/nabavke/obrisi/{{.ID}}" style="display:inline;"> <form method="POST" action="/nabavke/obrisi/{{.ID}}" style="display:inline;">
@@ -143,8 +141,7 @@
<div style="font-size:13px;color:var(--tekst-sporedni);margin-bottom:10px;">{{.Napomena}}</div> <div style="font-size:13px;color:var(--tekst-sporedni);margin-bottom:10px;">{{.Napomena}}</div>
{{end}} {{end}}
<div style="display:flex;gap:8px;"> <div style="display:flex;gap:8px;">
<a href="/nabavke/{{.ID}}" <a href="/nabavke/{{.ID}}" class="btn-primarno-malo" style="flex:1;justify-content:center;">
style="flex:1;padding:7px;background:var(--sb-aktivan);color:#fff;border-radius:6px;font-size:13px;text-decoration:none;text-align:center;">
Detalji Detalji
</a> </a>
<form method="POST" action="/nabavke/obrisi/{{.ID}}" style="flex:1;"> <form method="POST" action="/nabavke/obrisi/{{.ID}}" style="flex:1;">
+2 -5
View File
@@ -108,9 +108,7 @@
{{printf "%.2f" .Ukupno}} din {{printf "%.2f" .Ukupno}} din
</td> </td>
<td style="padding:12px 16px;text-align:center;"> <td style="padding:12px 16px;text-align:center;">
<a href="/prodaja/{{.ID}}" <a href="/prodaja/{{.ID}}" class="btn-primarno-malo">
style="padding:4px 10px;background:var(--sb-aktivan);color:#fff;border-radius:6px;font-size:12px;text-decoration:none;transition:opacity 0.2s;"
onmouseover="this.style.opacity='0.8'" onmouseout="this.style.opacity='1'">
Detalji Detalji
</a> </a>
</td> </td>
@@ -149,8 +147,7 @@
{{printf "%.2f" .Ukupno}} din {{printf "%.2f" .Ukupno}} din
</div> </div>
</div> </div>
<a href="/prodaja/{{.ID}}" <a href="/prodaja/{{.ID}}" class="btn-primarno-malo" style="justify-content:center;width:100%;box-sizing:border-box;">
style="display:block;padding:7px;background:var(--sb-aktivan);color:#fff;border-radius:6px;font-size:13px;text-decoration:none;text-align:center;">
Detalji Detalji
</a> </a>
</div> </div>
+1 -3
View File
@@ -114,9 +114,7 @@
<div class="kartica forma-kartica animiraj" style="margin-bottom:16px;"> <div class="kartica forma-kartica animiraj" style="margin-bottom:16px;">
<div style="margin-bottom:16px;padding-bottom:14px;border-bottom:0.5px solid var(--ivica);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;"> <div style="margin-bottom:16px;padding-bottom:14px;border-bottom:0.5px solid var(--ivica);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;">
<span style="font-size:16px;font-weight:500;color:var(--tekst-glavni);">Stavke</span> <span style="font-size:16px;font-weight:500;color:var(--tekst-glavni);">Stavke</span>
<button type="button" @click="dodajStavku()" <button type="button" @click="dodajStavku()" class="btn-primarno" style="font-size:13px;padding:6px 14px;">
style="padding:6px 14px;background:var(--sb-aktivan);color:#fff;border:none;border-radius:8px;font-size:13px;cursor:pointer;transition:opacity 0.2s;"
onmouseover="this.style.opacity='0.8'" onmouseout="this.style.opacity='1'">
+ Dodaj stavku + Dodaj stavku
</button> </button>
</div> </div>
+3 -8
View File
@@ -95,9 +95,7 @@
<option value="{{.}}" {{if eq . $.FilterStatus}}selected{{end}}>{{.}}</option> <option value="{{.}}" {{if eq . $.FilterStatus}}selected{{end}}>{{.}}</option>
{{end}} {{end}}
</select> </select>
<button type="submit" <button type="submit" class="btn-primarno">
style="padding:8px 16px;background:var(--sb-aktivan);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;white-space:nowrap;transition:opacity 0.2s;"
onmouseover="this.style.opacity='0.85'" onmouseout="this.style.opacity='1'">
Traži Traži
</button> </button>
</form> </form>
@@ -142,9 +140,7 @@
</td> </td>
<td style="padding:12px 16px;text-align:center;"> <td style="padding:12px 16px;text-align:center;">
<div style="display:flex;align-items:center;justify-content:center;gap:8px;"> <div style="display:flex;align-items:center;justify-content:center;gap:8px;">
<a href="/servis/izmeni/{{.ID}}" <a href="/servis/izmeni/{{.ID}}" class="btn-primarno-malo">
style="padding:4px 10px;background:var(--sb-aktivan);color:#fff;border-radius:6px;font-size:12px;text-decoration:none;transition:opacity 0.2s;"
onmouseover="this.style.opacity='0.8'" onmouseout="this.style.opacity='1'">
Izmeni Izmeni
</a> </a>
<form method="POST" action="/servis/obrisi/{{.ID}}" style="display:inline;"> <form method="POST" action="/servis/obrisi/{{.ID}}" style="display:inline;">
@@ -197,8 +193,7 @@
</div> </div>
</div> </div>
<div style="display:flex;gap:8px;"> <div style="display:flex;gap:8px;">
<a href="/servis/izmeni/{{.ID}}" <a href="/servis/izmeni/{{.ID}}" class="btn-primarno-malo">
style="padding:6px 14px;background:var(--sb-aktivan);color:#fff;border-radius:6px;font-size:13px;text-decoration:none;">
Izmeni Izmeni
</a> </a>
<form method="POST" action="/servis/obrisi/{{.ID}}" style="display:inline;"> <form method="POST" action="/servis/obrisi/{{.ID}}" style="display:inline;">
+1 -3
View File
@@ -65,9 +65,7 @@
</span> </span>
{{template "status-badge-detalji" .Nalog.Status}} {{template "status-badge-detalji" .Nalog.Status}}
</div> </div>
<a href="/servis/izmeni/{{.Nalog.ID}}" <a href="/servis/izmeni/{{.Nalog.ID}}" class="btn-primarno">
style="padding:8px 18px;background:var(--sb-aktivan);color:#fff;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;transition:opacity 0.2s;white-space:nowrap;"
onmouseover="this.style.opacity='0.85'" onmouseout="this.style.opacity='1'">
Izmeni nalog Izmeni nalog
</a> </a>
</div> </div>