using Markdig; using Microsoft.AspNetCore.Components; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.Json; using System.Text.Json.Serialization; using System.Threading.Tasks; namespace Neighbourhood.omg.lol.Models { public class Pic { public string Id { get; set; } public string Url { get; set; } public string Address { get; set; } public long Created { get; set; } public long Size { get; set; } public string Mime { get; set; } public string Description { get; set; } public string DescriptionHtml { get => Description == null ? string.Empty : Utilities.MdToHtml(Description); } public DateTimeOffset CreatedTime { get => DateTimeOffset.UnixEpoch.AddSeconds(Created); } [JsonPropertyName("exif")] public JsonElement ExifJson { get; set; } public string RelativeTime { get { TimeSpan offset = DateTimeOffset.UtcNow - CreatedTime; var offsetString = string.Empty; if (offset.TotalDays >= 1) offsetString = $"{Math.Floor(offset.TotalDays)} days ago"; else if (offset.TotalHours >= 1) offsetString = $"{Math.Floor(offset.TotalHours)} hours, {offset.Minutes} minutes ago"; else if (offset.TotalMinutes >= 1) offsetString = $"{Math.Floor(offset.TotalMinutes)} minutes ago"; else offsetString = $"{Math.Floor(offset.TotalSeconds)} seconds ago"; return offsetString; } } } }