Skip to content

Commit c053548

Browse files
committed
Show time in poll votes
1 parent d8d5949 commit c053548

File tree

6 files changed

+66
-17
lines changed

6 files changed

+66
-17
lines changed

‎Telegram/Controls/Cells/ProfileCell.xaml.cs‎

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,12 @@ protected override void OnApplyTemplate()
8787
_clientService = null;
8888
_chat = null;
8989
}
90-
else if (_member != null)
90+
else if (_pollVoter != null)
9191
{
92-
UpdateMessageSender(_clientService, _member);
92+
UpdatePollVoter(_clientService, _pollVoter);
9393

9494
_clientService = null;
95-
_member = null;
95+
_pollVoter = null;
9696
}
9797
else if (_element != null)
9898
{
@@ -1100,20 +1100,20 @@ public void UpdateMessageSender(IClientService clientService, ContainerContentCh
11001100
args.Handled = true;
11011101
}
11021102

1103-
private MessageSender _member;
1103+
private PollVoter _pollVoter;
11041104

1105-
public void UpdateMessageSender(IClientService clientService, MessageSender member)
1105+
public void UpdatePollVoter(IClientService clientService, PollVoter pollVoter)
11061106
{
11071107
if (!_templateApplied)
11081108
{
11091109
_clientService = clientService;
1110-
_member = member;
1110+
_pollVoter = pollVoter;
11111111
return;
11121112
}
11131113

11141114
UpdateStyleNoSubtitle();
11151115

1116-
var messageSender = clientService.GetMessageSender(member);
1116+
var messageSender = clientService.GetMessageSender(pollVoter.VoterId);
11171117
if (messageSender == null)
11181118
{
11191119
return;
@@ -1133,6 +1133,28 @@ public void UpdateMessageSender(IClientService clientService, MessageSender memb
11331133
Photo.Source = ProfilePictureSource.Chat(clientService, chat);
11341134
Identity.SetStatus(clientService, chat, BotVerified);
11351135
}
1136+
1137+
if (Content is StackPanel panel)
1138+
{
1139+
var date = panel.Children[0] as TextBlock;
1140+
var time = panel.Children[1] as TextBlock;
1141+
1142+
var dateTime = Formatter.ToLocalTime(pollVoter.Date);
1143+
if (dateTime.Date == DateTime.Today)
1144+
{
1145+
date.Text = Strings.ShortToday;
1146+
}
1147+
else if (dateTime.Date == DateTime.Today.AddDays(-1))
1148+
{
1149+
date.Text = Strings.ShortYesterday;
1150+
}
1151+
else
1152+
{
1153+
date.Text = Formatter.DateExtended(pollVoter.Date);
1154+
}
1155+
1156+
time.Text = Formatter.Time(dateTime);
1157+
}
11361158
}
11371159

11381160
public void UpdateMessageStatisticsSharer(IClientService clientService, ContainerContentChangingEventArgs args, TypedEventHandler<ListViewBase, ContainerContentChangingEventArgs> callback)

‎Telegram/Strings/en/Resources.cs‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19616,6 +19616,16 @@ public static class R
1961619616
/// </summary>
1961719617
public static string ShortTimeNow => Resource.GetString("ShortTimeNow");
1961819618

19619+
/// <summary>
19620+
/// Localized resource similar to "today"
19621+
/// </summary>
19622+
public static string ShortToday => Resource.GetString("ShortToday");
19623+
19624+
/// <summary>
19625+
/// Localized resource similar to "yesterday"
19626+
/// </summary>
19627+
public static string ShortYesterday => Resource.GetString("ShortYesterday");
19628+
1961919629
/// <summary>
1962019630
/// Localized resource similar to "Show"
1962119631
/// </summary>

‎Telegram/Strings/en/Resources.resw‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13145,6 +13145,12 @@ The channel &quot;**{1}**&quot; will become private.</value>
1314513145
<data name="ShortTimeNow" xml:space="preserve">
1314613146
<value>now</value>
1314713147
</data>
13148+
<data name="ShortToday" xml:space="preserve">
13149+
<value>today</value>
13150+
</data>
13151+
<data name="ShortYesterday" xml:space="preserve">
13152+
<value>yesterday</value>
13153+
</data>
1314813154
<data name="Show" xml:space="preserve">
1314913155
<value>Show</value>
1315013156
</data>

‎Telegram/Strings/en/Resources.xml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13328,4 +13328,7 @@
1332813328
<string name="TagInfoOwnerText">This purple tag un1 is **{0}’s** owner tag.\n**{0}** is the owner of **{1}**.</string>
1332913329
<string name="TagInfoOwnerTitle">Owner Tag</string>
1333013330

13331+
<string name="ShortToday">today</string>
13332+
<string name="ShortYesterday">yesterday</string>
13333+
1333113334
</resources>

‎Telegram/Views/Popups/PollResultsPopup.xaml‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
</Grid.ColumnDefinitions>
4242
<RichTextBlock Style="{StaticResource BaseRichTextBlockStyle}"
4343
FontFamily="{StaticResource EmojiThemeFontFamily}"
44+
IsTextSelectionEnabled="False"
4445
TextWrapping="Wrap"
4546
TextTrimming="CharacterEllipsis"
4647
MaxLines="1"
@@ -68,7 +69,14 @@
6869
BorderThickness="2"
6970
CornerRadius="4"
7071
Margin="12,0">
71-
<cells:ProfileCell Margin="-2" />
72+
<cells:ProfileCell Margin="-2">
73+
<StackPanel>
74+
<TextBlock Style="{StaticResource InfoCaptionTextBlockStyle}"
75+
TextAlignment="Right" />
76+
<TextBlock Style="{StaticResource CaptionTextBlockStyle}"
77+
TextAlignment="Right" />
78+
</StackPanel>
79+
</cells:ProfileCell>
7280
</Button>
7381
</DataTemplate>
7482

‎Telegram/Views/Popups/PollResultsPopup.xaml.cs‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,19 +49,19 @@ public PollResultsPopup(IClientService clientService, ISettingsService settingsS
4949
private void OnElementPrepared(Microsoft.UI.Xaml.Controls.ItemsRepeater sender, Microsoft.UI.Xaml.Controls.ItemsRepeaterElementPreparedEventArgs args)
5050
{
5151
var item = sender.ItemsSourceView.GetAt(args.Index);
52-
if (item is MessageSender messageSender)
52+
if (item is PollVoter pollVoter)
5353
{
5454
var button = args.Element as Button;
5555
var content = button.Content as ProfileCell;
5656

57-
content.UpdateMessageSender(_clientService, messageSender);
57+
content.UpdatePollVoter(_clientService, pollVoter);
5858
button.Click += User_Click;
5959

60-
if (_clientService.TryGetUser(messageSender, out User user))
60+
if (_clientService.TryGetUser(pollVoter.VoterId, out User user))
6161
{
6262
AutomationProperties.SetName(button, user.FullName());
6363
}
64-
else if (_clientService.TryGetChat(messageSender, out Chat chat))
64+
else if (_clientService.TryGetChat(pollVoter.VoterId, out Chat chat))
6565
{
6666
AutomationProperties.SetName(button, chat.Title);
6767
}
@@ -121,7 +121,7 @@ public PollResultViewModel(long chatId, long messageId, Poll poll, PollOption op
121121
_poll = poll;
122122
_option = option;
123123

124-
Items = new MvxObservableCollection<MessageSender>();
124+
Items = new MvxObservableCollection<PollVoter>();
125125
LoadMoreCommand = new RelayCommand(LoadMoreExecute);
126126

127127
LoadMoreExecute();
@@ -133,7 +133,7 @@ public PollResultViewModel(long chatId, long messageId, Poll poll, PollOption op
133133

134134
public PollType Type => _poll.Type;
135135

136-
public MvxObservableCollection<MessageSender> Items { get; private set; }
136+
public MvxObservableCollection<PollVoter> Items { get; private set; }
137137

138138
public RelayCommand LoadMoreCommand { get; }
139139
private async void LoadMoreExecute()
@@ -142,14 +142,14 @@ private async void LoadMoreExecute()
142142
limit = _offset > 0 ? 50 : limit;
143143

144144
var response = await ClientService.SendAsync(new GetPollVoters(_chatId, _messageId, _poll.Options.IndexOf(_option), _offset, limit));
145-
if (response is MessageSenders senders)
145+
if (response is PollVoters senders)
146146
{
147-
foreach (var sender in senders.Senders)
147+
foreach (var sender in senders.Voters)
148148
{
149149
Items.Add(sender);
150150
}
151151

152-
_offset += senders.Senders.Count;
152+
_offset += senders.Voters.Count;
153153
_remaining = senders.TotalCount - _offset;
154154

155155
RaisePropertyChanged(nameof(LoadMoreLabel));

0 commit comments

Comments
 (0)