<?php

namespace App\Livewire\Territori;

use Livewire\Component;
use App\Models\Territorio;
use App\Models\Assegnazione;
use App\Models\AnnoTeocratico;

class TerritorioShow extends Component
{
    public Territorio $territorio;

    public function mount(Territorio $territorio)
    {
        $this->territorio = $territorio->load(['zona', 'tipologia']);
    }

    public function render()
    {
        $assegnazioni = Assegnazione::where('territorio_id', $this->territorio->id)
            ->with(['proclamatore', 'annoTeocratico', 'campagna', 'creatoDa', 'rientratoDa'])
            ->orderByDesc('assigned_at')
            ->get()
            ->groupBy(fn($a) => $a->annoTeocratico->label);

        return view('livewire.territori.territorio-show', [
            'assegnazioniPerAnno' => $assegnazioni,
        ]);
    }
}
