<?php

namespace App\Livewire\Firewall;

use Livewire\Component;
use Illuminate\Support\Facades\DB;

class AccessControlRules extends Component
{
    public $activeTab = 'blacklist';  // Default tab
    public $rules = [];  // Empty array to hold the rules

    public function mount()
    {
        $this->loadRules();  // Load rules when component is mounted
    }

    public function switchTab($tab)
    {
        $this->activeTab = $tab;  // Switch tabs
        $this->loadRules();  // Reload rules when tab changes
    }

    public function loadRules()
    {
        $this->rules = DB::table('firewall_rules')
            ->where('type', $this->activeTab)
            ->orderByDesc('id')
            ->get();
    }

    public function render()
    {
        return view('livewire.firewall.access-control-rules', ['rules' => $this->rules]);
    }
}
