<?php

namespace App\Livewire\LicenseTokens\Components;

use App\Models\Products\Product;
use Livewire\Component;

class ProductSelection extends Component
{
    public array $selectedProductIds = [];

    public function mount(array $selectedProductIds = [])
    {
        $this->selectedProductIds = $selectedProductIds;
    }

    public function toggleProduct($productId)
    {
        if (in_array($productId, $this->selectedProductIds)) {
            $this->selectedProductIds = array_values(array_diff($this->selectedProductIds, [$productId]));
        } else {
            $this->selectedProductIds[] = $productId;
        }
        $this->dispatch('productsSelected', $this->selectedProductIds);
    }

    public function render()
    {
        return view('livewire.license-tokens.components.product-selection', [
            'products' => Product::orderBy('name')->get(),
        ]);
    }
}

