Test Failed
Push — develop ( 697453...6c3693 )
by Paul
09:01
created

SiteReviewsSummaryBlock::blockStyle()   A

Complexity

Conditions 4
Paths 8

Size

Total Lines 15
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 10
c 0
b 0
f 0
dl 0
loc 15
rs 9.9332
cc 4
nc 8
nop 1
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Integrations\Gutenberg\Blocks;
4
5
use GeminiLabs\SiteReviews\Contracts\ShortcodeContract;
6
use GeminiLabs\SiteReviews\Shortcodes\SiteReviewsSummaryShortcode;
7
8
class SiteReviewsSummaryBlock extends Block
9
{
10
    public function shortcode(): ShortcodeContract
11
    {
12
        return glsr(SiteReviewsSummaryShortcode::class);
13
    }
14
15
    protected function blockClassAttr(array $attributes): string
16
    {
17
        $attr = [];
18
        if (!empty($attributes['summaryAlign'])) {
19
            $attr[] = "items-justified-{$attributes['summaryAlign']}";
20
        }
21
        if (!empty($attributes['summaryRatingColor']) || !empty($attributes['summaryRatingColorCustom'])) {
22
            $attr[] = 'has-custom-rating-color';
23
        }
24
        return implode(' ', $attr);
25
    }
26
27
    protected function blockStyleAttr(array $attributes): string
28
    {
29
        $attr = [];
30
        if (!empty($attributes['summaryRatingColor'])) {
31
            $attr[] = "--glsr-bar-bg: var(--wp--preset--color--{$attributes['summaryRatingColor']});";
32
        } elseif (!empty($attributes['summaryRatingColorCustom'])) {
33
            $attr[] = "--glsr-bar-bg: {$attributes['summaryRatingColorCustom']};";
34
        }
35
        if (!empty($attributes['summaryBarSize'])) {
36
            $attr[] = "--glsr-bar-size: {$attributes['summaryBarSize']};";
37
        }
38
        if (!empty($attributes['summaryBarSpacing'])) {
39
            $attr[] = "--glsr-bar-spacing: {$attributes['summaryBarSpacing']};";
40
        }
41
        if (!empty($attributes['summaryStarSize'])) {
42
            $attr[] = "--glsr-summary-star: {$attributes['summaryStarSize']};";
43
        }
44
        if (!empty($attributes['summaryMaxWidth'])) {
45
            $attr[] = "--glsr-max-w: {$attributes['summaryMaxWidth']};";
46
        } else {
47
            $attr[] = "--glsr-max-w: none";
48
        }
49
        return implode('', $attr);
50
    }
51
}
52