recordTitleAttribute('uuid') ->columns([ TextColumn::make('uuid') ->label('شناسه') ->searchable() ->copyable(), TextColumn::make('status') ->label('وضعیت') ->badge() ->formatStateUsing(fn (TemplateGenerationStatus $state): string => $state->label()) ->color(fn (TemplateGenerationStatus $state): string => match ($state) { TemplateGenerationStatus::Pending => 'gray', TemplateGenerationStatus::Processing => 'warning', TemplateGenerationStatus::Completed => 'success', TemplateGenerationStatus::Failed => 'danger', }), TextColumn::make('requester.name') ->label('درخواست‌دهنده') ->placeholder('—'), TextColumn::make('error_message') ->label('خطا') ->limit(40) ->placeholder('—'), TextColumn::make('created_at') ->label('تاریخ') ->dateTime() ->sortable(), ]) ->defaultSort('created_at', 'desc') ->filters([ SelectFilter::make('status') ->label('وضعیت') ->options([ TemplateGenerationStatus::Pending->value => TemplateGenerationStatus::Pending->label(), TemplateGenerationStatus::Processing->value => TemplateGenerationStatus::Processing->label(), TemplateGenerationStatus::Completed->value => TemplateGenerationStatus::Completed->label(), TemplateGenerationStatus::Failed->value => TemplateGenerationStatus::Failed->label(), ]), ]) ->recordActions([ DownloadGenerationAction::make(), RetryGenerationAction::make(), ]) ->toolbarActions([]); } }