diff --git a/core/lib/Models/Tenant/TenantPreviewVariants.php b/core/lib/Models/Tenant/TenantPreviewVariants.php index 00d1c52..52ebe0e 100644 --- a/core/lib/Models/Tenant/TenantPreviewVariants.php +++ b/core/lib/Models/Tenant/TenantPreviewVariants.php @@ -62,8 +62,9 @@ final class TenantPreviewVariants extends JsonSerializableObject private static function defaults(): array { return [ - 'popover' => new TenantPreviewVariant(640, 440, 'image/webp', 80), - 'thumbnail' => new TenantPreviewVariant(256, 256, 'image/webp', 75), + 'thumbnail' => new TenantPreviewVariant(128, 128, 'image/webp', 70), + 'inline' => new TenantPreviewVariant(640, 640, 'image/webp', 80), + 'fullscreen' => new TenantPreviewVariant(2560, 2560, 'image/webp', 90), ]; } } diff --git a/core/lib/Preview/PreviewManager.php b/core/lib/Preview/PreviewManager.php index 12e0bbc..a3af648 100644 --- a/core/lib/Preview/PreviewManager.php +++ b/core/lib/Preview/PreviewManager.php @@ -32,7 +32,7 @@ final readonly class PreviewManager public function fetch( string $tenantId, PreviewSource $source, - string $variant = 'popover', + string $variant = 'inline', ): ?Preview { $tenant = $this->tenants->fetchById($tenantId); if ($tenant === null) { diff --git a/tests/php/Unit/Preview/PreviewConfigurationTest.php b/tests/php/Unit/Preview/PreviewConfigurationTest.php index fcd5eca..6cad9b1 100644 --- a/tests/php/Unit/Preview/PreviewConfigurationTest.php +++ b/tests/php/Unit/Preview/PreviewConfigurationTest.php @@ -19,11 +19,16 @@ final class PreviewConfigurationTest extends TestCase self::assertTrue($preview->enabled()); self::assertSame('previews', $preview->store()); self::assertSame(26214400, $preview->maxSourceSize()); - self::assertSame(640, $preview->variants()->variant('popover')?->width); - self::assertSame(440, $preview->variants()->variant('popover')?->height); - self::assertSame('image/webp', $preview->variants()->variant('popover')?->format); - self::assertSame(80, $preview->variants()->variant('popover')?->quality); - self::assertSame(256, $preview->variants()->variant('thumbnail')?->width); + self::assertSame(128, $preview->variants()->variant('thumbnail')?->width); + self::assertSame(128, $preview->variants()->variant('thumbnail')?->height); + self::assertSame(70, $preview->variants()->variant('thumbnail')?->quality); + self::assertSame(640, $preview->variants()->variant('inline')?->width); + self::assertSame(640, $preview->variants()->variant('inline')?->height); + self::assertSame('image/webp', $preview->variants()->variant('inline')?->format); + self::assertSame(80, $preview->variants()->variant('inline')?->quality); + self::assertSame(2560, $preview->variants()->variant('fullscreen')?->width); + self::assertSame(2560, $preview->variants()->variant('fullscreen')?->height); + self::assertSame(90, $preview->variants()->variant('fullscreen')?->quality); } #[Test] @@ -34,7 +39,7 @@ final class PreviewConfigurationTest extends TestCase 'store' => 'generated-content', 'maxSourceSize' => 1024, 'variants' => [ - 'popover' => [ + 'inline' => [ 'width' => 800, 'height' => 600, 'format' => 'IMAGE/PNG', @@ -47,9 +52,9 @@ final class PreviewConfigurationTest extends TestCase self::assertSame('generated-content', $configuration->preview()->store()); self::assertSame(1024, $configuration->preview()->maxSourceSize()); - self::assertSame(['popover'], array_keys($configuration->preview()->variants()->all())); - self::assertSame('image/png', $configuration->preview()->variants()->variant('popover')?->format); - $data['variants']['popover']['format'] = 'image/png'; + self::assertSame(['inline'], array_keys($configuration->preview()->variants()->all())); + self::assertSame('image/png', $configuration->preview()->variants()->variant('inline')?->format); + $data['variants']['inline']['format'] = 'image/png'; self::assertSame($data, $configuration->jsonSerialize()['preview']); } @@ -59,14 +64,14 @@ final class PreviewConfigurationTest extends TestCase $configuration = (new TenantConfiguration())->jsonDeserialize([ 'preview' => [ 'variants' => [ - 'popover' => ['width' => 900], + 'inline' => ['width' => 900], ], ], ]); - $variant = $configuration->preview()->variants()->variant('popover'); + $variant = $configuration->preview()->variants()->variant('inline'); self::assertSame(900, $variant?->width); - self::assertSame(440, $variant?->height); + self::assertSame(640, $variant?->height); self::assertSame('image/webp', $variant?->format); self::assertSame(80, $variant?->quality); self::assertNull($configuration->preview()->variants()->variant('thumbnail')); @@ -88,10 +93,10 @@ final class PreviewConfigurationTest extends TestCase { yield 'invalid store' => [['store' => '../previews']]; yield 'zero source limit' => [['maxSourceSize' => 0]]; - yield 'invalid variant name' => [['variants' => ['../popover' => []]]]; - yield 'invalid dimensions' => [['variants' => ['popover' => ['width' => 0]]]]; - yield 'invalid output MIME' => [['variants' => ['popover' => ['format' => 'webp']]]]; - yield 'invalid quality' => [['variants' => ['popover' => ['quality' => 101]]]]; + yield 'invalid variant name' => [['variants' => ['../inline' => []]]]; + yield 'invalid dimensions' => [['variants' => ['inline' => ['width' => 0]]]]; + yield 'invalid output MIME' => [['variants' => ['inline' => ['format' => 'webp']]]]; + yield 'invalid quality' => [['variants' => ['inline' => ['quality' => 101]]]]; yield 'enabled without variants' => [['enabled' => true, 'variants' => []]]; } diff --git a/tests/php/Unit/Preview/PreviewManagerTest.php b/tests/php/Unit/Preview/PreviewManagerTest.php index 140fd72..5cd8169 100644 --- a/tests/php/Unit/Preview/PreviewManagerTest.php +++ b/tests/php/Unit/Preview/PreviewManagerTest.php @@ -324,7 +324,7 @@ final class PreviewManagerTest extends TestCase private function request(): PreviewRequest { - return new PreviewRequest(640, 440, 'image/webp', 80); + return new PreviewRequest(640, 640, 'image/webp', 80); } private function resource(string $mimeType = 'image/webp'): BinaryResource