Merge grane feature/refaktor-dugmad: inline dugmad na .btn-* klase
This commit is contained in:
@@ -455,6 +455,7 @@ body {
|
|||||||
padding: 4px 10px;
|
padding: 4px 10px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
cursor: pointer;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
transition: opacity 0.2s;
|
transition: opacity 0.2s;
|
||||||
}
|
}
|
||||||
@@ -493,6 +494,42 @@ body {
|
|||||||
}
|
}
|
||||||
.btn-obrisi-malo:hover { opacity: 0.8; }
|
.btn-obrisi-malo:hover { opacity: 0.8; }
|
||||||
|
|
||||||
|
/* opasno dugme (Obriši/Deaktiviraj) — pun format, crveno */
|
||||||
|
.btn-opasno {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
background: #dc2626;
|
||||||
|
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-opasno:hover { opacity: 0.85; }
|
||||||
|
|
||||||
|
/* upozoravajuće dugme (Storno) — pun format, narandžasto */
|
||||||
|
.btn-upozorenje {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
background: #f97316;
|
||||||
|
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-upozorenje:hover { opacity: 0.85; }
|
||||||
|
|
||||||
/* nazad link na formama */
|
/* nazad link na formama */
|
||||||
.nazad-link {
|
.nazad-link {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
{{end}} {{define "sadrzaj"}}
|
{{end}} {{define "sadrzaj"}}
|
||||||
<div style="display: flex; flex-direction: column; gap: 16px">
|
<div style="display: flex; flex-direction: column; gap: 16px">
|
||||||
<div style="display: flex; align-items: center; gap: 12px; flex-wrap: wrap">
|
<div style="display: flex; align-items: center; gap: 12px; flex-wrap: wrap">
|
||||||
<a href="/admin/korisnici" style="display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border: 0.5px solid var(--ivica); border-radius: 8px; color: var(--tekst-sporedni); font-size: 13px; text-decoration: none">← Nazad</a>
|
<a href="/admin/korisnici" class="btn-sekundarno">← Nazad</a>
|
||||||
<span style="font-size: 15px; font-weight: 500; color: var(--tekst-glavni)">Istorija prijava — {{.PrikazKorisnik.KorisnickoIme}}</span>
|
<span style="font-size: 15px; font-weight: 500; color: var(--tekst-glavni)">Istorija prijava — {{.PrikazKorisnik.KorisnickoIme}}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
<input type="password" name="nova_lozinka_potvrda" required style="width: 100%" />
|
<input type="password" name="nova_lozinka_potvrda" required style="width: 100%" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<button type="submit" style="padding: 9px 20px; background: var(--sb-akcent); color: #fff; border: none; border-radius: 8px; font-size: 14px; font-weight: 500; cursor: pointer">Sačuvaj novu lozinku</button>
|
<button type="submit" class="btn-primarno">Sačuvaj novu lozinku</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
<label style="font-size: 13px; color: var(--tekst-sporedni); display: block; margin-bottom: 6px">Verifikacioni kod</label>
|
<label style="font-size: 13px; color: var(--tekst-sporedni); display: block; margin-bottom: 6px">Verifikacioni kod</label>
|
||||||
<input type="text" name="kod" inputmode="numeric" pattern="[0-9]{6}" maxlength="6" required autofocus style="width: 160px; font-size: 18px; text-align: center; letter-spacing: 4px" />
|
<input type="text" name="kod" inputmode="numeric" pattern="[0-9]{6}" maxlength="6" required autofocus style="width: 160px; font-size: 18px; text-align: center; letter-spacing: 4px" />
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" style="padding: 9px 20px; background: var(--sb-akcent); color: #fff; border: none; border-radius: 8px; font-size: 14px; font-weight: 500; cursor: pointer">Potvrdi i uključi 2FA</button>
|
<button type="submit" class="btn-primarno">Potvrdi i uključi 2FA</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
{{ else if .TotpAktivan }}
|
{{ else if .TotpAktivan }}
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
<div style="font-size: 13px; color: var(--tekst-sporedni)">Prijava zahteva TOTP kod pored lozinke.</div>
|
<div style="font-size: 13px; color: var(--tekst-sporedni)">Prijava zahteva TOTP kod pored lozinke.</div>
|
||||||
</div>
|
</div>
|
||||||
<form method="POST" action="/admin/profil/totp/deaktiviraj" onsubmit="return confirm('Da li ste sigurni? Ovo će isključiti dvostepenu verifikaciju.');">
|
<form method="POST" action="/admin/profil/totp/deaktiviraj" onsubmit="return confirm('Da li ste sigurni? Ovo će isključiti dvostepenu verifikaciju.');">
|
||||||
<button type="submit" style="padding: 9px 18px; background: #dc2626; color: #fff; border: none; border-radius: 8px; font-size: 14px; font-weight: 500; cursor: pointer">Deaktiviraj 2FA</button>
|
<button type="submit" class="btn-opasno">Deaktiviraj 2FA</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@
|
|||||||
<div style="font-size: 13px; color: var(--tekst-sporedni); margin-bottom: 10px">Rezervni kodovi: preostalo <strong>{{ .BrojRezervnih }}</strong>. Koriste se za prijavu kada nemate pristup aplikaciji sa kodovima.</div>
|
<div style="font-size: 13px; color: var(--tekst-sporedni); margin-bottom: 10px">Rezervni kodovi: preostalo <strong>{{ .BrojRezervnih }}</strong>. Koriste se za prijavu kada nemate pristup aplikaciji sa kodovima.</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<form method="POST" action="/admin/profil/totp/kodovi" onsubmit="return confirm('Generisati nove rezervne kodove? Stari kodovi više neće važiti.');">
|
<form method="POST" action="/admin/profil/totp/kodovi" onsubmit="return confirm('Generisati nove rezervne kodove? Stari kodovi više neće važiti.');">
|
||||||
<button type="submit" style="padding: 8px 16px; background: transparent; color: var(--sb-akcent); border: 1px solid var(--sb-akcent); border-radius: 8px; font-size: 13px; font-weight: 500; cursor: pointer">Regeneriši rezervne kodove</button>
|
<button type="submit" class="btn-sekundarno">Regeneriši rezervne kodove</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="font-size: 13px; color: var(--tekst-sporedni)">Preporučujemo uključivanje dvostepene verifikacije.</div>
|
<div style="font-size: 13px; color: var(--tekst-sporedni)">Preporučujemo uključivanje dvostepene verifikacije.</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="/admin/profil/totp/pokreni" style="padding: 9px 18px; background: var(--sb-akcent); color: #fff; border-radius: 8px; font-size: 14px; font-weight: 500; text-decoration: none">Podesi 2FA</a>
|
<a href="/admin/profil/totp/pokreni" class="btn-primarno">Podesi 2FA</a>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -183,7 +183,7 @@
|
|||||||
|
|
||||||
{{/* padajući meni za premeštanje artikla — prima dict {ID, Kategorije}; koristi se i u tabeli i u mobilnoj kartici */}}
|
{{/* padajući meni za premeštanje artikla — prima dict {ID, Kategorije}; koristi se i u tabeli i u mobilnoj kartici */}}
|
||||||
{{define "premestiMeni"}}
|
{{define "premestiMeni"}}
|
||||||
<button type="button" class="btn-primarno-malo" style="cursor:pointer;align-self:center;"
|
<button type="button" class="btn-primarno-malo" style="align-self:center;"
|
||||||
onclick="document.getElementById('premesti-{{.ID}}').showModal()">Premesti</button>
|
onclick="document.getElementById('premesti-{{.ID}}').showModal()">Premesti</button>
|
||||||
{{/* nativni modal — showModal() ga stavlja u „top layer", pa je uvek iznad svega bez obzira na z-index/overflow */}}
|
{{/* nativni modal — showModal() ga stavlja u „top layer", pa je uvek iznad svega bez obzira na z-index/overflow */}}
|
||||||
<dialog id="premesti-{{.ID}}" class="premesti-modal" onclick="if(event.target===this)this.close()">
|
<dialog id="premesti-{{.ID}}" class="premesti-modal" onclick="if(event.target===this)this.close()">
|
||||||
|
|||||||
@@ -136,7 +136,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form method="POST" action="/nabavke/obrisi/{{.Nabavka.ID}}">
|
<form method="POST" action="/nabavke/obrisi/{{.Nabavka.ID}}">
|
||||||
<button type="submit" class="btn-primarno" style="background:#dc2626;"
|
<button type="submit" class="btn-opasno"
|
||||||
data-potvrda="Da li ste sigurni da želite da obrišete ovu nabavku? Brisanje ne vraća količine artikala u magacin.">
|
data-potvrda="Da li ste sigurni da želite da obrišete ovu nabavku? Brisanje ne vraća količine artikala u magacin.">
|
||||||
Obriši nabavku
|
Obriši nabavku
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -239,7 +239,7 @@
|
|||||||
<form method="POST" action="/prodaja/storno/{{.Nalog.ID}}" style="display:flex;flex-direction:column;gap:8px;align-items:flex-end;">
|
<form method="POST" action="/prodaja/storno/{{.Nalog.ID}}" style="display:flex;flex-direction:column;gap:8px;align-items:flex-end;">
|
||||||
<input type="hidden" name="csrf_token" value="{{.CsrfToken}}">
|
<input type="hidden" name="csrf_token" value="{{.CsrfToken}}">
|
||||||
<input type="text" name="razlog" placeholder="Razlog storniranja (opciono)" style="width:240px;">
|
<input type="text" name="razlog" placeholder="Razlog storniranja (opciono)" style="width:240px;">
|
||||||
<button type="submit" class="btn-primarno" style="background:#f97316;"
|
<button type="submit" class="btn-upozorenje"
|
||||||
data-potvrda="Stornirati nalog {{.Nalog.BrojNaloga}}?">
|
data-potvrda="Stornirati nalog {{.Nalog.BrojNaloga}}?">
|
||||||
Storniraj nalog
|
Storniraj nalog
|
||||||
</button>
|
</button>
|
||||||
@@ -257,7 +257,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<form method="POST" action="/prodaja/obrisi/{{.Nalog.ID}}">
|
<form method="POST" action="/prodaja/obrisi/{{.Nalog.ID}}">
|
||||||
<input type="hidden" name="csrf_token" value="{{.CsrfToken}}">
|
<input type="hidden" name="csrf_token" value="{{.CsrfToken}}">
|
||||||
<button type="submit" class="btn-primarno" style="background:#dc2626;"
|
<button type="submit" class="btn-opasno"
|
||||||
data-potvrda="Da li ste sigurni da želite da obrišete nalog {{.Nalog.BrojNaloga}}?">
|
data-potvrda="Da li ste sigurni da želite da obrišete nalog {{.Nalog.BrojNaloga}}?">
|
||||||
Obriši nalog
|
Obriši nalog
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
<a href="/servis/novi" class="btn-primarno" style="white-space:nowrap;flex-shrink:0;">+ Novi nalog</a>
|
<a href="/servis/novi" class="btn-primarno" style="white-space:nowrap;flex-shrink:0;">+ Novi nalog</a>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<button type="submit" class="btn-primarno" style="white-space:nowrap;">Traži</button>
|
<button type="submit" class="btn-primarno">Traži</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|||||||
@@ -248,7 +248,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form method="POST" action="/servis/obrisi/{{.Nalog.ID}}">
|
<form method="POST" action="/servis/obrisi/{{.Nalog.ID}}">
|
||||||
<button type="submit" class="btn-primarno" style="background:#dc2626;"
|
<button type="submit" class="btn-opasno"
|
||||||
data-potvrda="Da li ste sigurni da želite da obrišete nalog {{.Nalog.BrojNaloga}}?">
|
data-potvrda="Da li ste sigurni da želite da obrišete nalog {{.Nalog.BrojNaloga}}?">
|
||||||
Obriši nalog
|
Obriši nalog
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
Reference in New Issue
Block a user