<?php

declare(strict_types=1);

namespace Tricks\NovaTools\Nova\Fields;

use Illuminate\Database\Schema\Builder;

final class Slug extends \Laravel\Nova\Fields\Slug
{
    public $helpText = 'Der Slug ist der letzte Teil der URL und wird zur eindeutigen Identifikation des Beitrags verwendet. Änderungen können bestehende Links beeinflussen und sollten nur bei Bedarf vorgenommen werden.';

    public $showOnCreation = false;

    public function __construct(
        public string $table,
        string $name = 'Slug',
        string $attribute = 'slug'
    ) {
        parent::__construct($name, $attribute);

        $this->rules = [
            'required',
            'max:'.Builder::$defaultStringLength,
        ];

        $this->updateRules = [
            "unique:$table,$attribute,{{resourceId}}",
        ];

        $this->showOnIndex(false);
    }
}
