Accept marketplace banners at 18:6 (3:1) aspect ratio.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-10-03 20:46:44 +03:30
co-authored by Cursor
parent e0cd2327eb
commit a9e29b79fd
3 changed files with 5 additions and 5 deletions
@@ -549,7 +549,7 @@ export class BusinessProfileService {
}
}
/** Recommended banner aspect 18:4.5 (4:1). Soft-check when dimensions exist. */
/** Recommended banner aspect 18:6 (3:1). Soft-check when dimensions exist. */
private async assertBannerMedia(businessId: bigint, mediaId: bigint) {
const media = await this.prisma.media.findFirst({
where: { id: mediaId, businessId },
@@ -562,10 +562,10 @@ export class BusinessProfileService {
if (media.width && media.height && media.height > 0) {
const ratio = media.width / media.height;
const target = 18 / 4.5; // 4
const target = 18 / 6; // 3
if (Math.abs(ratio - target) / target > 0.12) {
throw new BadRequestException(
'Banner aspect ratio should be about 18:4.5 (4:1)',
'Banner aspect ratio should be about 18:6 (3:1)',
);
}
}
@@ -41,7 +41,7 @@ export type BusinessProfile = {
logoDarkUrl: string | null;
faviconMediaId: string | null;
faviconUrl: string | null;
/** Recommended aspect ratio 18:4.5 (4:1). */
/** Recommended aspect ratio 18:6 (3:1). */
bannerMediaId: string | null;
bannerUrl: string | null;
categoryIds: string[];
@@ -136,7 +136,7 @@ export class UpdateBusinessProfileDto {
@IsInt()
faviconMediaId?: number | null;
/** Marketplace/storefront banner; recommended aspect 18:4.5 (4:1). */
/** Marketplace/storefront banner; recommended aspect 18:6 (3:1). */
@IsOptional()
@Type(() => Number)
@IsInt()