mirror of
https://github.com/status-im/status-desktop.git
synced 2025-02-22 11:38:57 +00:00
chore: optimize StatusDateGroupLabel some more
since this component is performance critical, optimize it some more by extracting some common constants so that they don't have to revaluted every time
This commit is contained in:
parent
a55a207bb2
commit
a8a3f5285e
@ -1,7 +1,6 @@
|
|||||||
import QtQuick 2.14
|
import QtQuick 2.14
|
||||||
|
|
||||||
import StatusQ.Core 0.1
|
import StatusQ.Core 0.1
|
||||||
import StatusQ.Core.Utils 0.1
|
|
||||||
import StatusQ.Core.Theme 0.1
|
import StatusQ.Core.Theme 0.1
|
||||||
|
|
||||||
StatusBaseText {
|
StatusBaseText {
|
||||||
@ -10,6 +9,10 @@ StatusBaseText {
|
|||||||
property double previousMessageTimestamp
|
property double previousMessageTimestamp
|
||||||
property double messageTimestamp
|
property double messageTimestamp
|
||||||
|
|
||||||
|
readonly property int msInADay: 86400000
|
||||||
|
readonly property int lastMessageInDays: Math.floor(previousMessageTimestamp / msInADay)
|
||||||
|
readonly property int currentMessageInDays: Math.floor(messageTimestamp / msInADay)
|
||||||
|
|
||||||
font.pixelSize: 13
|
font.pixelSize: 13
|
||||||
color: Theme.palette.baseColor1
|
color: Theme.palette.baseColor1
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
@ -18,20 +21,9 @@ StatusBaseText {
|
|||||||
if (messageTimestamp === 0)
|
if (messageTimestamp === 0)
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
const msInADay = 86400000
|
|
||||||
const lastMessageInDays = Math.floor(previousMessageTimestamp / msInADay)
|
|
||||||
const currentMessageInDays = Math.floor(messageTimestamp / msInADay)
|
|
||||||
if(previousMessageTimestamp > 0 && currentMessageInDays <= lastMessageInDays)
|
if(previousMessageTimestamp > 0 && currentMessageInDays <= lastMessageInDays)
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
let date = new Date()
|
return LocaleUtils.formatDate(messageTimestamp)
|
||||||
const currentYear = date.getFullYear()
|
|
||||||
date.setTime(messageTimestamp)
|
|
||||||
|
|
||||||
// FIXME Qt6: replace with Intl.DateTimeFormat
|
|
||||||
const monthName = Qt.locale().standaloneMonthName(date.getMonth(), Locale.LongFormat)
|
|
||||||
if (currentYear > date.getFullYear())
|
|
||||||
return "%1 %2, %3".arg(monthName).arg(date.getDate()).arg(date.getFullYear())
|
|
||||||
return "%1, %2".arg(monthName).arg(date.getDate())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user