mirror of
https://github.com/SrIzan10/wacals.git
synced 2026-06-06 01:07:01 +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
|
# Finder (MacOS) folder config
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
.wwebjs*
|
.wwebjs*
|
||||||
|
.codex
|
||||||
@@ -13,8 +13,8 @@ bun install
|
|||||||
populate env:
|
populate env:
|
||||||
```
|
```
|
||||||
REDIS_URL=""
|
REDIS_URL=""
|
||||||
# you are better off generating this with "openssl rand -base64 32"
|
# generate this with "openssl rand -base64 32"
|
||||||
AUTH_KEY="asdfasdasddfasdfasddf"
|
AUTH_KEY=""
|
||||||
CHAT_ID=""
|
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 }) => {
|
events.on("eventUpdate", async ({ changes, previousEvent, currentEvent }) => {
|
||||||
|
const getEventTitle = (event: CalendarEvent | null) =>
|
||||||
|
event?.summary ?? "sin título";
|
||||||
|
|
||||||
const changeMap = {
|
const changeMap = {
|
||||||
created: `📅➕ *${currentEvent.summary}* - ${formatEventDate(
|
created: `📅➕ Creado para *${formatEventDate(currentEvent, "start")}*`,
|
||||||
|
summaryUpdate: `📝 Nombre: ${getEventTitle(previousEvent)} → *${getEventTitle(
|
||||||
currentEvent,
|
currentEvent,
|
||||||
"start",
|
)}*`,
|
||||||
)}`,
|
|
||||||
summaryUpdate: `📝 Nombre: ${previousEvent?.summary ?? "sin título"} → *${
|
|
||||||
currentEvent.summary ?? "sin título"
|
|
||||||
}*`,
|
|
||||||
startUpdate: `🕐 Inicio: ${formatEventDate(
|
startUpdate: `🕐 Inicio: ${formatEventDate(
|
||||||
previousEvent,
|
previousEvent,
|
||||||
"start",
|
"start",
|
||||||
@@ -93,7 +93,7 @@ events.on("eventUpdate", async ({ changes, previousEvent, currentEvent }) => {
|
|||||||
const changeText = changes
|
const changeText = changes
|
||||||
.map((change: EventChange) => `- ${changeMap[change]}`)
|
.map((change: EventChange) => `- ${changeMap[change]}`)
|
||||||
.join("\n");
|
.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);
|
await wa.sendMessage(process.env.CHAT_ID!, message);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ function getRelativeDayLabel(diffDays: number) {
|
|||||||
export function styleDate(dateStr: string) {
|
export function styleDate(dateStr: string) {
|
||||||
const eventDate = new Date(dateStr);
|
const eventDate = new Date(dateStr);
|
||||||
const day = eventDate.getDate();
|
const day = eventDate.getDate();
|
||||||
|
const dayWeek = eventDate.toLocaleString("es-ES", { weekday: "long" });
|
||||||
const month = eventDate.toLocaleString("es-ES", { month: "2-digit" });
|
const month = eventDate.toLocaleString("es-ES", { month: "2-digit" });
|
||||||
const time = eventDate.toLocaleTimeString("es-ES", {
|
const time = eventDate.toLocaleTimeString("es-ES", {
|
||||||
hour: "2-digit",
|
hour: "2-digit",
|
||||||
@@ -36,5 +37,5 @@ export function styleDate(dateStr: string) {
|
|||||||
const eventDay = getStartOfDay(eventDate);
|
const eventDay = getStartOfDay(eventDate);
|
||||||
const diffDays = Math.round((eventDay.getTime() - today.getTime()) / DAY_IN_MS);
|
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