diff --git a/app/Enums/PostPlatform/ContentType.php b/app/Enums/PostPlatform/ContentType.php index f5230aee..b9338bc9 100644 --- a/app/Enums/PostPlatform/ContentType.php +++ b/app/Enums/PostPlatform/ContentType.php @@ -162,7 +162,7 @@ public function maxMediaCount(): int return match ($this) { self::InstagramFeed => 10, self::InstagramReel, self::InstagramStory => 1, - self::LinkedInPost, self::LinkedInPagePost => 20, + self::LinkedInPost, self::LinkedInPagePost => 10, self::FacebookPost => 10, self::FacebookReel, self::FacebookStory => 1, self::TikTokVideo => 1, diff --git a/app/Enums/SocialAccount/Platform.php b/app/Enums/SocialAccount/Platform.php index 85ee8416..e66e2164 100644 --- a/app/Enums/SocialAccount/Platform.php +++ b/app/Enums/SocialAccount/Platform.php @@ -112,7 +112,7 @@ public function allowedMediaTypes(): array public function maxImages(): int { return match ($this) { - self::LinkedIn, self::LinkedInPage => 20, + self::LinkedIn, self::LinkedInPage => 10, self::X => 4, self::TikTok => 0, self::YouTube => 0, diff --git a/resources/js/composables/useMediaRules.ts b/resources/js/composables/useMediaRules.ts index 6840f6f3..137a8a5b 100644 --- a/resources/js/composables/useMediaRules.ts +++ b/resources/js/composables/useMediaRules.ts @@ -62,14 +62,14 @@ const CONTENT_TYPE_RULES: Record = { // LinkedIn — one type per account kind; the publish format (single image, // multi-image, video, or PDF document) is inferred from the attached media. - // Images (up to 20) XOR one video XOR one PDF, never mixed. + // Images (up to 10) XOR one video XOR one PDF, never mixed. linkedin_post: { - maxFiles: 20, acceptImages: true, acceptVideos: true, acceptDocuments: true, + maxFiles: 10, acceptImages: true, acceptVideos: true, acceptDocuments: true, requiresMedia: false, acceptsGif: false, forbidsMixedMedia: true, maxImageBytes: 5 * MB, maxVideoBytes: 5 * GB, maxVideoDurationSec: 10 * 60, maxDocumentBytes: 100 * MB, }, linkedin_page_post: { - maxFiles: 20, acceptImages: true, acceptVideos: true, acceptDocuments: true, + maxFiles: 10, acceptImages: true, acceptVideos: true, acceptDocuments: true, requiresMedia: false, acceptsGif: false, forbidsMixedMedia: true, maxImageBytes: 5 * MB, maxVideoBytes: 5 * GB, maxVideoDurationSec: 10 * 60, maxDocumentBytes: 100 * MB, }, diff --git a/tests/Unit/Enums/ContentTypeTest.php b/tests/Unit/Enums/ContentTypeTest.php index e66d7f6d..4dc7b328 100644 --- a/tests/Unit/Enums/ContentTypeTest.php +++ b/tests/Unit/Enums/ContentTypeTest.php @@ -59,7 +59,7 @@ test('content type has correct max media count', function () { expect(ContentType::InstagramFeed->maxMediaCount())->toBe(10); expect(ContentType::InstagramReel->maxMediaCount())->toBe(1); - expect(ContentType::LinkedInPost->maxMediaCount())->toBe(20); + expect(ContentType::LinkedInPost->maxMediaCount())->toBe(10); expect(ContentType::XPost->maxMediaCount())->toBe(4); expect(ContentType::PinterestCarousel->maxMediaCount())->toBe(5); expect(ContentType::BlueskyPost->maxMediaCount())->toBe(4); @@ -157,7 +157,7 @@ expect($type->supportsDocument())->toBeTrue(); expect($type->supportsMixedMedia())->toBeFalse(); expect($type->requiresMedia())->toBeFalse(); - expect($type->maxMediaCount())->toBe(20); + expect($type->maxMediaCount())->toBe(10); } }); diff --git a/tests/Unit/Enums/PlatformTest.php b/tests/Unit/Enums/PlatformTest.php index b2587f45..5c4f94d1 100644 --- a/tests/Unit/Enums/PlatformTest.php +++ b/tests/Unit/Enums/PlatformTest.php @@ -45,7 +45,7 @@ }); test('platform has correct max images', function () { - expect(Platform::LinkedIn->maxImages())->toBe(20); + expect(Platform::LinkedIn->maxImages())->toBe(10); expect(Platform::X->maxImages())->toBe(4); expect(Platform::TikTok->maxImages())->toBe(0); expect(Platform::YouTube->maxImages())->toBe(0);