components([ ImageEntry::make('file_name') ->label('Preview') ->getStateUsing(fn ($record) => $record->getUrl()) ->visible(fn ($record) => $record->mime_type && str_starts_with($record->mime_type, 'image/')), TextEntry::make('name'), TextEntry::make('file_name'), TextEntry::make('mime_type'), TextEntry::make('collection_name'), TextEntry::make('size') ->formatStateUsing(fn ($state) => number_format($state / 1024, 2).' KB'), TextEntry::make('model_type') ->label('Attached to Model'), TextEntry::make('model_id'), TextEntry::make('custom_properties') ->formatStateUsing(fn ($state) => json_encode($state, JSON_PRETTY_PRINT)), TextEntry::make('created_at') ->dateTime(), TextEntry::make('updated_at') ->dateTime(), ]); } }