<?php
declare(strict_types=1);

namespace ROITheme\Public\CustomCSSManager\Application\UseCases;

use ROITheme\Shared\Domain\Contracts\CSSSnippetRepositoryInterface;

/**
 * Caso de uso: Obtener snippets críticos para página actual
 *
 * Contexto: Public (renderizado)
 */
final class GetCriticalSnippetsUseCase
{
    public function __construct(
        private readonly CSSSnippetRepositoryInterface $repository
    ) {}

    /**
     * @param string $pageType Tipo de página actual
     * @return array<array> Snippets críticos aplicables
     */
    public function execute(string $pageType): array
    {
        return $this->repository->getForPage('critical', $pageType);
    }
}
