Add jpg fallback images
This commit is contained in:
parent
14cff1b306
commit
cb70ffb3bb
3 changed files with 56 additions and 28 deletions
|
@ -85,11 +85,14 @@ pub fn Header() -> impl IntoView {
|
||||||
<A href="/gallery">{t!(i18n, gallery)}</A>
|
<A href="/gallery">{t!(i18n, gallery)}</A>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<picture>
|
||||||
<img
|
<img
|
||||||
class="image"
|
class="image"
|
||||||
src="https://images.ctfassets.net/e3magj9g6dp1/14q5L7K0BCol1gx0aCSCck/d1f69bfa404efed6a2dcc71401bbc16d/P5310039-1-2.jpg?w=1600&q=50&fm=avif"
|
src="https://images.ctfassets.net/e3magj9g6dp1/14q5L7K0BCol1gx0aCSCck/d1f69bfa404efed6a2dcc71401bbc16d/P5310039-1-2.jpg?w=1600&q=50&fm=avif"
|
||||||
alt="Banner"
|
alt="Banner"
|
||||||
/>
|
/>
|
||||||
|
<source srcset="https://images.ctfassets.net/e3magj9g6dp1/14q5L7K0BCol1gx0aCSCck/d1f69bfa404efed6a2dcc71401bbc16d/P5310039-1-2.jpg?w=1600&q=50&fm=jpg"/>
|
||||||
|
</picture>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<LanguageSwitcher/>
|
<LanguageSwitcher/>
|
||||||
|
|
|
@ -69,9 +69,13 @@ pub fn GalleryEntry() -> impl IntoView {
|
||||||
None => view! { <div/> },
|
None => view! { <div/> },
|
||||||
Some(image) => {
|
Some(image) => {
|
||||||
let display_url = format!("https:{}?w=2400&h=2400&q=80&fm=avif", &image.image_with_watermark.file.url);
|
let display_url = format!("https:{}?w=2400&h=2400&q=80&fm=avif", &image.image_with_watermark.file.url);
|
||||||
|
let jpg_display_url = format!("https:{}?w=2400&h=2400&q=80&fm=jpg", &image.image_with_watermark.file.url);
|
||||||
view! {
|
view! {
|
||||||
<div class="open-entry">
|
<div class="open-entry">
|
||||||
|
<picture>
|
||||||
<img src=display_url alt=image.title.clone()/>
|
<img src=display_url alt=image.title.clone()/>
|
||||||
|
<source srcset=jpg_display_url/>
|
||||||
|
</picture>
|
||||||
<h3>{image.title.clone()}</h3>
|
<h3>{image.title.clone()}</h3>
|
||||||
<p>{image.description}</p>
|
<p>{image.description}</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -109,8 +113,18 @@ pub fn Gallery() -> impl IntoView {
|
||||||
{gallery.images.into_iter()
|
{gallery.images.into_iter()
|
||||||
.map(|image| {
|
.map(|image| {
|
||||||
let thumbnail_url = format!("https:{}?w=800&h=800&q=80&fm=avif", &image.image_without_watermark.file.url);
|
let thumbnail_url = format!("https:{}?w=800&h=800&q=80&fm=avif", &image.image_without_watermark.file.url);
|
||||||
|
let jpg_thumbnail_url = format!("https:{}?w=800&h=800&q=80&fm=jpg", &image.image_without_watermark.file.url);
|
||||||
let link_url = format!("/gallery/{}", &image.slug);
|
let link_url = format!("/gallery/{}", &image.slug);
|
||||||
view! { <li><A href=link_url><img src=thumbnail_url alt=image.title/></A></li> }
|
view! {
|
||||||
|
<li>
|
||||||
|
<A href=link_url>
|
||||||
|
<picture>
|
||||||
|
<img src=thumbnail_url alt=image.title/>
|
||||||
|
<source srcset=jpg_thumbnail_url/>
|
||||||
|
</picture>
|
||||||
|
</A>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
}).collect::<Vec<_>>()
|
}).collect::<Vec<_>>()
|
||||||
}
|
}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -118,6 +118,9 @@ body {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
picture {
|
||||||
|
display: contents;
|
||||||
|
|
||||||
.image {
|
.image {
|
||||||
max-width: 800px;
|
max-width: 800px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -128,6 +131,7 @@ body {
|
||||||
flex-shrink: 1;
|
flex-shrink: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.language-switcher {
|
.language-switcher {
|
||||||
@include top-level-padding;
|
@include top-level-padding;
|
||||||
|
@ -209,6 +213,9 @@ body {
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
margin-top: 32px;
|
margin-top: 32px;
|
||||||
|
|
||||||
|
picture {
|
||||||
|
display: contents;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
object-fit: contain;
|
object-fit: contain;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -216,6 +223,7 @@ body {
|
||||||
max-width: 1232px;
|
max-width: 1232px;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
|
@ -243,6 +251,8 @@ body {
|
||||||
|
|
||||||
li {
|
li {
|
||||||
|
|
||||||
|
picture {
|
||||||
|
display: contents;
|
||||||
img {
|
img {
|
||||||
height: 400px;
|
height: 400px;
|
||||||
width: 400px;
|
width: 400px;
|
||||||
|
@ -256,4 +266,5 @@ body {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue