Files
Virtnet.bond/app/Admin/Resources/TicketResource/Pages/ListTickets.php
2025-11-30 11:57:22 +01:00

52 lines
1.5 KiB
PHP

<?php
namespace App\Admin\Resources\TicketResource\Pages;
use App\Admin\Resources\TicketResource;
use App\Admin\Resources\TicketResource\Widgets\TicketsOverView;
use Filament\Actions;
use Filament\Resources\Components\Tab;
use Filament\Resources\Pages\ListRecords;
use Illuminate\Database\Eloquent\Builder;
class ListTickets extends ListRecords
{
protected static string $resource = TicketResource::class;
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
protected function getHeaderWidgets(): array
{
return [
TicketsOverView::class,
];
}
public function getTabs(): array
{
return [
'all' => Tab::make('All Tickets')
->icon('heroicon-m-user-group'),
'open' => Tab::make('Open Tickets')
->icon('heroicon-o-lock-open')
->modifyQueryUsing(fn (Builder $query) => $query->where('status', 'open')),
'replied' => Tab::make('Replied Tickets')
->icon('heroicon-o-chat-bubble-left-right')
->modifyQueryUsing(fn (Builder $query) => $query->where('status', 'replied')),
'closed' => Tab::make('Closed Tickets')
->icon('heroicon-o-lock-closed')
->modifyQueryUsing(fn (Builder $query) => $query->where('status', 'closed')),
];
}
public function getDefaultActiveTab(): string|int|null
{
return 'open';
}
}