Ispravka boje tačke na kritičnim zalihama i uklanjanje CSS warning-a

- Boja tačke na kritičnim zalihama: crvena kad je količina upola manja od minimalne
- Uklonjen preload pozadinske slike (nepotreban, izazivao warning u konzoli)
- @view-transition umotan u @supports da ne izaziva warning u browserima koji ne podržavaju
This commit is contained in:
2026-06-16 01:40:43 +02:00
parent c934dde4c0
commit 330f30d8bb
6 changed files with 12 additions and 11 deletions
+2 -2
View File
@@ -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) { func (r *sqliteIzvestajRepo) KriticneZalihe(ctx context.Context, limit int) ([]model.ZalihaRed, error) {
rows, err := r.db.QueryContext(ctx, ` rows, err := r.db.QueryContext(ctx, `
SELECT naziv, kolicina FROM artikli SELECT naziv, kolicina, kolicina_min FROM artikli
WHERE kolicina <= kolicina_min WHERE kolicina <= kolicina_min
ORDER BY kolicina ASC LIMIT ?`, limit) ORDER BY kolicina ASC LIMIT ?`, limit)
if err != nil { if err != nil {
@@ -85,7 +85,7 @@ func (r *sqliteIzvestajRepo) KriticneZalihe(ctx context.Context, limit int) ([]m
var lista []model.ZalihaRed var lista []model.ZalihaRed
for rows.Next() { for rows.Next() {
var z model.ZalihaRed 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) return nil, fmt.Errorf("ntech: izvestaj.KriticneZalihe: %w", err)
} }
lista = append(lista, z) lista = append(lista, z)
+1 -1
View File
@@ -95,7 +95,7 @@ func (h *Handler) Dashboard(w http.ResponseWriter, r *http.Request) {
} else { } else {
for _, z := range redovi { for _, z := range redovi {
boja := "#f97316" boja := "#f97316"
if z.Kolicina == 0 { if z.Kolicina == 0 || (z.KolicinaMin > 0 && z.Kolicina <= z.KolicinaMin/2) {
boja = "#dc2626" boja = "#dc2626"
} }
kriticneZalihe = append(kriticneZalihe, model.StavkaZalihe{ kriticneZalihe = append(kriticneZalihe, model.StavkaZalihe{
+1
View File
@@ -17,6 +17,7 @@ type ServisRedDashboard struct {
type ZalihaRed struct { type ZalihaRed struct {
Naziv string Naziv string
Kolicina int Kolicina int
KolicinaMin int
} }
// ProdajaRedDashboard je jedan red za listu poslednjih prodaja na dashboardu // ProdajaRedDashboard je jedan red za listu poslednjih prodaja na dashboardu
+4 -2
View File
@@ -1153,9 +1153,11 @@ select {
position: relative; position: relative;
} }
/* sprečava treperenje pozadine pri navigaciji između stranica (Chrome/Opera/noviji Firefox) */ /* sprečava treperenje pozadine pri navigaciji između stranica (samo browseri koji podržavaju) */
@view-transition { @supports (view-transition-name: none) {
@view-transition {
navigation: auto; navigation: auto;
}
} }
/* pomoćne klase (ranije iz Tailwind-a, sada lokalno da ne zavisimo od CDN-a) */ /* pomoćne klase (ranije iz Tailwind-a, sada lokalno da ne zavisimo od CDN-a) */
+1 -1
View File
@@ -103,7 +103,7 @@
</div> </div>
{{ range .KriticneZalihe }} {{ range .KriticneZalihe }}
<div style="display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:0.5px solid var(--ivica);"> <div style="display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:0.5px solid var(--ivica);">
<div style="width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#f59e0b;"></div> <div style="width:8px;height:8px;border-radius:50%;flex-shrink:0;background:{{ .BojaTacke }};"></div>
<span style="font-size:13px;color:var(--tekst-glavni);flex:1;">{{ .Naziv }}</span> <span style="font-size:13px;color:var(--tekst-glavni);flex:1;">{{ .Naziv }}</span>
<span style="font-size:12px;color:var(--tekst-sporedni);">{{ .Kolicina }} kom</span> <span style="font-size:12px;color:var(--tekst-sporedni);">{{ .Kolicina }} kom</span>
</div> </div>
@@ -14,8 +14,6 @@
} }
</script> </script>
{{if .AppPozadina}}<link rel="preload" as="image" href="{{.AppPozadina}}">{{end}}
<!-- tema — učitava se prva --> <!-- tema — učitava se prva -->
<link rel="stylesheet" href="/static/css/teme/{{.Tema}}.css?v={{.AssetV}}" /> <link rel="stylesheet" href="/static/css/teme/{{.Tema}}.css?v={{.AssetV}}" />