From bfa717bfa2ec1a0d5ff7634131cb975bff47bb71 Mon Sep 17 00:00:00 2001 From: Thomas Ricouard Date: Wed, 27 Dec 2023 18:05:41 +0100 Subject: [PATCH] Shorter date for status < to 24H --- .../Models/Sources/Models/Alias/ServerDate.swift | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Packages/Models/Sources/Models/Alias/ServerDate.swift b/Packages/Models/Sources/Models/Alias/ServerDate.swift index e60d2a50..c6806f9c 100644 --- a/Packages/Models/Sources/Models/Alias/ServerDate.swift +++ b/Packages/Models/Sources/Models/Alias/ServerDate.swift @@ -6,15 +6,23 @@ private enum CodingKeys: CodingKey { public struct ServerDate: Codable, Hashable, Equatable, Sendable { public let asDate: Date + private let aDay: TimeInterval = 60 * 60 * 24 public var relativeFormatted: String { - DateFormatterCache.shared.createdAtRelativeFormatter.localizedString(for: asDate, relativeTo: Date()) + let date = asDate + if Date().timeIntervalSince(date) >= aDay { + return DateFormatterCache.shared.createdAtRelativeFormatter.localizedString(for: date, + relativeTo: Date()) + } else { + return Duration.seconds(-date.timeIntervalSinceNow).formatted(.units(width: .narrow, + maximumUnitCount: 1)) + } } public var shortDateFormatted: String { DateFormatterCache.shared.createdAtShortDateFormatted.string(from: asDate) } - + private static let calendar = Calendar(identifier: .gregorian) public init() {