mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
Various improvements
This commit is contained in:
@@ -209,15 +209,15 @@ public func stringForUserPresence(strings: PresentationStrings, day: RelativeTim
|
||||
private func humanReadableStringForTimestamp(strings: PresentationStrings, day: RelativeTimestampFormatDay, dateTimeFormat: PresentationDateTimeFormat, hours: Int32, minutes: Int32, format: HumanReadableStringFormat? = nil) -> PresentationStrings.FormattedString {
|
||||
let result: PresentationStrings.FormattedString
|
||||
switch day {
|
||||
case .today:
|
||||
let string = stringForShortTimestamp(hours: hours, minutes: minutes, dateTimeFormat: dateTimeFormat)
|
||||
result = format?.todayFormatString(string) ?? strings.Time_TodayAt(string)
|
||||
case .yesterday:
|
||||
let string = stringForShortTimestamp(hours: hours, minutes: minutes, dateTimeFormat: dateTimeFormat)
|
||||
result = format?.yesterdayFormatString(string) ?? strings.Time_YesterdayAt(string)
|
||||
case .tomorrow:
|
||||
let string = stringForShortTimestamp(hours: hours, minutes: minutes, dateTimeFormat: dateTimeFormat)
|
||||
result = format?.tomorrowFormatString(string) ?? strings.Time_TomorrowAt(string)
|
||||
case .today:
|
||||
let string = stringForShortTimestamp(hours: hours, minutes: minutes, dateTimeFormat: dateTimeFormat)
|
||||
result = format?.todayFormatString(string) ?? strings.Time_TodayAt(string)
|
||||
case .yesterday:
|
||||
let string = stringForShortTimestamp(hours: hours, minutes: minutes, dateTimeFormat: dateTimeFormat)
|
||||
result = format?.yesterdayFormatString(string) ?? strings.Time_YesterdayAt(string)
|
||||
case .tomorrow:
|
||||
let string = stringForShortTimestamp(hours: hours, minutes: minutes, dateTimeFormat: dateTimeFormat)
|
||||
result = format?.tomorrowFormatString(string) ?? strings.Time_TomorrowAt(string)
|
||||
|
||||
}
|
||||
return result
|
||||
@@ -228,17 +228,20 @@ public struct HumanReadableStringFormat {
|
||||
let tomorrowFormatString: (String) -> PresentationStrings.FormattedString
|
||||
let todayFormatString: (String) -> PresentationStrings.FormattedString
|
||||
let yesterdayFormatString: (String) -> PresentationStrings.FormattedString
|
||||
let daysFormatString: ((Int) -> PresentationStrings.FormattedString)?
|
||||
|
||||
public init(
|
||||
dateFormatString: @escaping (String) -> PresentationStrings.FormattedString,
|
||||
tomorrowFormatString: @escaping (String) -> PresentationStrings.FormattedString,
|
||||
todayFormatString: @escaping (String) -> PresentationStrings.FormattedString,
|
||||
yesterdayFormatString: @escaping (String) -> PresentationStrings.FormattedString = { PresentationStrings.FormattedString(string: $0, ranges: []) }
|
||||
yesterdayFormatString: @escaping (String) -> PresentationStrings.FormattedString = { PresentationStrings.FormattedString(string: $0, ranges: []) },
|
||||
daysFormatString: ((Int) -> PresentationStrings.FormattedString)? = nil
|
||||
) {
|
||||
self.dateFormatString = dateFormatString
|
||||
self.tomorrowFormatString = tomorrowFormatString
|
||||
self.todayFormatString = todayFormatString
|
||||
self.yesterdayFormatString = yesterdayFormatString
|
||||
self.daysFormatString = daysFormatString
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,6 +276,8 @@ public func humanReadableStringForTimestamp(strings: PresentationStrings, dateTi
|
||||
day = .tomorrow
|
||||
}
|
||||
return humanReadableStringForTimestamp(strings: strings, day: day, dateTimeFormat: dateTimeFormat, hours: timeinfo.tm_hour, minutes: timeinfo.tm_min, format: format)
|
||||
} else if dayDifference < 7, let daysFormatString = format?.daysFormatString {
|
||||
return daysFormatString(Int(dayDifference))
|
||||
} else {
|
||||
let string: String
|
||||
if alwaysShowTime {
|
||||
|
||||
Reference in New Issue
Block a user