<?php
declare(strict_types=1);

namespace KbMarkdownImporter\Frontend;

final class TemplateLoader
{
    public function render(string $template, array $vars = []): void
    {
        $path = KB_MARKDOWN_IMPORTER_DIR . 'templates/' . $template . '.php';

        if (! is_readable($path)) {
            status_header(500);
            echo esc_html__('Dokumentationsvorlage fehlt.', 'kb-markdown-importer');
            return;
        }

        extract($vars, EXTR_SKIP);
        include $path;
    }

    public function capture(string $template, array $vars = []): string
    {
        ob_start();
        $this->render($template, $vars);
        return (string) ob_get_clean();
    }
}
