Add specific unread info for higher counts of unread messages

This commit is contained in:
jgibbon 2023-02-05 21:44:02 +01:00
parent f152bbeb5b
commit 6a8f699a71
3 changed files with 13 additions and 4 deletions

View file

@ -1,6 +1,7 @@
import QtQuick 2.6
import Sailfish.Silica 1.0
import WerkWolf.Fernschreiber 1.0
import "../js/functions.js" as Functions
ListItem {
id: chatListViewItem
@ -103,7 +104,7 @@ ListItem {
anchors.centerIn: chatUnreadMessagesCountBackground
visible: chatListViewItem.unreadCount > 0
opacity: isMuted ? Theme.opacityHigh : 1.0
text: chatListViewItem.unreadCount > 99 ? "99+" : chatListViewItem.unreadCount
text: Functions.formatUnreadCount(chatListViewItem.unreadCount)
}
Rectangle {

View file

@ -27,6 +27,14 @@ function setGlobals(globals) {
tdLibWrapper = globals.tdLibWrapper;
appNotification = globals.appNotification;
}
function formatUnreadCount(value) {
if(value < 1000) {
return value;
} else if(value > 9000) {
return '9k+';
}
return ''+Math.floor(value / 1000)+'k'+((value % 1000)>0 ? '+' : '');
}
function getUserName(userInformation) {
return ((userInformation.first_name || "") + " " + (userInformation.last_name || "")).trim();

View file

@ -618,8 +618,8 @@ Page {
onUnreadCountUpdated: {
Debug.log("[ChatPage] Unread count updated, new count: ", unreadCount);
chatInformation.unread_count = unreadCount;
chatUnreadMessagesItem.visible = ( !chatPage.loading && chatInformation.unread_count > 0 && chatOverviewItem.visible );
chatUnreadMessagesCount.text = unreadCount > 99 ? "99+" : unreadCount;
chatUnreadMessagesItem.visible = ( !chatPage.loading && unreadCount > 0 && chatOverviewItem.visible );
chatUnreadMessagesCount.text = Functions.formatUnreadCount(unreadCount)
}
onLastReadSentMessageUpdated: {
Debug.log("[ChatPage] Updating last read sent index, new index: ", lastReadSentIndex);
@ -1427,7 +1427,7 @@ Page {
color: Theme.primaryColor
anchors.centerIn: chatUnreadMessagesCountBackground
visible: chatUnreadMessagesItem.visible
text: chatInformation.unread_count > 99 ? "99+" : chatInformation.unread_count
text: Functions.formatUnreadCount(chatInformation.unread_count)
}
MouseArea {
anchors.fill: parent