Fixes broken suffix
parent
c971a7cd0e
commit
123cd79a5d
|
|
@ -30,15 +30,16 @@ Graphics.prototype.setFontRighteous = function () {
|
|||
);
|
||||
};
|
||||
|
||||
// Load and set default settings
|
||||
// Load and set default appSettings
|
||||
let teletextColors = ["#000", "#f00", "#0f0", "#ff0", "#00f", "#f0f", "#0ff", "#fff"];
|
||||
let settings = Object.assign({
|
||||
let appSettings = Object.assign({
|
||||
color: teletextColors[6],
|
||||
theme: 'light',
|
||||
enableSuffix: true,
|
||||
enableLeadingZero: false,
|
||||
}, require('Storage').readJSON("shadowclk.json", true) || {});
|
||||
|
||||
// Draw the time and date
|
||||
(function() {
|
||||
let drawTimeout;
|
||||
|
||||
|
|
@ -52,55 +53,47 @@ let settings = Object.assign({
|
|||
var is12HourFormat = settings["12hour"];
|
||||
var hour = date.getHours();
|
||||
var minutes = String(date.getMinutes()).padStart(2, '0');
|
||||
|
||||
// Handle 12-hour format
|
||||
if (is12HourFormat) {
|
||||
hour = hour % 12 || 12; // Convert 0 to 12 for 12-hour format
|
||||
} else {
|
||||
// If the leading zero option is enabled and hour is less than 10, add leading zero
|
||||
if (appSettings.enableLeadingZero && hour < 10) {
|
||||
hour = '0' + hour;
|
||||
} else if (appSettings.enableLeadingZero) {
|
||||
hour = hour.toString().padStart(2, '0');
|
||||
}
|
||||
}
|
||||
|
||||
var timeStr = hour + ':' + minutes;
|
||||
|
||||
// Handle midnight in 12-hour format specifically
|
||||
if (is12HourFormat && hour === 0) {
|
||||
timeStr = '12' + timeStr.substring(2);
|
||||
}
|
||||
|
||||
// Print time in selected color and then the outline
|
||||
var color = appSettings.color;
|
||||
g.setFontAlign(0, 0).setFont("LondrinaSolid").setColor(color).drawString(timeStr, x - 1, y);
|
||||
g.reset().setFontAlign(0, 0).setFont("LondrinaShadow").drawString(timeStr, x - 1, y);
|
||||
|
||||
// Get full date and handle formatting
|
||||
var locale = require("locale");
|
||||
var dayOfMonth = date.getDate();
|
||||
var month = locale.month(date, 1).slice(0, 1).toUpperCase() + locale.month(date, 1).slice(1).toLowerCase();
|
||||
var year = date.getFullYear();
|
||||
var dayOfMonthStr = dayOfMonth.toString();
|
||||
if (settings.enableSuffix) {
|
||||
if (appSettings.enableSuffix) {
|
||||
var suffix = "";
|
||||
if (dayOfMonth === 1 || dayOfMonth === 21 || dayOfMonth === 31) {
|
||||
dayOfMonthStr += "st";
|
||||
suffix = "st";
|
||||
} else if (dayOfMonth === 2 || dayOfMonth === 22) {
|
||||
dayOfMonthStr += "nd";
|
||||
suffix = "nd";
|
||||
} else if (dayOfMonth === 3 || dayOfMonth === 23) {
|
||||
dayOfMonthStr += "rd";
|
||||
suffix = "rd";
|
||||
} else {
|
||||
dayOfMonthStr += "th";
|
||||
suffix = "th";
|
||||
}
|
||||
dayOfMonthStr += suffix;
|
||||
}
|
||||
var dayOfWeek = locale.dow(date, 0).slice(0, 1).toUpperCase() + locale.dow(date, 0).slice(1).toLowerCase();
|
||||
var dateStr = month + " " + dayOfMonthStr + ", " + year + "\n" + dayOfWeek;
|
||||
g.setFontAlign(0, 0).setFont("Righteous").drawString(dateStr, x, y + 56);
|
||||
|
||||
// Time interval set to redraw every 60 seconds
|
||||
if (drawTimeout) clearTimeout(drawTimeout);
|
||||
drawTimeout = setTimeout(() => {
|
||||
drawTimeout = undefined;
|
||||
draw();
|
||||
}, 60000 - (Date.now() % 60000));
|
||||
drawTimeout = setTimeout(draw, 60000 - (Date.now() % 60000));
|
||||
}
|
||||
|
||||
Bangle.setUI({
|
||||
mode: "clock",
|
||||
remove: function() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue