You need to set some standarad logic for logs order timeline
if admin added a comment and update order payment status when getting this order data then developer need to add lines of code for each property name
@if ($isStatusUpdate)
({{ ucfirst(str_replace('-', ' ', $activity->properties->get('new'))) }})
@endif
@if ($iscmup)
({{ ucfirst(str_replace('-', ' ', $activity->properties->get('content'))) }})
@endif
but this can be more managable by llike property common name like $activity->properties->get('label') and $activity->properties->get('value ') also if you need more data with property labels by like for loop label1, label2, label3 etc.
Is this something you're displaying on your storefront? We use Spatie's activity log under the hood so you are free to use any methods available in that package to display log data. I think it's fine as you can use the event column to determine the UI of each log item and then they have consistent properties which can be used for viewing. I don't think activity log entries would suit a generic key => value set up.