Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Variables used by Scriptable.
- // These must be at the very top of the file. Do not edit.
- // icon-color: purple; icon-glyph: magic;
- //Shoutout to riverwolf for sharing the code to fetch remaining events for the day. https://talk.automators.fm/t/calendar-reminders/9236
- var widget = new ListWidget();
- const NOW = new Date();
- // Find today's events that are part of the calendar list
- const VISIBLE_CALENDARS = [
- "Your Calendar 1",
- "Your Calendar 2",
- "Your Calendar 3",
- "Your Calendar 4",
- "Your Calendar 5",
- "Your Calendar 6",
- "Your Calendar 7",
- ];
- const itemsToShow = [];
- const events = await CalendarEvent.today();
- for (const event of events) {
- if (
- event.endDate.getTime() > NOW.getTime() &&
- VISIBLE_CALENDARS.includes(event.calendar.title)
- ) {
- itemsToShow.push({
- id: event.identifier,
- });
- }
- }
- let calsymbol = SFSymbol.named("calendar");
- var imagestack = widget.addStack();
- imagestack.setPadding(5, 5, 5, 5);
- imagestack.addSpacer();
- let calimage = imagestack.addImage(calsymbol.image);
- calimage.resizable = false;
- calimage.tintColor = Color.white();
- calimage.centerAlignImage();
- imagestack.addSpacer();
- var counterstack = widget.addStack();
- counterstack.setPadding(5, 5, 5, 5);
- counterstack.addSpacer();
- counterstack.addText(String(itemsToShow.length)).font =
- Font.regularSystemFont(25);
- counterstack.addSpacer();
- widget.url = "calshow://";
- if (config.runsInApp) widget.presentMedium();
- else if (config.runsInWidget) Script.setWidget(widget);
- ——————-
- // Variables used by Scriptable.
- // These must be at the very top of the file. Do not edit.
- // icon-color: purple; icon-glyph: magic;
- //Shoutout to riverwolf for sharing the code to fetch remaining reminders for the day. https://talk.automators.fm/t/calendar-reminders/9236
- var widget = new ListWidget();
- const NOW = new Date();
- // Find today's reminders
- // NOTE: all-day reminders have their time set to 00:00 of the same day, but aren't returned with incompleteDueToday...
- let queryStartTime = new Date(NOW);
- queryStartTime.setDate(queryStartTime.getDate() - 1);
- queryStartTime.setHours(23, 59, 59, 0);
- let queryEndTime = new Date(NOW);
- queryEndTime.setHours(23, 59, 59, 0);
- const reminders = await Reminder.incompleteDueBetween(
- queryStartTime,
- queryEndTime
- );
- let remsymbol = SFSymbol.named("list.bullet");
- var imagestack = widget.addStack();
- imagestack.setPadding(5, 5, 5, 5);
- imagestack.addSpacer();
- let remimage = imagestack.addImage(remsymbol.image);
- remimage.resizable = false;
- remimage.tintColor = Color.white();
- imagestack.addSpacer();
- var counterstack = widget.addStack();
- counterstack.setPadding(5, 5, 5, 5);
- counterstack.addSpacer();
- let remindercount = (counterstack.addText(String(reminders.length)).font =
- Font.regularSystemFont(25));
- counterstack.addSpacer();
- widget.url = "x-apple-reminderkit://";
- if (config.runsInApp) widget.presentMedium();
- else if (config.runsInWidget) Script.setWidget(widget);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement