diff --git a/app/Livewire/Table/AllUrlFromGuestTable.php b/app/Livewire/Table/AllUrlFromGuestTable.php index ea56e0eef..72f2307e4 100644 --- a/app/Livewire/Table/AllUrlFromGuestTable.php +++ b/app/Livewire/Table/AllUrlFromGuestTable.php @@ -2,11 +2,8 @@ namespace App\Livewire\Table; -use App\Helpers\Helper; use App\Models\Url; use Illuminate\Database\Eloquent\Builder; -use Illuminate\Support\Facades\Blade; -use Illuminate\Support\Str; use PowerComponents\LivewirePowerGrid\Column; use PowerComponents\LivewirePowerGrid\Footer; use PowerComponents\LivewirePowerGrid\Header; @@ -48,51 +45,26 @@ public function fields(): PowerGridFields { return PowerGrid::fields() ->add('keyword', function (Url $url) { - return ''.$url->keyword.''; + return view('components.table.keyword', ['url' => $url]) + ->render(); }) ->add('destination', function (Url $url) { - return - '' - .htmlspecialchars(Str::limit($url->title, self::STR_LIMIT)). - ' -
- ' - .Helper::urlDisplay($url->destination, self::STR_LIMIT). - ''; + return view('components.table.destination', [ + 'url' => $url, + 'limit' => self::STR_LIMIT, + ])->render(); }) ->add('t_clicks', function (Url $url) { - $uClick = numberAbbreviate($url->uniqueClicks); - $tClick = numberAbbreviate($url->clicks); - $icon = Blade::render('@svg(\'icon-bar-chart\', \'ml-2 text-amber-600\')'); - $title = $uClick.' '.__('Uniques').' / '.$tClick.' '.__('Clicks'); - - return '
'.$uClick.' / '.$tClick.$icon.'
'; + return view('components.table.visit', ['url' => $url]) + ->render(); }) ->add('created_at_formatted', function (Url $url) { - return - '' - .$url->created_at->shortRelativeDiffForHumans(). - ''; + return view('components.table.date-created', ['url' => $url]) + ->render(); }) ->add('action', function (Url $url) { - return - '' - .Blade::render('@svg(\'icon-open-in-new\')'). - ' - ' - .Blade::render('@svg(\'icon-edit-alt\')'). - ' - ' - .Blade::render('@svg(\'icon-trash-alt\')'). - ''; + return view('components.table.action-button', ['url' => $url]) + ->render(); }); } diff --git a/app/Livewire/Table/AllUrlTable.php b/app/Livewire/Table/AllUrlTable.php index ae6fa21da..04a1678d7 100644 --- a/app/Livewire/Table/AllUrlTable.php +++ b/app/Livewire/Table/AllUrlTable.php @@ -2,11 +2,8 @@ namespace App\Livewire\Table; -use App\Helpers\Helper; use App\Models\Url; use Illuminate\Database\Eloquent\Builder; -use Illuminate\Support\Facades\Blade; -use Illuminate\Support\Str; use PowerComponents\LivewirePowerGrid\Column; use PowerComponents\LivewirePowerGrid\Footer; use PowerComponents\LivewirePowerGrid\Header; @@ -51,51 +48,26 @@ public function fields(): PowerGridFields return ''.$url->author->name.''; }) ->add('keyword', function (Url $url) { - return ''.$url->keyword.''; + return view('components.table.keyword', ['url' => $url]) + ->render(); }) ->add('destination', function (Url $url) { - return - '' - .htmlspecialchars(Str::limit($url->title, self::STR_LIMIT)). - ' -
- ' - .Helper::urlDisplay($url->destination, self::STR_LIMIT). - ''; + return view('components.table.destination', [ + 'url' => $url, + 'limit' => self::STR_LIMIT, + ])->render(); }) ->add('t_clicks', function (Url $url) { - $uClick = numberAbbreviate($url->uniqueClicks); - $tClick = numberAbbreviate($url->clicks); - $icon = Blade::render('@svg(\'icon-bar-chart\', \'ml-2 text-amber-600\')'); - $title = $uClick.' '.__('Uniques').' / '.$tClick.' '.__('Clicks'); - - return '
'.$uClick.' / '.$tClick.$icon.'
'; + return view('components.table.visit', ['url' => $url]) + ->render(); }) ->add('created_at_formatted', function (Url $url) { - return - '' - .$url->created_at->shortRelativeDiffForHumans(). - ''; + return view('components.table.date-created', ['url' => $url]) + ->render(); }) ->add('action', function (Url $url) { - return - '' - .Blade::render('@svg(\'icon-open-in-new\')'). - ' - ' - .Blade::render('@svg(\'icon-edit-alt\')'). - ' - ' - .Blade::render('@svg(\'icon-trash-alt\')'). - ''; + return view('components.table.action-button', ['url' => $url]) + ->render(); }); } diff --git a/app/Livewire/Table/MyUrlTable.php b/app/Livewire/Table/MyUrlTable.php index d214c987d..b6d3ea683 100644 --- a/app/Livewire/Table/MyUrlTable.php +++ b/app/Livewire/Table/MyUrlTable.php @@ -2,11 +2,8 @@ namespace App\Livewire\Table; -use App\Helpers\Helper; use App\Models\Url; use Illuminate\Database\Eloquent\Builder; -use Illuminate\Support\Facades\Blade; -use Illuminate\Support\Str; use PowerComponents\LivewirePowerGrid\Column; use PowerComponents\LivewirePowerGrid\Footer; use PowerComponents\LivewirePowerGrid\Header; @@ -48,49 +45,26 @@ public function fields(): PowerGridFields { return PowerGrid::fields() ->add('keyword', function (Url $url) { - return ''.$url->keyword.''; + return view('components.table.keyword', ['url' => $url]) + ->render(); }) ->add('destination', function (Url $url) { - return - '' - .htmlspecialchars(Str::limit($url->title, self::STR_LIMIT)). - ' -
- ' - .Helper::urlDisplay($url->destination, self::STR_LIMIT). - ''; + return view('components.table.destination', [ + 'url' => $url, + 'limit' => self::STR_LIMIT, + ])->render(); }) ->add('t_clicks', function (Url $url) { - $uClick = numberAbbreviate($url->uniqueClicks); - $tClick = numberAbbreviate($url->clicks); - $icon = Blade::render('@svg(\'icon-bar-chart\', \'ml-2 text-amber-600\')'); - $title = $uClick.' '.__('Uniques').' / '.$tClick.' '.__('Clicks'); - - return '
'.$uClick.' / '.$tClick.$icon.'
'; + return view('components.table.visit', ['url' => $url]) + ->render(); }) ->add('created_at_formatted', function (Url $url) { - return - '' - .$url->created_at->shortRelativeDiffForHumans(). - ''; + return view('components.table.date-created', ['url' => $url]) + ->render(); }) ->add('action', function (Url $url) { - return - '' - .Blade::render('@svg(\'icon-open-in-new\')'). - ' - ' - .Blade::render('@svg(\'icon-edit-alt\')'). - ' - ' - .Blade::render('@svg(\'icon-trash-alt\')'). - ''; + return view('components.table.action-button', ['url' => $url]) + ->render(); }); } diff --git a/resources/views/components/table/action-button.blade.php b/resources/views/components/table/action-button.blade.php new file mode 100644 index 000000000..0f64d3d99 --- /dev/null +++ b/resources/views/components/table/action-button.blade.php @@ -0,0 +1,17 @@ +
+ + @svg('icon-open-in-new') + + + @svg('icon-edit-alt') + + + @svg('icon-trash-alt') + +
diff --git a/resources/views/components/table/date-created.blade.php b/resources/views/components/table/date-created.blade.php new file mode 100644 index 000000000..d4281a0e7 --- /dev/null +++ b/resources/views/components/table/date-created.blade.php @@ -0,0 +1,5 @@ +
+ + {{ $url->created_at->shortRelativeDiffForHumans() }} + +
diff --git a/resources/views/components/table/destination.blade.php b/resources/views/components/table/destination.blade.php new file mode 100644 index 000000000..8f3aae7cd --- /dev/null +++ b/resources/views/components/table/destination.blade.php @@ -0,0 +1,14 @@ +@use('App\Helpers\Helper') +@use('Illuminate\Support\Str') + +
+ + {{ htmlspecialchars(Str::limit($url->title, $limit)) }} + + +
+ + + {{ Helper::urlDisplay($url->destination, $limit) }} + +
diff --git a/resources/views/components/table/keyword.blade.php b/resources/views/components/table/keyword.blade.php new file mode 100644 index 000000000..377e7a0bc --- /dev/null +++ b/resources/views/components/table/keyword.blade.php @@ -0,0 +1,5 @@ +
+ + {{$url->keyword}} + +
diff --git a/resources/views/components/table/visit.blade.php b/resources/views/components/table/visit.blade.php new file mode 100644 index 000000000..a88973720 --- /dev/null +++ b/resources/views/components/table/visit.blade.php @@ -0,0 +1,10 @@ +@php + $uClick = numberAbbreviate($url->uniqueClicks); + $tClick = numberAbbreviate($url->clicks); + $title = $uClick.' '.__('Uniques').' / '.$tClick.' '.__('Clicks'); +@endphp + +
+ {{ $uClick }} / {{ $tClick }} + @svg('icon-bar-chart', 'ml-2 text-amber-600') +