diff --git a/components/akey/an-vedette.js b/components/akey/an-vedette.js index 32120ef..074e3e6 100644 --- a/components/akey/an-vedette.js +++ b/components/akey/an-vedette.js @@ -22,7 +22,7 @@ export default function AnVedette({teks}) { const [imageLoaded, setImageLoaded] = useState(false) const {titre, artistes, annee, couverture, slug} = teks const aliases = getAlias(artistes, teks.prioriteArtistes) - const fmt = formatKuveti(couverture) + const fmt = formatKuveti(couverture, 'medium') const imageUrl = fmt?.url ? `${IMAGE_URL}${fmt.url}` : noImageUrl return ( diff --git a/lib/kuveti.js b/lib/kuveti.js index 00be6e9..c5ddd99 100644 --- a/lib/kuveti.js +++ b/lib/kuveti.js @@ -1,19 +1,14 @@ -export const formatKuveti = kuveti => { - if (!kuveti) { - return null - } +const SIZE_ORDER = { + large: ['large', 'medium', 'small'], + medium: ['medium', 'small', 'large'], + small: ['small', 'medium', 'large'], +} - if (kuveti && kuveti.formats && kuveti.formats.large) { - return kuveti.formats.large +export const formatKuveti = (kuveti, preferred = 'large') => { + if (!kuveti) return null + const order = SIZE_ORDER[preferred] ?? SIZE_ORDER.large + for (const size of order) { + if (kuveti.formats?.[size]) return kuveti.formats[size] } - - if (kuveti && kuveti.formats && kuveti.formats.medium) { - return kuveti.formats.medium - } - - if (kuveti && kuveti.formats && kuveti.formats.small) { - return kuveti.formats.small - } - return kuveti }