Extends scheduled event completion to support recurring events.
The changes introduce the concept of an "occurrence" for recurring events,
allowing users to mark individual instances of a recurring event as complete.
This involves:
- Adding recurrence information to the ScheduledEvent model.
- Modifying completion logic to handle recurring events with daily/weekly frequencies
- Updating UI to display recurrence information and mark individual occurrences as complete.
Improves scheduled event retrieval by filtering events
based on user participation and sorting them by start time.
This ensures that users only see events they are participating
in or events that are open to the entire community.
Ensures users only see scheduled events they are participating in or events that are open to everyone.
This change filters the list of today's scheduled events based on the current user's participation.
It only displays events where the user is listed as a participant or events that do not have any participants specified.
Enables marking scheduled events as complete based on a new "event-type" tag.
This change introduces the concept of "completable" events, specifically for events of type "task". It modifies the ScheduledEventCard component to:
- Display completion information only for completable events
- Show the "Mark Complete" button only for completable events that are not yet completed
- Adjust the opacity and strikethrough styling based on the event's completable and completed status.
The ScheduledEventService is updated to extract the event type from the "event-type" tag.
Implements a feature to mark scheduled events as complete, replacing the checkbox with a button for improved UX.
This commit enhances the Scheduled Events functionality by allowing users to mark events as complete. It also includes:
- Replaces the checkbox with a "Mark Complete" button for better usability.
- Adds logging for debugging purposes during event completion toggling.
- Routes completion events (kind 31925) to the ScheduledEventService.
- Optimistically updates the local state after publishing completion events.
Implements NIP-52 scheduled events, allowing users to view and interact with calendar events.
A new `ScheduledEventService` is introduced to manage fetching, storing, and completing scheduled events. A new `ScheduledEventCard` component is introduced for displaying the scheduled events.