@using salesbook.Shared.Core.Entity
@if (Notification.NotificationData is { Type: not null }) { @switch (Notification.NotificationData.Type) { case "memo":
break; case "newPlanned":
break; } }
@Notification.Title
@GetTimeAgo(Notification.StartDate)
@if (Unread) { }
@if ( Notification.StartDate < DateTime.Today && Notification.Body != null && Notification.Body.Contains("Oggi") ) { @Notification.Body.Replace("Oggi", $"{Notification.StartDate:d}") } else { @Notification.Body }
@code { [Parameter] public bool Unread { get; set; } [Parameter] public WtbNotification Notification { get; set; } = new(); private static string GetTimeAgo(DateTime? timestamp) { if (timestamp is null) return ""; var difference = DateTime.Now - timestamp.Value; switch (difference.TotalMinutes) { case < 1: return "Adesso"; case < 60: return $"{(int)difference.TotalMinutes} minuti fa"; default: { switch (difference.TotalHours) { case < 2: return $"{(int)difference.TotalHours} ora fa"; case < 24: return $"{timestamp.Value:t}"; default: { return difference.TotalDays < 7 ? $"{(int)difference.TotalDays}g fa" : timestamp.Value.ToString("dd/MM/yyyy"); } } } } } }