diff --git a/internal/db/sqlite/izvestaj.go b/internal/db/sqlite/izvestaj.go index 79d08c6..4999d98 100644 --- a/internal/db/sqlite/izvestaj.go +++ b/internal/db/sqlite/izvestaj.go @@ -75,7 +75,7 @@ func (r *sqliteIzvestajRepo) PoslednjiServisi(ctx context.Context, limit int) ([ func (r *sqliteIzvestajRepo) KriticneZalihe(ctx context.Context, limit int) ([]model.ZalihaRed, error) { rows, err := r.db.QueryContext(ctx, ` - SELECT naziv, kolicina FROM artikli + SELECT naziv, kolicina, kolicina_min FROM artikli WHERE kolicina <= kolicina_min ORDER BY kolicina ASC LIMIT ?`, limit) if err != nil { @@ -85,7 +85,7 @@ func (r *sqliteIzvestajRepo) KriticneZalihe(ctx context.Context, limit int) ([]m var lista []model.ZalihaRed for rows.Next() { var z model.ZalihaRed - if err := rows.Scan(&z.Naziv, &z.Kolicina); err != nil { + if err := rows.Scan(&z.Naziv, &z.Kolicina, &z.KolicinaMin); err != nil { return nil, fmt.Errorf("ntech: izvestaj.KriticneZalihe: %w", err) } lista = append(lista, z) diff --git a/internal/handler/dashboard.go b/internal/handler/dashboard.go index eb5622e..30acb91 100644 --- a/internal/handler/dashboard.go +++ b/internal/handler/dashboard.go @@ -95,7 +95,7 @@ func (h *Handler) Dashboard(w http.ResponseWriter, r *http.Request) { } else { for _, z := range redovi { boja := "#f97316" - if z.Kolicina == 0 { + if z.Kolicina == 0 || (z.KolicinaMin > 0 && z.Kolicina <= z.KolicinaMin/2) { boja = "#dc2626" } kriticneZalihe = append(kriticneZalihe, model.StavkaZalihe{ diff --git a/internal/model/izvestaj.go b/internal/model/izvestaj.go index 27f68aa..39f0b77 100644 --- a/internal/model/izvestaj.go +++ b/internal/model/izvestaj.go @@ -15,8 +15,9 @@ type ServisRedDashboard struct { // ZalihaRed je artikal sa kritičnom zalihom (naziv + količina) type ZalihaRed struct { - Naziv string - Kolicina int + Naziv string + Kolicina int + KolicinaMin int } // ProdajaRedDashboard je jedan red za listu poslednjih prodaja na dashboardu diff --git a/web/static/css/main.css b/web/static/css/main.css index 4623bab..c482709 100644 --- a/web/static/css/main.css +++ b/web/static/css/main.css @@ -1153,9 +1153,11 @@ select { position: relative; } -/* sprečava treperenje pozadine pri navigaciji između stranica (Chrome/Opera/noviji Firefox) */ -@view-transition { - navigation: auto; +/* sprečava treperenje pozadine pri navigaciji između stranica (samo browseri koji podržavaju) */ +@supports (view-transition-name: none) { + @view-transition { + navigation: auto; + } } /* pomoćne klase (ranije iz Tailwind-a, sada lokalno da ne zavisimo od CDN-a) */ diff --git a/web/templates/stranice/dashboard.html b/web/templates/stranice/dashboard.html index e25d9e9..6f96cfa 100644 --- a/web/templates/stranice/dashboard.html +++ b/web/templates/stranice/dashboard.html @@ -103,7 +103,7 @@ {{ range .KriticneZalihe }}