adrema/app/View/Ui/Errors.php

34 lines
924 B
PHP

<?php
namespace App\View\Ui;
use Illuminate\View\Component;
class Errors extends Component
{
public function __construct(
public string $for,
) {
}
public function id(): string
{
return 'errors-' . str_replace('.', '--', $this->for);
}
public function render()
{
return <<<'HTML'
@error($for)
<div x-data="{error: ''}" x-init="window.setTimeout(() => document.querySelector('#{{$id()}}') ? document.querySelector('#{{$id()}}').remove() : null, 2000)" class="absolute bottom-[calc(100%+0.5rem)] right-0" id="{{$id}}">
<div class="tippy-box" tabindex="-1" data-theme="danger" data-placement="top">
<div class="tippy-content">{{$message}}</div>
<div class="tippy-arrow absolute right-0 mr-2"></div>
</div>
</div>
@enderror
HTML;
}
}