|
|
@ -491,14 +491,14 @@ struct EventInfo { |
|
|
|
func metadataForMeeting() -> String { |
|
|
|
func metadataForMeeting() -> String { |
|
|
|
let timeIntervalSinceNowForMeeting = event.startDate.timeIntervalSinceNow |
|
|
|
let timeIntervalSinceNowForMeeting = event.startDate.timeIntervalSinceNow |
|
|
|
if timeIntervalSinceNowForMeeting < 0, timeIntervalSinceNowForMeeting > -300 { |
|
|
|
if timeIntervalSinceNowForMeeting < 0, timeIntervalSinceNowForMeeting > -300 { |
|
|
|
return "started \(event.startDate.shortTimeAgoSinceNow) ago." |
|
|
|
return "started +\(event.startDate.shortTimeAgoSinceNow)." |
|
|
|
} else if event.startDate.isToday { |
|
|
|
} else if event.startDate.isToday { |
|
|
|
let timeSince = Date().timeAgo(since: event.startDate).lowercased() |
|
|
|
let timeSince = Date().timeAgo(since: event.startDate).lowercased() |
|
|
|
let withoutAn = timeSince.replacingOccurrences(of: "an", with: CLEmptyString) |
|
|
|
let withoutAn = timeSince.replacingOccurrences(of: "an", with: CLEmptyString) |
|
|
|
let withoutAgo = withoutAn.replacingOccurrences(of: "ago", with: CLEmptyString) |
|
|
|
let withoutAgo = withoutAn.replacingOccurrences(of: "ago", with: CLEmptyString) |
|
|
|
// If the user has not turned on seconds granularity for one of the timezones, |
|
|
|
// If the user has not turned on seconds granularity for one of the timezones, |
|
|
|
// we return "in 12 seconds" which looks weird. |
|
|
|
// we return "in 12 seconds" which looks weird. |
|
|
|
return withoutAgo.contains("seconds") ? "started" : "in \(withoutAgo.lowercased())" |
|
|
|
return withoutAgo.contains("seconds") ? "starts in <1m" : "in \(withoutAgo.lowercased())" |
|
|
|
} else if event.startDate.isTomorrow { |
|
|
|
} else if event.startDate.isTomorrow { |
|
|
|
let hoursUntil = event.startDate.hoursUntil |
|
|
|
let hoursUntil = event.startDate.hoursUntil |
|
|
|
return "in \(hoursUntil)h" |
|
|
|
return "in \(hoursUntil)h" |
|
|
|