diff --git a/pass/Controllers/PasswordDetailTableViewController.swift b/pass/Controllers/PasswordDetailTableViewController.swift
index a3f543a..602b304 100644
--- a/pass/Controllers/PasswordDetailTableViewController.swift
+++ b/pass/Controllers/PasswordDetailTableViewController.swift
@@ -309,8 +309,8 @@ class PasswordDetailTableViewController: UITableViewController, UIGestureRecogni
footerLabel.numberOfLines = 0
footerLabel.font = UIFont.preferredFont(forTextStyle: .footnote)
footerLabel.textColor = UIColor.gray
- let dateString = PasswordStore.shared.getLatestCommitDate(filename: (passwordEntity?.path)!)
- footerLabel.text = "Last Updated: \(dateString ?? "Unknown")"
+ let dateString = PasswordStore.shared.getLatestUpdateInfo(filename: (passwordEntity?.path)!)
+ footerLabel.text = "Last Updated: \(dateString)"
view.addSubview(footerLabel)
return view
}
diff --git a/pass/Models/PasswordStore.swift b/pass/Models/PasswordStore.swift
index 7607233..7439b11 100644
--- a/pass/Models/PasswordStore.swift
+++ b/pass/Models/PasswordStore.swift
@@ -371,16 +371,27 @@ class PasswordStore {
}
}
- func getLatestCommitDate(filename: String) -> String? {
+ func getLatestUpdateInfo(filename: String) -> String {
guard let blameHunks = try? storeRepository?.blame(withFile: filename, options: nil).hunks,
let latestCommitTime = blameHunks?.map({
$0.finalSignature?.time?.timeIntervalSince1970 ?? 0
}).max() else {
- return nil
+ return "unknown"
}
- let date = Date(timeIntervalSince1970: latestCommitTime)
- let dateString = DateFormatter.localizedString(from: date, dateStyle: DateFormatter.Style.medium, timeStyle: DateFormatter.Style.medium)
- return dateString
+ let lastCommitDate = Date(timeIntervalSince1970: latestCommitTime)
+ let currentDate = Date()
+ var autoFormattedDifference: String
+ if currentDate.timeIntervalSince(lastCommitDate) <= 60 {
+ autoFormattedDifference = "just now"
+ } else {
+ let diffDate = Calendar.current.dateComponents([.year, .month, .day, .hour, .minute], from: lastCommitDate, to: currentDate)
+ let dateComponentsFormatter = DateComponentsFormatter()
+ dateComponentsFormatter.unitsStyle = .full
+ dateComponentsFormatter.maximumUnitCount = 2
+ dateComponentsFormatter.includesApproximationPhrase = true
+ autoFormattedDifference = (dateComponentsFormatter.string(from: diffDate)?.appending(" ago"))!
+ }
+ return autoFormattedDifference
}
func updateRemoteRepo() {
diff --git a/pass/Views/PasswordDetailTitleTableViewCell.xib b/pass/Views/PasswordDetailTitleTableViewCell.xib
index dfcd3ce..759a78f 100644
--- a/pass/Views/PasswordDetailTitleTableViewCell.xib
+++ b/pass/Views/PasswordDetailTitleTableViewCell.xib
@@ -6,24 +6,25 @@
+
-
-
+
+
-
+
-
+
-
-
+
+
-
@@ -48,7 +48,7 @@
-
+
@@ -57,7 +57,7 @@
-
+