dernettehans
Lt. Commander
- Registriert
- März 2021
- Beiträge
- 1.954
sind bei mir auch immer noch weg : /
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Was spricht dagegen? Ist doch die deutlich bessere Alternative, als alles mögliche (erfolglos) zu versuchen?chaosnr1 schrieb:danke für den Tip. Bin noch nicht bereit das über ein Script zu machen, auch wenn es funktioniert.
// Process Birthdays
const birthdays = connection.birthdays || [];
birthdays.forEach(birthday => {
if (calendarNotFound) return; // Skip processing if calendar not found
if (GCalTools.shouldProcessDate(birthday.date)) {
let title = GCalTools.formatEventTitle(birthdayTitleFormat || `{name} hat Geburtstag`, contactName, "Birthday");
let description = addCustomDescriptions ? GCalTools.formatEventTitle(birthdayDescription, contactName, "Birthday") : "";
let result = GCalTools.createOrUpdateEvent(calendarService, calendarId, contactName, birthday.date, title, description);
function deleteEvents() { const calendarToDeleteId = useOriginalBirthdayCalendar ? 'primary' : calendarId;
let patterns = [];
if (useOriginalBirthdayCalendar) {
// For primary calendar, use the standard pattern that matches the birthday flag
patterns.push(deleteSearchPattern || "Birthday");
} else {
// For secondary calendars, we'll gather labels from contacts in the utility function
if (deleteSearchPattern) {
patterns.push(deleteSearchPattern);
} else {
patterns.push("Birthday"); // Always include Birthday
}
patterns.push("Geburtstag"); // Always include Geburtstag
}
if (dryRun) {
Logger.log("DRY RUN MODE: No events will be deleted, only logged");
}
return GCalTools.deleteEvents(calendarToDeleteId, patterns, deleteOnlyFutureEvents, dryRun);
}
for (var i = 0; i < events.length; i++) {
var event = events[i];
// For primary calendar, use the birthday event type
var shouldDelete;
if (useOriginalBirthdayCalendar) { shouldDelete = (calendarId === "primary" && event.eventType === "birthday"); }
else { }
// For secondary calendars ONLY, match against our patterns
if (!shouldDelete && calendarId !== "primary" && event.summary && patterns && patterns.length > 0) {
shouldDelete = patterns.some(p => event.summary.includes(p));
}
if (shouldDelete) {
if (isDryRun) {
Logger.log("DRY RUN: Would delete event: " + event.summary);
} else {
Calendar.Events.remove(calendarId, event.id);
Logger.log("Deleted event: " + event.summary);
}
eventsDeleted++;
}
}