diff --git a/source/php/Integrations/Component/Image.php b/source/php/Integrations/Component/Image.php deleted file mode 100644 index 1f52e339..00000000 --- a/source/php/Integrations/Component/Image.php +++ /dev/null @@ -1,15 +0,0 @@ -data; + if($data && isset($data['left'], $data['top'])) { + return [ + 'left' => $data['left'] ?? 50, + 'top' => $data['top'] ?? 50 + ]; + } + return ['left' => 50, 'top' => 50]; + } +} diff --git a/source/php/Integrations/Component/ImageResolver.php b/source/php/Integrations/Component/ImageResolver.php new file mode 100644 index 00000000..06f60f7e --- /dev/null +++ b/source/php/Integrations/Component/ImageResolver.php @@ -0,0 +1,37 @@ + wp_get_attachment_image_src( - $fields['mod_hero_background_image']['id'], - [1728, false] //90% of 1920 (max screen width) - )[0] ?? false, - 'imageFocus' => [ - 'top' => $fields['mod_hero_background_image']['top'] ?? '50', - 'left' => $fields['mod_hero_background_image']['left'] ?? '50' - ] + 'image' => ImageComponentContract::factory( + (int) $fields['mod_hero_background_image']['id'], + [1920, false], + new ImageResolver(), + new ImageFocusResolver($fields['mod_hero_background_image']) + ) ]; } diff --git a/source/php/Module/Hero/views/image.blade.php b/source/php/Module/Hero/views/image.blade.php index 8c89dee5..df223216 100644 --- a/source/php/Module/Hero/views/image.blade.php +++ b/source/php/Module/Hero/views/image.blade.php @@ -1,7 +1,6 @@ @hero([ "classList" => $stretch ? [$class] : [], "image" => $image, - "imageFocus" => $imageFocus, "size" => $size, "title" => !$hideTitle && !empty($postTitle) ? $postTitle : false, "byline" => $byline, diff --git a/source/php/Module/Image/Image.php b/source/php/Module/Image/Image.php index 35e125ac..921f9f05 100644 --- a/source/php/Module/Image/Image.php +++ b/source/php/Module/Image/Image.php @@ -3,7 +3,8 @@ namespace Modularity\Module\Image; use Municipio\Helper\Image as ImageHelper; -use Modularity\Integrations\Component\Image as ImageResolverInterface; +use Modularity\Integrations\Component\ImageResolver; +use Modularity\Integrations\Component\ImageFocusResolver; use ComponentLibrary\Integrations\Image\Image as ImageComponentContract; class Image extends \Modularity\Module @@ -59,7 +60,8 @@ public function data() : array $resolvedImage = ImageComponentContract::factory( $imageId, $imageSize, - new ImageResolverInterface() + new ImageResolver(), + new ImageFocusResolver('test') ); $data['image']['src'] = $resolvedImage;