diff --git a/app/internal/handlers/handlers.go b/app/internal/handlers/handlers.go index 922d89b..897de89 100644 --- a/app/internal/handlers/handlers.go +++ b/app/internal/handlers/handlers.go @@ -70,6 +70,17 @@ func New(imagesDir, staticDir string, mailCfg *mail.Config) (*Server, error) { } else { log.Print("gallery thumbnails: ready") } + // Thumbnail URLs are resolved during gallery.List. Re-list after derivative + // generation so newly-created thumbs appear immediately on first load. + if refreshed, err := gallery.List(imagesDir); err != nil { + log.Printf("gallery refresh after thumbnails: %v", err) + } else { + srv.Images = refreshed + if hero, hasHero := gallery.SelectHero(refreshed); hasHero { + srv.Hero = hero + srv.HasHero = true + } + } return srv, nil } diff --git a/app/templates/gallery.templ b/app/templates/gallery.templ index d384c61..c518237 100644 --- a/app/templates/gallery.templ +++ b/app/templates/gallery.templ @@ -22,7 +22,9 @@ templ GalleryGrid(images []gallery.Image) { > if img.ThumbURL != "" { { + }