Completed
Push — master ( ad4380...e899e6 )
by Sebastian
03:55
created

HtmlBuilder::deleteButton()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 6

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 12
rs 9.4285
cc 1
eloc 6
nc 1
nop 1
1
<?php
2
3
namespace App\Services\Html;
4
5
use App\Services\Auth\User;
6
use Illuminate\Html\HtmlBuilder as BaseHtmlBuilder;
7
use Form;
8
use Session;
9
10
class HtmlBuilder extends BaseHtmlBuilder
11
{
12
    public function flashMessage() : string
13
    {
14
        if (!Session::has('flash_notification.message')) {
15
            return '';
16
        }
17
18
        $level = Session::get('flash_notification.level');
19
20
        return el("div.alert.-{$level}", Session::get('flash_notification.message'));
21
    }
22
23
    public function error($message) : string
24
    {
25
        if (empty($message)) {
26
            return '';
27
        }
28
29
        return el('div.alert.-danger', $message);
30
    }
31
32
    public function message($message, string $classes = '') : string
33
    {
34
        if (empty($message)) {
35
            return '';
36
        }
37
38
        return el('div.alert.-success', ['class' => $classes], $message);
39
    }
40
41
    public function info($message, string $classes = '') : string
42
    {
43
        if (empty($message)) {
44
            return '';
45
        }
46
47
        return el('div.alert.-danger', ['class' => $classes],
48
            el('span.fa.fa-info-circle', $message)
49
        );
50
    }
51
52
    public function avatar(User $user, string $classes = '') : string
53
    {
54
        return el('span.avatar', [
55
            'class' => $classes,
56
            'style' => "background-image: url('{$user->present()->avatar()}')",
57
        ], '');
58
    }
59
60
    public function deleteButton(string $url) : string
61
    {
62
        return Form::openButton(
63
            [
64
                'url' => $url,
65
                'method' => 'delete',
66
            ],
67
            [
68
                'class' => 'button -danger -small',
69
            ]
70
        ) . el('span.fa.fa-remove') . Form::closeButton();
71
    }
72
73
    public function onlineIndicator(bool $online) : string
74
    {
75
        $state = $online ? 'on' : 'off';
76
        $icon = $online ? 'circle' : 'circle-o';
77
        $title = $online ? 'Online' : 'Offline';
78
79
        return el("span.status.-{$state}.space-right", ['title' => $title],
80
            el("i.fa.fa-{$icon}")
81
        );
82
    }
83
}
84