From fc01d0921cda04ffdcaadc10b9835a8a2f25a725 Mon Sep 17 00:00:00 2001 From: Izan Gil <66965250+SrIzan10@users.noreply.github.com> Date: Mon, 20 Apr 2026 21:20:53 +0200 Subject: [PATCH] chore: add day of week and add event title to top --- .gitignore | 3 ++- README.md | 4 ++-- src/index.ts | 14 +++++++------- src/utils/styleDate.ts | 3 ++- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 286b1a7..e4f9ea3 100644 --- a/.gitignore +++ b/.gitignore @@ -33,4 +33,5 @@ report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json # Finder (MacOS) folder config .DS_Store -.wwebjs* \ No newline at end of file +.wwebjs* +.codex \ No newline at end of file diff --git a/README.md b/README.md index ce0a49c..73bec63 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ bun install populate env: ``` REDIS_URL="" -# you are better off generating this with "openssl rand -base64 32" -AUTH_KEY="asdfasdasddfasdfasddf" +# generate this with "openssl rand -base64 32" +AUTH_KEY="" CHAT_ID="" ``` diff --git a/src/index.ts b/src/index.ts index e4f9668..a9ad7aa 100644 --- a/src/index.ts +++ b/src/index.ts @@ -72,14 +72,14 @@ wa.on("qr", (qr) => { }); events.on("eventUpdate", async ({ changes, previousEvent, currentEvent }) => { + const getEventTitle = (event: CalendarEvent | null) => + event?.summary ?? "sin título"; + const changeMap = { - created: `📅➕ *${currentEvent.summary}* - ${formatEventDate( + created: `📅➕ Creado para *${formatEventDate(currentEvent, "start")}*`, + summaryUpdate: `📝 Nombre: ${getEventTitle(previousEvent)} → *${getEventTitle( currentEvent, - "start", - )}`, - summaryUpdate: `📝 Nombre: ${previousEvent?.summary ?? "sin título"} → *${ - currentEvent.summary ?? "sin título" - }*`, + )}*`, startUpdate: `🕐 Inicio: ${formatEventDate( previousEvent, "start", @@ -93,7 +93,7 @@ events.on("eventUpdate", async ({ changes, previousEvent, currentEvent }) => { const changeText = changes .map((change: EventChange) => `- ${changeMap[change]}`) .join("\n"); - const message = `Nuevo cambio en el Calendar:\n${changeText}`; + const message = `Cambio en el Calendar para *${getEventTitle(currentEvent)}*:\n${changeText}`; await wa.sendMessage(process.env.CHAT_ID!, message); }); diff --git a/src/utils/styleDate.ts b/src/utils/styleDate.ts index c9122ce..6fd1db2 100644 --- a/src/utils/styleDate.ts +++ b/src/utils/styleDate.ts @@ -26,6 +26,7 @@ function getRelativeDayLabel(diffDays: number) { export function styleDate(dateStr: string) { const eventDate = new Date(dateStr); const day = eventDate.getDate(); + const dayWeek = eventDate.toLocaleString("es-ES", { weekday: "long" }); const month = eventDate.toLocaleString("es-ES", { month: "2-digit" }); const time = eventDate.toLocaleTimeString("es-ES", { hour: "2-digit", @@ -36,5 +37,5 @@ export function styleDate(dateStr: string) { const eventDay = getStartOfDay(eventDate); const diffDays = Math.round((eventDay.getTime() - today.getTime()) / DAY_IN_MS); - return `${day}/${month} (${getRelativeDayLabel(diffDays)}) ${time}`; + return `${dayWeek} ${day}/${month} · ${getRelativeDayLabel(diffDays)} · ${time}`; }