mirror of
https://github.com/SrIzan10/wacals.git
synced 2026-06-05 16:57:02 +00:00
chore: add day of week and add event title to top
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -33,4 +33,5 @@ report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
|
||||
# Finder (MacOS) folder config
|
||||
.DS_Store
|
||||
|
||||
.wwebjs*
|
||||
.wwebjs*
|
||||
.codex
|
||||
@@ -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=""
|
||||
```
|
||||
|
||||
|
||||
14
src/index.ts
14
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);
|
||||
});
|
||||
|
||||
|
||||
@@ -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}`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user