Files
holybar/index.mjs
T
2026-04-18 01:43:52 +02:00

42 lines
1.0 KiB
JavaScript

import { statusItem } from "glimpseui";
import refresh from "./handlers/refresh.mjs";
import { base } from "./helpers/html.mjs";
import { log } from "./helpers/logger.mjs";
import { isToday } from "date-fns";
import open from "open";
let lastDate = new Date();
let interval;
const app = statusItem(base, {
title: "✝️",
width: 800,
height: 400,
});
app.on("message", (message) => {
log("Received message:", message);
switch (message.action) {
case "ready":
interval = setInterval(() => {
log("Checking for new reading...");
if (!isToday(lastDate)) {
refresh(app);
lastDate = new Date();
log("Updated reading for date:", lastDate);
}
log("Next check in 1 minute");
}, 60 * 1000); // Check every minute
refresh(app);
break;
case "openUrl":
if (message.url) {
log("Opening URL:", message.url);
open(message.url);
}
break;
}
});
app.on("closed", () => clearInterval(interval) && process.exit(0));