feat: image component and api

This commit is contained in:
Gustavo "Guz" L. de Mello
2024-06-11 16:31:51 -03:00
parent 7244e5503d
commit 2a1c79ffdc
6 changed files with 226 additions and 46 deletions

29
components/image.templ Normal file
View File

@@ -0,0 +1,29 @@
package components
import "net/url"
templ Image(src templ.SafeURL, alt string, class string) {
<picture class={ class }>
<source
media="(min-width: 1536px)"
srcset={ "/api/image?scale=-6&url=" + url.PathEscape(string(src)) }
/>
<source
media="(min-width: 1280px)"
srcset={ "/api/image?scale=-7&url=" + url.PathEscape(string(src)) }
/>
<source
media="(min-width: 1024px)"
srcset={ "/api/image?scale=-8&url=" + url.PathEscape(string(src)) }
/>
<source
media="(min-width: 768px)"
srcset={ "/api/image?scale=-9&url=" + url.PathEscape(string(src)) }
/>
<source
media="(min-width: 640px)"
srcset={ "/api/image?scale=-10&url=" + url.PathEscape(string(src)) }
/>
<img src={ string(src) } alt={ alt } class="w-100% h-100%"/>
</picture>
}