chore: code refactor via rector
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
namespace App\Filament\Resources;
|
||||
|
||||
use BackedEnum;
|
||||
use UnitEnum;
|
||||
use App\Filament\Resources\TicketResource\Pages\CreateTicket;
|
||||
use App\Filament\Resources\TicketResource\Pages\EditTicket;
|
||||
use App\Filament\Resources\TicketResource\Pages\ListTickets;
|
||||
@@ -23,7 +25,6 @@ use Filament\Forms\Components\TextInput;
|
||||
use Filament\Notifications\Notification;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Tables;
|
||||
use Filament\Tables\Columns\BadgeColumn;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Filters\Filter;
|
||||
@@ -37,9 +38,9 @@ class TicketResource extends Resource
|
||||
{
|
||||
protected static ?string $model = Ticket::class;
|
||||
|
||||
protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-ticket';
|
||||
protected static string|BackedEnum|null $navigationIcon = 'heroicon-o-ticket';
|
||||
|
||||
protected static string|\UnitEnum|null $navigationGroup = 'Support';
|
||||
protected static string|UnitEnum|null $navigationGroup = 'Support';
|
||||
|
||||
public static function form(Schema $schema): Schema
|
||||
{
|
||||
@@ -91,9 +92,9 @@ class TicketResource extends Resource
|
||||
->searchable(),
|
||||
BadgeColumn::make('status')
|
||||
->colors([
|
||||
'success' => fn ($state) => $state === 'open',
|
||||
'warning' => fn ($state) => $state === 'pending',
|
||||
'danger' => fn ($state) => $state === 'closed',
|
||||
'success' => fn ($state): bool => $state === 'open',
|
||||
'warning' => fn ($state): bool => $state === 'pending',
|
||||
'danger' => fn ($state): bool => $state === 'closed',
|
||||
])
|
||||
->sortable(),
|
||||
TextColumn::make('created_at')
|
||||
@@ -119,11 +120,9 @@ class TicketResource extends Resource
|
||||
DatePicker::make('created_from')->label('Created From'),
|
||||
DatePicker::make('created_until')->label('Created Until'),
|
||||
])
|
||||
->query(function ($query, array $data) {
|
||||
return $query
|
||||
->when($data['created_from'], fn ($query, $date) => $query->whereDate('created_at', '>=', $date))
|
||||
->when($data['created_until'], fn ($query, $date) => $query->whereDate('created_at', '<=', $date));
|
||||
}),
|
||||
->query(fn($query, array $data) => $query
|
||||
->when($data['created_from'], fn ($query, $date) => $query->whereDate('created_at', '>=', $date))
|
||||
->when($data['created_until'], fn ($query, $date) => $query->whereDate('created_at', '<=', $date))),
|
||||
])
|
||||
// ->actions([
|
||||
// Tables\Actions\EditAction::make(),
|
||||
@@ -135,26 +134,24 @@ class TicketResource extends Resource
|
||||
Action::make('view')
|
||||
->label('View & Respond')
|
||||
->icon('heroicon-o-eye')
|
||||
->schema(function (Ticket $ticket): array {
|
||||
return [
|
||||
TextArea::make('response')
|
||||
->label('Your Response')
|
||||
->required()
|
||||
->rows(7)
|
||||
->placeholder('Type your response here...'),
|
||||
->schema(fn(Ticket $ticket): array => [
|
||||
TextArea::make('response')
|
||||
->label('Your Response')
|
||||
->required()
|
||||
->rows(7)
|
||||
->placeholder('Type your response here...'),
|
||||
|
||||
Select::make('status')
|
||||
->label('Ticket Status')
|
||||
->options([
|
||||
'open' => 'Open',
|
||||
'pending' => 'In Progress',
|
||||
'closed' => 'Closed',
|
||||
])
|
||||
->default($ticket->status === 'open' ? 'pending' : $ticket->status)
|
||||
->required(),
|
||||
];
|
||||
})
|
||||
->modalContent(function (Ticket $ticket) {
|
||||
Select::make('status')
|
||||
->label('Ticket Status')
|
||||
->options([
|
||||
'open' => 'Open',
|
||||
'pending' => 'In Progress',
|
||||
'closed' => 'Closed',
|
||||
])
|
||||
->default($ticket->status === 'open' ? 'pending' : $ticket->status)
|
||||
->required(),
|
||||
])
|
||||
->modalContent(function (Ticket $ticket): HtmlString {
|
||||
$html = '<div class="space-y-3 mb-3 text-sm">';
|
||||
|
||||
// Ticket Subject & Message
|
||||
@@ -185,8 +182,8 @@ class TicketResource extends Resource
|
||||
return new HtmlString($html);
|
||||
})
|
||||
|
||||
->action(function (array $data, Ticket $ticket) {
|
||||
TicketResponse::create([
|
||||
->action(function (array $data, Ticket $ticket): void {
|
||||
TicketResponse::query()->create([
|
||||
'ticket_id' => $ticket->id,
|
||||
'user_id' => auth()->id(),
|
||||
'response' => $data['response'],
|
||||
@@ -214,7 +211,7 @@ class TicketResource extends Resource
|
||||
->color('danger')
|
||||
->requiresConfirmation()
|
||||
->visible(fn (Ticket $ticket): bool => $ticket->status !== 'closed')
|
||||
->action(function (Ticket $ticket) {
|
||||
->action(function (Ticket $ticket): void {
|
||||
$ticket->update(['status' => 'closed']);
|
||||
}),
|
||||
Action::make('reopen')
|
||||
@@ -222,7 +219,7 @@ class TicketResource extends Resource
|
||||
->icon('heroicon-o-arrow-path')
|
||||
->color('success')
|
||||
->visible(fn (Ticket $ticket): bool => $ticket->status === 'closed')
|
||||
->action(function (Ticket $ticket) {
|
||||
->action(function (Ticket $ticket): void {
|
||||
$ticket->update(['status' => 'open']);
|
||||
}),
|
||||
])
|
||||
@@ -235,7 +232,7 @@ class TicketResource extends Resource
|
||||
->icon('heroicon-o-envelope')
|
||||
->requiresConfirmation()
|
||||
->deselectRecordsAfterCompletion()
|
||||
->action(function (Collection $records) {
|
||||
->action(function (Collection $records): void {
|
||||
foreach ($records as $ticket) {
|
||||
$responses = $ticket->responses()
|
||||
->with('user')
|
||||
|
||||
Reference in New Issue
Block a user