diff --git a/app/Models/Traits/LogsModel.php b/app/Models/Traits/LogsModel.php index a1e1b7e..6313477 100644 --- a/app/Models/Traits/LogsModel.php +++ b/app/Models/Traits/LogsModel.php @@ -48,14 +48,13 @@ protected function getLogSubjectName(): string return $this->name; } - protected function getLogCauserName(): HtmlString + protected function getLogCauserName(): string { - $user = auth('web')->user(); + if ($user = auth('web')->user()) { + return $user->name; + } - return str($user->name ?? __('system')) - ->wrap($user ? '**' : '*') - ->inlineMarkdown() - ->toHtmlString(); + return __('System'); } protected function getLogFirstSubject(): object @@ -80,32 +79,32 @@ protected function getLogSecondSubjectName(): string protected function logDescription(string $eventName): string { - return __(':subject.type :subject.name was :event by :causer.name', [ + return __(':subject.type :subject.name was :event by :causer.name', [ 'subject.type' => str(class_basename(get_class($this)))->headline(), - 'subject.name' => e($this->getLogSubjectName()), - 'event' => $eventName, - 'causer.name' => $this->getLogCauserName(), + 'subject.name' => str(e($this->getLogSubjectName()))->wrapHtmlTag('strong'), + 'event' => str($eventName)->wrapHtmlTag('em')->wrapHtmlTag('strong'), + 'causer.name' => str(e($this->getLogCauserName()))->wrapHtmlTag('strong'), ]); } protected function logDescriptionPivot(string $eventName): string { - return __(':subject.first.type :subject.first.name was :event :to :subject.second.type :subject.second.name by :causer.name', [ + return __(':subject.first.type :subject.first.name was :event :to :subject.second.type :subject.second.name by :causer.name', [ 'subject.first.type' => str(class_basename(get_class($this->getLogFirstSubject())))->headline(), - 'subject.first.name' => e($this->getLogFirstSubjectName()), - 'event' => match ($eventName) { + 'subject.first.name' => str(e($this->getLogFirstSubjectName()))->wrapHtmlTag('strong'), + 'event' => str(match ($eventName) { 'created' => __('attached'), 'deleted' => __('detached'), default => $eventName, - }, + })->wrapHtmlTag('em')->wrapHtmlTag('strong'), 'to' => match ($eventName) { 'created' => __('to'), 'deleted' => __('from'), default => __('for'), }, 'subject.second.type' => str(class_basename(get_class($this->getLogSecondSubject())))->headline(), - 'subject.second.name' => e($this->getLogSecondSubjectName()), - 'causer.name' => $this->getLogCauserName(), + 'subject.second.name' => str(e($this->getLogSecondSubjectName()))->wrapHtmlTag('strong'), + 'causer.name' => str(e($this->getLogCauserName()))->wrapHtmlTag('strong'), ]); } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 7109e0a..f18dd28 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -6,7 +6,6 @@ use App\Models\User; use Illuminate\Support\Facades\Gate; use Illuminate\Support\ServiceProvider; -use Illuminate\Support\Str; class AppServiceProvider extends ServiceProvider { @@ -50,19 +49,4 @@ public function boot(): void return null; }); } - - protected function macros(): void - { - Str::macro('wrapHtmlTag', function ($string, $tag = 'span', $attributes = []) { - $attrString = ''; - - if (!empty($attributes)) { - foreach ($attributes as $key => $value) { - $attrString .= " {$key}=\"{$value}\""; - } - } - - return "<{$tag}{$attrString}>{$string}"; - }); - } } diff --git a/app/Providers/MacrosServiceProvider.php b/app/Providers/MacrosServiceProvider.php new file mode 100644 index 0000000..c9ded4c --- /dev/null +++ b/app/Providers/MacrosServiceProvider.php @@ -0,0 +1,40 @@ + $value) { + $attrString .= " {$key}=\"{$value}\""; + } + } + + return "<{$tag}{$attrString}>{$string}"; + }); + + Stringable::macro('wrapHtmlTag', function (string $tag = 'span', array $attributes = []): Stringable { + return new Stringable(Str::wrapHtmlTag((string) $this, $tag, $attributes)); + }); + } +} diff --git a/bootstrap/providers.php b/bootstrap/providers.php index 22744d1..28f73bd 100644 --- a/bootstrap/providers.php +++ b/bootstrap/providers.php @@ -2,5 +2,6 @@ return [ App\Providers\AppServiceProvider::class, + App\Providers\MacrosServiceProvider::class, App\Providers\Filament\AdminPanelProvider::class, ];