pict-rs-aggregator/templates/image_preview.rs.html

26 lines
876 B
HTML

@use crate::{pict::Extension, Entry, State};
@use uuid::Uuid;
@(id: Uuid, entry: &Entry, state: &State)
@if let Some(filename) = entry.filename() {
<div class="image-box">
<a href="#@id">
<picture>
<source type="image/webp" srcset="@state.srcset(filename, Extension::Webp)" />
<source type="image/avif" srcset="@state.srcset(filename, Extension::Avif)" />
<source type="image/jpeg" srcset="@state.srcset(filename, Extension::Jpg)" />
<img
loading="lazy"
src="@state.image_path(filename)"
@if let Some(title)=entry.title.as_ref() { title="@title" }
@if let Some(description)=entry.description.as_ref() { alt="@description" }
@if let Some(dimensions) = entry.dimensions() { width="@dimensions.width" height="@dimensions.height" }
/>
</picture>
</a>
</div>
} else {
<span>Pending</span>
}