Merge pull request 'improve_unread_ballons' (#9) from sprainbrains/harbour-fernschreiber:improve_unread_ballons into master

Reviewed-on: #9
This commit is contained in:
medvedych 2023-11-18 22:38:58 +03:00
commit 61a04b034a
3 changed files with 13 additions and 4 deletions

View file

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

View file

@ -27,6 +27,14 @@ function setGlobals(globals) {
tdLibWrapper = globals.tdLibWrapper; tdLibWrapper = globals.tdLibWrapper;
appNotification = globals.appNotification; 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) { function getUserName(userInformation) {
return ((userInformation.first_name || "") + " " + (userInformation.last_name || "")).trim(); return ((userInformation.first_name || "") + " " + (userInformation.last_name || "")).trim();

View file

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