<?php

namespace App\Http\Livewire;

use App\Models\Team;
use App\Http\Livewire\Datatable;
use App\View\Datatable\Column;
use App\View\Datatable\BooleanColumn;

class TeamTable extends DataTable
{
    public function builder()
    {
        return Team::query();
    }

    public function columns()
    {
        return [
            Column::name('name')
                ->label('Nom')
                ->searchable(),

            Column::name('fonction')
                ->label('Fonction')
                ->searchable(),

            Column::name('email')
                ->label('Email')
                ->searchable(),
                
            Column::name('enabled')
                ->label('Activé')
                ->callback(['id', 'name', 'enabled'], function ($id, $name, $enabled) {
                    return view('admin.teams.modal.button', ['id' => $id, 'name' => $name, 'enabled' => $enabled]);
                })->unsortable(),

            Column::callback(['id'], function ($id) {
                return view('components.table-actions', ['id' => $id, 'permissions' => ['teams.edit']]);
            })->unsortable()
        ];
    }
}