<?php

namespace App\Http\Livewire;

use App\Models\Domain;
use Livewire\Component;
use Cart;

class Domainsorgula extends Component
{


    public $name;
    public $uzanti;
    public $fiyat=200.00;


    protected $rules = [
        'name' => 'required|min:1',
        'uzanti'=>'required',

    ];


    public function submit()
    {
        $this->validate();

        $this->fiyat = 200;
        $uzantidegeri = $this->uzanti;
        $domain = $this->name . ".".$this->uzanti;
        $whois = @gethostbynamel("$domain");

        // Veritabanından tüm uzantıları al
        $uzantilar = Domain::where('durum', 1)->get();

        // Uzantıları kontrol et
        foreach ($uzantilar as $uzanti) {
            if ($uzanti->baslik === $uzantidegeri) {
                if (empty($whois)) {
                    $this->fiyat = $uzanti->fiyat;
                    $this->id = $uzanti->id;
                    session()->flash('olumlu', 'Alan Adı Müsait');
                } else {
                    session()->flash('olumsuz', 'Alan Adı Müsait Değil');
                }
                return;
            }
        }

        // Bilinmeyen uzantı durumu
        session()->flash('olumsuz', 'Bilinmeyen Uzantı');
    }




    public function render()
    {

        $domainler=Domain::where('durum',1)->get();
        return view('livewire.domainsorgula',compact('domainler'));
    }


    public function adddomain($product_id,$product_baslik,$product_fiyat)
    {
        Cart::add($product_id,$product_baslik,1,$product_fiyat)->associate('\App\Models\Domain');
        $this->emitTo('sepeticonu','refreshComponent');
        $this->emitTo('sepet','refreshComponent');


        $swalData = [
            'type' => 'success',
            'title' => 'Başarılı',
            'message' => 'Domain Sepete Eklenmiştir',
        ];
        $this->dispatchBrowserEvent('domainsuccess', $swalData);

    }
}
