45 lines
1.1 KiB
QML
45 lines
1.1 KiB
QML
import QtQuick
|
|
import Quickshell
|
|
pragma Singleton
|
|
|
|
Singleton {
|
|
id: root
|
|
|
|
property var date: new Date()
|
|
property string time: Qt.formatDateTime(date, "HH:mm")
|
|
property string dateString: {
|
|
let now = date;
|
|
let dayName = now.toLocaleDateString(Qt.locale(), "ddd");
|
|
dayName = dayName.charAt(0).toUpperCase() + dayName.slice(1);
|
|
let day = now.getDate();
|
|
let suffix;
|
|
if (day > 3 && day < 21)
|
|
suffix = 'th';
|
|
else
|
|
switch (day % 10) {
|
|
case 1:
|
|
suffix = "st";
|
|
break;
|
|
case 2:
|
|
suffix = "nd";
|
|
break;
|
|
case 3:
|
|
suffix = "rd";
|
|
break;
|
|
default:
|
|
suffix = "th";
|
|
};
|
|
let month = now.toLocaleDateString(Qt.locale(), "MMMM");
|
|
let year = now.toLocaleDateString(Qt.locale(), "yyyy");
|
|
return `${dayName}, ` + `${day}${suffix} ${month} ${year}`;
|
|
}
|
|
|
|
Timer {
|
|
interval: 1000
|
|
repeat: true
|
|
running: true
|
|
onTriggered: root.date = new Date()
|
|
}
|
|
|
|
}
|