Commit Graph
27 Commits
Author SHA1 Message Date
Dasko 5343fd0a9b Podešavanja: ispravka preuzimanja backup-a (hx-boost), CodeQL request-forgery (SSRF) 2026-06-30 14:27:20 +02:00
Dasko f3191a7224 Mobilni: forma-grid-2/3 klase umesto inline grid-template-columns na formama 2026-06-29 21:48:03 +02:00
Dasko 55a0cfd1ea Navigacija: hx-boost na sve navigacione linkove (bez bljeska pozadine)
- 'Nazad' linkovi (.nazad-link) i akcioni/ulazni linkovi kroz 38 šablona
dobili isti hx-boost set kao sidebar (swap #glavni-sadrzaj, bez punog reloda)
- Preskočeni: target=_blank (štampa), brisanje, odjava, već boosted
- Pozadina (html/body) se više ne re-renderuje pri navigaciji → ne trepće
2026-06-23 01:16:55 +02:00
Dasko af455e351e refactor(css): stagger kartica na stranicama profila/podešavanja na jedno mesto
Isti .animiraj:nth-child stagger (korak 0.06s) bio je dupliran u 7
template <style> blokova (admin_profil, admin_login_istorija, profil_tema,
podesavanja i 3 podstranice). Prebačen u main.css kao
.stranica-stack .animiraj:nth-child(N); descendant selektor čuva isto
ponašanje po neposrednom roditelju, a klasa .stranica-stack sprečava
curenje na ostatak programa. Sad radi i pod HTMX navigacijom, menja se
na jednom mestu.
2026-06-13 08:33:13 +02:00
Dasko f4efd60ca0 refactor(css): toast sistem iz dupliranih <style> blokova u main.css
Toast obaveštenja (.toast, .toast-greska, .toast-uspeh, .toast.nestaje,
@keyframes toastIn/Out) bila su identično duplirana u podesavanja.html i
podesavanja_opste.html. Izdvojeno jednom u main.css; uklonjeno iz oba <style>
bloka. Obe strane idu kroz base.html (učitavaju main.css), pa rade nepromenjeno.
Standalone .greska (prijava/totp_provera/setup) NAMERNO ostavljene — te strane
ne učitavaju main.css (samostalne, minimalne).
2026-06-13 01:07:03 +02:00
Dasko d99db72665 refactor(css): ghost-obriši dugme na .btn-obrisi-ghost klasu
Nova klasa .btn-obrisi-ghost (providna pozadina, #fca5a5 ivica, #dc2626 tekst) —
ghost varijanta brisanja, drugačija od pune .btn-obrisi-malo. Zamenjeno 6 inline
pojava u: admin_korisnici, podesavanja (2x), podesavanja_sistem, podesavanja_izgled,
profil_tema. Mala veličina je default klase; srednje (7px 14px / radius 8px /
font 13px) dobile kontekstualni override. Dodat suptilan hover (ranije ga nije bilo).
Preostali #fca5a5 su error/toast poruke (.greska/.toast-greska) — nisu dugmad.
2026-06-13 01:02:37 +02:00
Dasko e922d76331 refactor(css): layout utili .kolona i .red-izmedju
Nove utility klase: .kolona (display:flex;flex-direction:column) i .red-izmedju
(display:flex;justify-content:space-between) — struktura bez razmaka. Izdvojena
strukturna flex deklaracija iz 50 elemenata (32 kolona + 18 red-izmedju); gap/
margin ostaju kao kontekstualni override po instanci.
Visoko varirani page-header redovi (sa border-bottom/flex-wrap) ostavljeni —
jednokratni. Bez promene izgleda; šabloni parsiraju.
2026-06-13 00:57:07 +02:00
Dasko 25aed85ee6 refactor(css): sporedni tekst na .pomocni-tekst klasu
39 inline elemenata (span/div) sa font-size:13px;color:var(--tekst-sporedni)
(identično postojećoj .pomocni-tekst) zamenjeno klasom; ukupno 40.
Razdelnici (border-bottom:0.5px na <tr>) NISU dirani: mešavina su thead redova
(redundantni — .tabela ih daje) i tbody data redova (gde je ivica separator i
POTREBNA), pa blanket-promena nije bezbedna. Naglašeni naslovi (font-weight:500;
color:glavni) imaju raznolik font-size (14/15/16/22px) — ne mapiraju se na jednu
klasu, ostavljeni.
2026-06-13 00:50:10 +02:00
Dasko e2aaab32a7 refactor(css): inline <table> na .tabela klasu
Tabele su koristile inline width:100%;border-collapse:collapse (identično .tabela).
21 tabela sada koristi .tabela (named tabele dobile ' tabela' uz postojeću klasu).
Preostale 2 imaju samo kontekstualni font-size:13px override.
th/td/thead-tr ostavljeni inline: th/td su kontekstualni (poravnanje/širina/boja
po koloni, raznoliki), a thead tr border je redundantan-ali-bezopasan (klasa daje
isti border:0.5px var(--ivica), inline ga samo nadjačava istom vrednošću).
Bez promene izgleda; šabloni parsiraju.
2026-06-13 00:45:41 +02:00
Dasko 655e15b521 refactor(css): inline labele forme na .polje-labela klasu
59 inline labela (font-size:13px; color:--tekst-sporedni; display:block;
margin-bottom:6px — identično .polje-labela) zamenjeno klasom; ukupno 67 labela
sada koristi .polje-labela. Inputi se već globalno stilizuju (main.css 635-679),
pa nije bilo punih inline input-stilova. Preostale labele (12px/4px, 8px, flex
checkbox/radio) su namerne varijante — ostavljene.
Bez promene izgleda. Napomena: redundantni inline width:100% na inputima (globalni
stil ga već postavlja) ostavljen za kasnije (bezbedno uklanjanje traži ciljanje
po elementu jer je width:100% legitiman na tabelama).
2026-06-13 00:07:13 +02:00
Dasko c99887bb6f Magacin: modal za premeštanje + ujednačen slajder na svim brauzerima
Premeštanje artikla:
- Padajući <details> meni zamenjen nativnim <dialog> modalom (showModal),
koji ide u „top layer" pa je uvek iznad svega bez obzira na z-index/overflow.
- Dodato zatamnjenje pozadine (::backdrop) i fade in/out animacije
(@starting-style + transition-behavior: allow-discrete).
- Klik van modala, × dugme i Escape zatvaraju; klik na kategoriju i dalje
odmah premešta artikal.
Tema i HTMX:
- CSS modala premešten iz magacin.html (dodatni-css u headeru) u main.css,
jer se header ne menja pri HTMX navigaciji (hx-select=#glavni-sadrzaj),
pa je stil sada uvek prisutan.
- Modal prati svetlu/tamnu temu preko CSS promenljivih; kad je aktivna
pozadinska slika, glass-override u base.html ga čini providnim i zamućenim
kao kartice.
- Modal centriran (margin:auto, jer reset gazi UA podrazumevano) i pojačana senka.
Slajder (input[type=range]):
- Dodata zajednička klasa .klizac sa ručnim stilom za oba motora
(::-webkit-slider-* i ::-moz-range-*), da svuda izgleda kao u Firefox-u.
- Plava popunjenost pre glave: Firefox preko ::-moz-range-progress, Chromium
preko gradijenta i CSS promenljive --popunjeno koju postavlja JS.
- Svih 12 slajdera (profil_tema, podesavanja_izgled, podesavanja) prešlo sa
inline accent-color stila na klasu .klizac.
2026-06-10 00:05:40 +02:00
Dasko be74b22508 Premešten responsive CSS u main.css zbog HTMX navigacije
- Premešten sav responsive CSS (display: none za kartice, @media pravila)
iz {{define "dodatni-css"}} blokova u globalni main.css
- Pogođene stranice: nabavke, dobavljači, klijenti, magacin, servis,
prodaja, podsetnici, nabavka forma/detalji, servis forma, podešavanja
- Razlog: HTMX pri navigaciji menja samo <main> sadržaj, <head> ostaje —
page-specifičan CSS iz dodatni-css nije bio aktivan nakon navigacije
2026-06-07 22:41:09 +02:00
Dasko ef3a323203 Bezbednosni audit i refaktoring: HP popravke, RBAC, flash poruke, go:embed, CSP 2026-06-07 22:41:09 +02:00
Dasko 0966f358ba Refaktoring: uklanjanje globalne teme i app pozadine, dozvole u podešavanja, UI ispravke
- Uklonjena globalna tema i pozadinska slika aplikacije (ostala samo lična pozadina po korisniku)
- Uklonjena animacija treperenja pozadine pri navigaciji; dodat sessionStorage za instant prikaz
- Dozvole premeštene iz sidebar-a u Podešavanja → Sistem; vidljive i adminu (samo Radnik kolona)
- Admin može menjati samo dozvole uloge Radnik, superadmin menja i Radnik i Admin
- Zatamnjivanje kartice NTech na stranici prijave — novi slider u Podešavanja → Izgled
- Upozorenje na dashboard-u (kritične zalihe) — popravljen kontrast boje
2026-06-06 21:07:01 +02:00
Dasko 1b2d701b7c Izmena u radu tema 2026-06-06 17:47:52 +02:00
Dasko 75b020b98d Podešavanja: accordion podmeni, podsekcije Opšte/Izgled/Sistem, glassmorphism prijava, kontrast teksta 2026-06-06 02:58:12 +02:00
Dasko 7ee627d0e0 Podešavanja: ispravke UI pozadinske slike prijave i aplikacije 2026-06-06 01:21:08 +02:00
Dasko 855084fe8c Podešavanja: glass efekt, pozadinska slika aplikacije, preview panel sa slajderima 2026-06-06 01:02:53 +02:00
Dasko d90ba424b5 Podešavanja: pozadinska slika i glass efekt za aplikaciju sa live preview sliderom 2026-06-05 23:49:05 +02:00
Dasko c0bb36c1b3 Dodato go:embed - disk-first logika za statičke fajlove i šablone 2026-06-04 20:14:03 +02:00
Dasko a884c06331 Embed implementacija, animacije, sidebar hover 2026-06-04 02:50:48 +02:00
Dasko 1f66655f8e Optimizacije — SQLite WAL, template keš, gzip kompresija, build skript 2026-06-03 21:18:12 +02:00
Dasko e9933eaf3e Ispravka QR koda za 2FA — generisanje na serveru kao base64 PNG 2026-06-02 22:29:53 +02:00
Dasko be2f43fbc8 Podešavanja — adresa, telefon, PIB firme; priznanica sa podacima firme i klijenta; ispravka prihoda na dashboardu 2026-06-02 18:57:52 +02:00
Dasko b0ea50578f Magacin — forma puna širina, responsive popravke 2026-06-01 02:49:46 +02:00
Dasko 8cc54a7fc2 Popravka greške u topbaru, responsive sidebar, tačkice za teme 2026-06-01 02:04:50 +02:00
Dasko 8a9579e201 Dodavanje stranice podešavanja, CSS teme, logo zona 2026-06-01 01:40:29 +02:00