From 0668dfba7d9b3972bb07848aa37f38b1e65c6c2c Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Tue, 19 May 2026 14:31:12 +0200 Subject: [PATCH 1/4] Change large card view to use full width --- src/shared/components/post/post-listings.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/components/post/post-listings.tsx b/src/shared/components/post/post-listings.tsx index ac44fb9764..8af1808bd5 100644 --- a/src/shared/components/post/post-listings.tsx +++ b/src/shared/components/post/post-listings.tsx @@ -222,8 +222,8 @@ export class PostListings extends Component { function postListingModeCols(mode: PostListingMode): string { switch (mode) { case "list": - return "col-12"; case "card": + return "col-12"; case "small_card": return "col-12 col-md-6"; } From 0c3ea072cdbd3f7806b7d68813bf5c1260ce4ac5 Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Thu, 28 May 2026 11:25:47 +0200 Subject: [PATCH 2/4] fix large card image size --- src/shared/components/common/pictrs-image.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/shared/components/common/pictrs-image.tsx b/src/shared/components/common/pictrs-image.tsx index 94e30e3f26..e85c716ee5 100644 --- a/src/shared/components/common/pictrs-image.tsx +++ b/src/shared/components/common/pictrs-image.tsx @@ -200,6 +200,8 @@ export function buildPictrsSrc(src: string, type: PictrsImageType): string { case "banner": url.searchParams.set("max_size", bannerSize.toString()); break; + case "full_size": + break; default: url.searchParams.set("max_size", defaultImgSize.toString()); break; From 3dcd5f4057c9d1fd5164612b7c160deead715302 Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Thu, 28 May 2026 11:29:18 +0200 Subject: [PATCH 3/4] handle more --- src/shared/components/common/pictrs-image.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/shared/components/common/pictrs-image.tsx b/src/shared/components/common/pictrs-image.tsx index e85c716ee5..3e971b11c2 100644 --- a/src/shared/components/common/pictrs-image.tsx +++ b/src/shared/components/common/pictrs-image.tsx @@ -195,9 +195,12 @@ export function buildPictrsSrc(src: string, type: PictrsImageType): string { url.searchParams.set("max_size", thumbnailSize.toString()); break; case "icon": + case "icon_without_banner": url.searchParams.set("max_size", iconThumbnailSize.toString()); break; case "banner": + case "icon_and_banner": + case "card_top": url.searchParams.set("max_size", bannerSize.toString()); break; case "full_size": From c5af053df68b1d556b435f54055fe3e1a91fc234 Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Mon, 1 Jun 2026 11:09:57 +0200 Subject: [PATCH 4/4] large thumbnail --- src/shared/components/common/media-uploads.tsx | 2 +- src/shared/components/common/pictrs-image.tsx | 6 ++++-- src/shared/components/post/post-listing-card.tsx | 2 +- src/shared/components/post/post-listings.tsx | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/shared/components/common/media-uploads.tsx b/src/shared/components/common/media-uploads.tsx index dde72adc96..63a6007a68 100644 --- a/src/shared/components/common/media-uploads.tsx +++ b/src/shared/components/common/media-uploads.tsx @@ -58,7 +58,7 @@ export class MediaUploads extends Component {
{this.deleteImageBtn(i.local_image)}
diff --git a/src/shared/components/common/pictrs-image.tsx b/src/shared/components/common/pictrs-image.tsx index 3e971b11c2..41698a4ef5 100644 --- a/src/shared/components/common/pictrs-image.tsx +++ b/src/shared/components/common/pictrs-image.tsx @@ -18,7 +18,7 @@ const defaultImgSize = 512; const bannerSize = 2048; type PictrsImageType = - | "full_size" + | "large_thumbnail" | "thumbnail" | "icon" | "banner" @@ -203,7 +203,9 @@ export function buildPictrsSrc(src: string, type: PictrsImageType): string { case "card_top": url.searchParams.set("max_size", bannerSize.toString()); break; - case "full_size": + case "large_thumbnail": + // Use bannerSize here for slight downscaling, but larger than thumbnail + url.searchParams.set("max_size", bannerSize.toString()); break; default: url.searchParams.set("max_size", defaultImgSize.toString()); diff --git a/src/shared/components/post/post-listing-card.tsx b/src/shared/components/post/post-listing-card.tsx index 6ca0d7c23b..91a440f35a 100644 --- a/src/shared/components/post/post-listing-card.tsx +++ b/src/shared/components/post/post-listing-card.tsx @@ -349,7 +349,7 @@ function PostImg({
{ function postListingModeCols(mode: PostListingMode): string { switch (mode) { case "list": - case "card": return "col-12"; + case "card": case "small_card": - return "col-12 col-md-6"; + return "col-12 col-xl-6"; } }