Merge remote-tracking branch 'origin/main' into feat/merge
This commit is contained in:
+8
-2
@@ -44,16 +44,22 @@ export interface WpPost {
|
||||
};
|
||||
}
|
||||
|
||||
/** Returns thumbnail URL for list/card (medium) or full for single post. */
|
||||
/** WordPress scaled filenames: photo-1024x768.jpg → photo.jpg */
|
||||
export function getFullSizeWpImageUrl(url: string): string {
|
||||
return url.replace(/-\d+x\d+(?=\.(jpe?g|png|gif|webp|avif)(\?|$))/i, "");
|
||||
}
|
||||
|
||||
/** Returns thumbnail URL for list/card (medium) or full original for single post. */
|
||||
export function getFeaturedImageUrl(
|
||||
post: WpPost,
|
||||
size: "medium" | "medium_large" | "full" = "medium"
|
||||
): string | null {
|
||||
const media = post._embedded?.["wp:featuredmedia"]?.[0];
|
||||
if (!media?.source_url) return null;
|
||||
if (size === "full") return media.source_url;
|
||||
const sizes = media.media_details?.sizes;
|
||||
if (sizes?.[size]?.source_url) return sizes[size].source_url;
|
||||
if (size !== "full" && sizes?.medium?.source_url) return sizes.medium.source_url;
|
||||
if (sizes?.medium?.source_url) return sizes.medium.source_url;
|
||||
return media.source_url;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user