<?php

declare(strict_types=1);

namespace App\Framework\View\Table;

final readonly class TableOptions
{
    public function __construct(
        public bool $striped = true,
        public bool $bordered = false,
        public bool $hover = true,
        public bool $responsive = true,
        public ?string $emptyMessage = 'No data available',
        public ?array $tableAttributes = null
    ) {
    }

    public static function admin(): self
    {
        return new self(
            striped: true,
            bordered: true,
            hover: true,
            responsive: true,
            emptyMessage: 'Keine Daten verfügbar'
        );
    }

    public static function simple(): self
    {
        return new self(
            striped: false,
            bordered: false,
            hover: false,
            responsive: false
        );
    }
}
