Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 0c102f9

Browse files
Pretty printing lock create time
1 parent f513adc commit 0c102f9

File tree

3 files changed

+26
-16
lines changed

3 files changed

+26
-16
lines changed

src/GitHub.Api/Extensions/StringExtensions.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,22 @@
77

88
namespace GitHub.Unity
99
{
10+
static class DateTimeOffsetExtensions
11+
{
12+
private const string Today = "Today";
13+
private const string Yesterday = "Yesterday";
14+
15+
public static string CreateRelativeTime(this DateTimeOffset @from, DateTimeOffset to)
16+
{
17+
return String.Format("{0}, {1:HH}:{1:mm}",
18+
@from.DayOfYear == to.DayOfYear
19+
? Today
20+
: @from.DayOfYear == to.DayOfYear - 1
21+
? Yesterday
22+
: @from.ToString("d MMM yyyy"), @from);
23+
}
24+
}
25+
1026
static class StringExtensions
1127
{
1228
public static bool Contains(this string s, string expectedSubstring, StringComparison comparison)

src/GitHub.Api/Git/GitLogEntry.cs

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ namespace GitHub.Unity
88
[Serializable]
99
public struct GitLogEntry
1010
{
11-
private const string Today = "Today";
12-
private const string Yesterday = "Yesterday";
13-
1411
public static GitLogEntry Default = new GitLogEntry(String.Empty, String.Empty, String.Empty, String.Empty, String.Empty, String.Empty, String.Empty, DateTimeOffset.MinValue, DateTimeOffset.MinValue, new List<GitStatusEntry>(), String.Empty, String.Empty);
1512

1613
public string commitID;
@@ -61,18 +58,7 @@ public GitLogEntry(string commitID,
6158
this.mergeB = mergeB ?? string.Empty;
6259
}
6360

64-
public string PrettyTimeString
65-
{
66-
get
67-
{
68-
DateTimeOffset now = DateTimeOffset.Now, relative = Time.ToLocalTime();
69-
70-
return String.Format("{0}, {1:HH}:{1:mm}",
71-
relative.DayOfYear == now.DayOfYear
72-
? Today
73-
: relative.DayOfYear == now.DayOfYear - 1 ? Yesterday : relative.ToString("d MMM yyyy"), relative);
74-
}
75-
}
61+
public string PrettyTimeString => Time.ToLocalTime().CreateRelativeTime(DateTimeOffset.Now);
7662

7763
[NonSerialized] private DateTimeOffset? timeValue;
7864
public DateTimeOffset Time

src/UnityExtension/Assets/Editor/GitHub.Unity/UI/LocksView.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@ public GitLock GitLock
2727
{
2828
get { return gitLock; }
2929
}
30+
31+
public string PrettyTimeString
32+
{
33+
get
34+
{
35+
return gitLock.LockedAt.ToLocalTime().CreateRelativeTime(DateTimeOffset.Now);
36+
}
37+
}
3038
}
3139

3240
[Serializable]
@@ -120,7 +128,7 @@ private void RenderEntry(Rect entryRect, GitLockEntry entry, int index)
120128
Styles.Label.Draw(iconRect, entry.Content, false, false, isSelected, hasKeyboardFocus);
121129
Styles.Label.Draw(pathRect, entry.GitLock.Path, false, false, isSelected, hasKeyboardFocus);
122130
Styles.Label.Draw(userRect, entry.GitLock.Owner.Name, false, false, isSelected, hasKeyboardFocus);
123-
Styles.Label.Draw(dateRect, DateTimeOffset.Now.ToString(), false, false, isSelected, hasKeyboardFocus);
131+
Styles.Label.Draw(dateRect, entry.PrettyTimeString, false, false, isSelected, hasKeyboardFocus);
124132
}
125133

126134
private bool HandleInput(Rect rect, GitLockEntry entry, int index, Action<GitLock> singleClick = null,

0 commit comments

Comments
 (0)