Commit Graph

16 Commits

Author SHA1 Message Date
Dasko 2727b0da80 Klijenti i Magacin: ukloni dugme Traži; pretraga poštuje filtere (tip/kategorija); gašenje animacije pri pretrazi u klijentima 2026-06-20 23:00:27 +02:00
Dasko 830c51e95e Klijenti: filter po tipu (Svi/Firme/Fizička lica) preko radio dugmadi 2026-06-20 22:49:56 +02:00
Dasko a8f368ca06 Paginacija, interaktivna pretraga i optimizacija prikaza
- Dodata server-side paginacija za magacin (127 artikala) i klijente (1040)
  — Limit/Offset u ArtikalFilter i KlijentFilter, 100 po stranici
  — PrebrojiPoFilteru za izračunavanje ukupnog broja stranica
- Interaktivna pretraga (search-as-you-type) sa HTMX:
  — hx-trigger="keyup changed delay:300ms" na polju pretrage
  — HTMX menja samo #magacin-rezultati / #klijenti-rezultati
  — Polje pretrage ostaje u fokusu tokom osvežavanja
- Popravljena pretraga klijenata po imenu i prezimenu:
  — Dodato (ime || ' ' || prezime) LIKE u sva tri upita
  — "Ivana Lazić" sada pronalazi klijenta
- CSS optimizacije za velike liste:
  — content-visibility: auto na redovima tabela i karticama
  — contain-intrinsic-size za stabilan scroll
  — animation-delay produžen do 20. reda / 10. kartice
2026-06-20 16:19:42 +02:00
Dasko 40ac5e4632 refactor(css): stagger mobilnih lista-kartica na jedno mesto u main.css
Mobilni parnjak prethodnog (tabele): 7 lista-kartica klasa (prodaja/servis/magacin/
pod/klijent/dobavljac/nabavka-kartica) imale su identičan :nth-child stagger
(0.06s korak do 5). Uvedeno jedno pravilo [class*="-kartice"] > .animiraj:nth-child
u main.css; uklonjeni per-page blokovi. Drugi tipovi kartica (detalji/forma/
dashboard/izvestaji) imaju svoj stagger i ostaju po strani.

4 strane (nabavke/klijenti/prodaja/dobavljaci) ostale prazan dodatni-css blok →
uklonjen. Bez HTML izmena u sadržaju; radi i pod HTMX-om. Animacija lista-kartica
se sada menja na JEDNOM mestu.
2026-06-13 01:32:44 +02:00
Dasko ff5f282981 refactor(css): stagger animacija redova tabela na jedno mesto u main.css
Svaka lista-strana je imala identičan tbody tr:nth-child stagger (0.04s korak do
10), samo sa drugim prefiksom klase (.prodaja-tabela, .servis-tabela...). Uvedeno
JEDNO univerzalno pravilo .tabela tbody tr:nth-child(1..10) u main.css (sve tabele
već imaju .tabela, redovi .animiraj). Uklonjeni per-page blokovi iz 10 strana
(uklj. duplikat .dozvole-tabela iz admin_dozvole — kopija ostaje u main.css).

Pogađa samo redove koji se animiraju; nije bilo HTML izmena. Bonus: sada radi i
pod HTMX navigacijom (page <style> blokovi se odbacuju sa <head>, main.css ostaje).
Animacija redova se sada menja na JEDNOM mestu.

Mobilni card stagger (.X-kartica:nth-child) je zaseban — ostaje za sledeći korak.
2026-06-13 01:26:09 +02:00
Dasko 5f60964b7e refactor(css): animacije poruka iz dupliranih <style> u main.css
.poruka-animacija (10 fajlova) i .greska-animacija (7 fajlova) bile su identično
duplirane po stranicama; keyframes (slideDown/shake) su već bili u main.css.
Izdvojene klase u main.css uz keyframes, uklonjeni duplikati. Forma-strane
(dobavljac/podsetnik/magacin/servis_forma) ostale prazan dodatni-css blok →
uklonjen (base.html koristi {{block}} sa difoltom, pa je bezbedno izostaviti).

HTML class= upotrebe netaknute; build, handler testovi i parsiranje prolaze.
2026-06-13 01:11:50 +02:00
Dasko 261dc52b32 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 03e5e39dbb 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 726a1dbbf7 Dodata zahtevajDozvolu metoda koja zamenjuje dupliranu proveru dozvola u handlerima.
Uvedena `AssetV` promenljiva za cache-busting statičkih fajlova, koja se postavlja pri svakom pokretanju.
Kreiran pogled `klijent_prikaz` (migracija 038) za jedinstveno prikazivanje imena klijenta, čime se eliminiše ponavljanje COALESCE logike u upitima.
Izvučena `dodeliOpcijeKorisnika` funkcija u korisnici.go radi DRY.
Zamenjeni inline stilovi u HTML šablonima CSS klasama (`.polje-labela`, `.obavezno`, `.pomocni-tekst`, `.tabela`, `.kartica-tabela`, `.prazno-stanje`).
Dodat `width: 100%` na inpute i `resize: vertical` na textarea u main.css.
2026-06-12 00:43:58 +02:00
Dasko f53618ce5e 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 16b993933c Bezbednosni audit i refaktoring: HP popravke, RBAC, flash poruke, go:embed, CSP 2026-06-07 22:41:09 +02:00
Dasko 2b3636528f Bezbednost: ispravke kontrole pristupa u admin i handler sloju 2026-06-05 22:41:20 +02:00
Dasko 4f54ca3470 Izmena Build.sh skripte 2026-06-04 18:31:27 +02:00
Dasko 08b9359a76 Embed implementacija, animacije, sidebar hover 2026-06-04 02:50:48 +02:00
Dasko 851ceb32dc Izmena Build skripte 2026-06-03 23:51:46 +02:00
Dasko f05c93edd2 Dodavanje modula klijenata — lista, forma, izmena, brisanje, ispravka migracije 2026-06-01 23:40:52 +02:00