{{--
    WHMCS Zone Button Component - Laravel 10

    Bu component bir domain için PowerDNS'te WHMCS zone olup olmadığını kontrol eder.
    Eğer varsa DNS düzenleme butonu gösterir, yoksa hiçbir şey göstermez.

    Kullanım (Blade dosyasında):
    @include('components.whmcs-zone-button', ['domain' => $domain->domain])

    veya Class-based component olarak:
    <x-whmcs-zone-button :domain="$domain->domain" />
--}}

@props(['domain'])

<div class="whmcs-zone-check" data-domain="{{ $domain }}" style="display: inline-block;">
    {{-- Loading State --}}
    <span class="zone-loading" style="display: none;">
        <i class="fas fa-spinner fa-spin text-muted"></i>
    </span>

    {{-- Button (sadece zone varsa görünür) --}}
    <a href="#"
       class="btn btn-sm btn-outline-primary zone-edit-btn"
       style="display: none;"
       title="DNS Kayıtlarını Düzenle">
        <i class="fas fa-edit me-1"></i> DNS
    </a>
</div>

@once
@push('scripts')
<script>
(function() {
    'use strict';

    document.addEventListener('DOMContentLoaded', function() {
        // Tüm zone kontrol elementlerini bul
        const zoneChecks = document.querySelectorAll('.whmcs-zone-check');

        if (zoneChecks.length === 0) return;

        zoneChecks.forEach(function(element) {
            const domain = element.dataset.domain;
            const loadingEl = element.querySelector('.zone-loading');
            const buttonEl = element.querySelector('.zone-edit-btn');

            if (!domain || !loadingEl || !buttonEl) return;

            // Loading göster
            loadingEl.style.display = 'inline';

            // API'ye istek gönder
            fetch('/api/powerdns/check/' + encodeURIComponent(domain), {
                method: 'GET',
                headers: {
                    'Accept': 'application/json',
                    'X-Requested-With': 'XMLHttpRequest'
                }
            })
            .then(function(response) {
                return response.json();
            })
            .then(function(data) {
                // Loading gizle
                loadingEl.style.display = 'none';

                // Eğer zone varsa ve WHMCS ise butonu göster
                if (data.success && data.exists && data.is_whmcs) {
                    buttonEl.href = '/powerdns/zone/' + encodeURIComponent(domain);
                    buttonEl.style.display = 'inline-block';
                }
                // Yoksa button gizli kalır, hiçbir şey gösterilmez
            })
            .catch(function(error) {
                console.error('Zone check error:', error);
                loadingEl.style.display = 'none';
            });
        });
    });
})();
</script>
@endpush
@endonce
