recordTitleAttribute('product.name') ->columns([ Tables\Columns\TextColumn::make('id')->sortable(), Tables\Columns\TextColumn::make('formattedTotal')->label('Total'), Tables\Columns\TextColumn::make('status') ->label('Status') // Make first letter uppercase ->formatStateUsing(fn (string $state): string => ucfirst($state)) ->badge() ->color(fn (string $state): string => match ($state) { 'paid' => 'success', 'pending' => 'warning', default => 'danger', }), ]) ->filters([ SelectFilter::make('status') ->label('Status') ->options([ 'paid' => 'Paid', 'pending' => 'Pending', 'cancelled' => 'Cancelled', ]), ]) ->actions([ Tables\Actions\ViewAction::make()->url(fn ($record) => InvoiceResource::getUrl('edit', ['record' => $record])), ]); } }