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}{$tag}>";
- });
- }
}
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}{$tag}>";
+ });
+
+ 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,
];