<?php

require_once __DIR__ . '/../../vendor/autoload.php';

use App\Framework\View\DomWrapper;
use App\Framework\View\DomComponentService;
use App\Framework\Template\Parser\DomTemplateParser;

$html = '<html><body><x-counter id="demo" initialValue="10" /></body></html>';

echo "=== Original ===\n$html\n\n";

// Parse
$parser = new DomTemplateParser();
$dom = $parser->parseToWrapper($html);

echo "=== After Parse ===\n";
echo $dom->document->saveHTML() . "\n\n";

// Find x-counter
$xCounter = null;
foreach ($dom->document->getElementsByTagName('*') as $el) {
    if ($el instanceof \Dom\HTMLElement && strtolower($el->tagName) === 'x-counter') {
        $xCounter = $el;
        break;
    }
}

if ($xCounter) {
    echo "=== Found x-counter ===\n";
    echo "Tag: " . $xCounter->tagName . "\n";
    echo "Attributes: " . $xCounter->attributes->length . "\n\n";

    // Replace with mock content
    $service = new DomComponentService();
    $replacementHtml = '<div data-component-id="counter:demo">Counter HTML</div>';

    echo "=== Replacing with ===\n$replacementHtml\n\n";

    $service->replaceComponent($dom, $xCounter, $replacementHtml);

    echo "=== After Replacement ===\n";
    echo $dom->document->saveHTML() . "\n";
} else {
    echo "x-counter NOT FOUND!\n";
}
