Files
schreifuchs.ch/web/components/imagetile.templ
T
2026-03-02 22:38:28 +01:00

32 lines
628 B
Templ

package components
import "strings"
import "fmt"
templ ImageTile(src string) {
<div class="grid grid-cols-1 grid-rows-1">
<img
src={ src }
srcset={ makeSrcset(src) }
fetchpriority="high"
class="row-start-1 col-start-1 pointer-events-none w-full h-96 object-cover"
/>
<div class="row-start-1 col-start-1">
{ children... }
</div>
</div>
}
func makeSrcset(src string) string {
sb := strings.Builder{}
for i := range 19 {
sb.WriteString(fmt.Sprintf("%s?w=%d %dw, ", src, 100*(i+1), 50*(i+1)))
}
i := 20
sb.WriteString(fmt.Sprintf("%s?w=%d %dw", src, 100*(i+1), 50*(i+1)))
return sb.String()
}