You are here

function opigno_messaging_private_message_thread_view in Opigno messaging 3.x

Implements hook_ENTITY_TYPE_view().

File

./opigno_messaging.module, line 458
Contains opigno_messaging.module.

Code

function opigno_messaging_private_message_thread_view(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode) {
  if (!$entity instanceof PrivateMessageThreadInterface) {
    return;
  }
  $messages_service = \Drupal::service('opigno_messaging.manager');
  if (!$messages_service instanceof OpignoMessageThread) {
    return;
  }
  $data = $messages_service
    ->getThreadDisplayData($entity);
  $build['thread_picture'] = $data['image'] ?? '';
  $build['thread_title'] = [
    '#markup' => $data['title'] ?? '',
  ];
  $build['thread_formatted_date'] = [
    '#markup' => $data['date'] ?? '',
  ];
  $build['thread_text'] = [
    '#markup' => $data['text'] ?? '',
  ];
  $build['thread_unread_count'] = [
    '#markup' => $data['unread_count'] ?? 0,
  ];
  $build['thread_actions'] = $messages_service
    ->getThreadActions($entity);
}