diff --git a/includes/class-newspack-newsletters-renderer.php b/includes/class-newspack-newsletters-renderer.php index c5d28d78e..d671e8925 100644 --- a/includes/class-newspack-newsletters-renderer.php +++ b/includes/class-newspack-newsletters-renderer.php @@ -852,17 +852,18 @@ function ( $block ) { $social_wrapper_attrs = array( 'icon-size' => '24px', 'mode' => 'horizontal', - 'padding' => '0', 'border-radius' => '999px', - 'icon-padding' => '7px', + 'icon-padding' => isset( $attrs['className'] ) && 'is-style-filled-primary-text' === $attrs['className'] ? '0px' : '7px', + 'padding' => '0', ); if ( isset( $attrs['align'] ) ) { $social_wrapper_attrs['align'] = $attrs['align']; } else { $social_wrapper_attrs['align'] = 'left'; } + $markup = ''; - foreach ( $inner_blocks as $link_block ) { + foreach ( $inner_blocks as $index => $link_block ) { if ( isset( $link_block['attrs']['url'] ) ) { $url = $link_block['attrs']['url']; // Handle older version of the block, where innner blocks we named `core/social-link-`. @@ -875,8 +876,14 @@ function ( $block ) { 'src' => plugins_url( 'assets/' . $social_icon['icon'], __DIR__ ), 'background-color' => $social_icon['color'], 'css-class' => 'social-element', + 'padding' => '8px', ); + if ( $index === 0 || $index === count( $inner_blocks ) - 1 ) { + $img_attrs['padding-left'] = $index === 0 ? '0' : '8px'; + $img_attrs['padding-right'] = $index === 0 ? '8px' : '0'; + } + $markup .= ''; } } diff --git a/tests/test-renderer.php b/tests/test-renderer.php index 97546f830..63e0f1a34 100755 --- a/tests/test-renderer.php +++ b/tests/test-renderer.php @@ -313,7 +313,7 @@ public function test_render_social_icons() { 'innerHTML' => '
', ] ), - '', + '', 'Renders social icons' ); }