function social_activity_social_user_account_header_account_links in Open Social 8.9
Same name and namespace in other branches
- 8.4 modules/social_features/social_activity/social_activity.module \social_activity_social_user_account_header_account_links()
- 8.5 modules/social_features/social_activity/social_activity.module \social_activity_social_user_account_header_account_links()
- 8.6 modules/social_features/social_activity/social_activity.module \social_activity_social_user_account_header_account_links()
- 8.7 modules/social_features/social_activity/social_activity.module \social_activity_social_user_account_header_account_links()
- 8.8 modules/social_features/social_activity/social_activity.module \social_activity_social_user_account_header_account_links()
- 10.3.x modules/social_features/social_activity/social_activity.module \social_activity_social_user_account_header_account_links()
- 10.0.x modules/social_features/social_activity/social_activity.module \social_activity_social_user_account_header_account_links()
- 10.1.x modules/social_features/social_activity/social_activity.module \social_activity_social_user_account_header_account_links()
- 10.2.x modules/social_features/social_activity/social_activity.module \social_activity_social_user_account_header_account_links()
Implements hook_social_user_account_header_account_links().
Adds the mobile indicator for activity notifications under the profile icon menu.
File
- modules/
social_features/ social_activity/ social_activity.module, line 114 - The Social activity module.
Code
function social_activity_social_user_account_header_account_links(array $context) {
// We require a logged in user for this indicator.
if (empty($context['user']) || !$context['user']
->isAuthenticated()) {
return [];
}
// Get the total amount of notifications for the user.
$num_notifications = social_activity_social_account_notifications_counter($context['user']);
// Depending on the amount of notifications, set a class for the indicator.
$label_classes = 'hidden';
if ($num_notifications > 0) {
$label_classes = 'badge badge-accent badge--pill';
// When there are more than 99 notifications, display this and not
// the exact amount.
if ($num_notifications > 99) {
$num_notifications = '99+';
}
}
return [
'notification_mobile' => [
'#wrapper_attributes' => [
'class' => [
'mobile notification-bell',
],
],
'#weight' => 300,
'#type' => 'link',
'#attributes' => [
'title' => new TranslatableMarkup('Notification Centre'),
],
'#title' => [
'#type' => 'inline_template',
'#template' => '<span>{% trans %}Notification Centre{% endtrans %}</span><span{{ attributes }}>{{ icon }}</span>',
'#context' => [
'attributes' => new Attribute([
'class' => $label_classes,
]),
'icon' => (string) $num_notifications,
],
],
] + Url::fromRoute('view.activity_stream_notifications.page_1')
->toRenderArray(),
];
}