Conversation
…r-for-notes Add reminders to notes
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughA reminder feature and search modal are added to Notes++. The backend provides reminder CRUD operations with validation, file-based persistence per project, and a periodic timer to detect due reminders and emit events. The frontend integrates a reminder time picker into the editor, displays reminder nodes inline, manages reminder state through a Pinia store, and shows toast notifications when reminders are due. A search modal with note viewing capabilities is also introduced, powered by draggable/resizable modal utilities. Changes
Sequence DiagramsequenceDiagram
participant User
participant Editor as NoteEditor
participant Picker as ReminderPicker
participant SDK as Backend API
participant Timer as ReminderTimer
participant Store as RemindersStore
participant Notify as ReminderToast
User->>Editor: Context menu + "Set Reminder"
Editor->>Picker: Show time picker at cursor
User->>Picker: Select date + confirm
Picker->>Editor: emit confirm(date)
Editor->>SDK: createReminder(notePath, context, reminderAt)
SDK->>SDK: Validate + parse date + create reminder with UUID
SDK->>SDK: Write to reminders.json file
SDK-->>Editor: Return reminder object
Editor->>Editor: Insert reminderNode into editor content
Timer->>SDK: Check reminders every 30s
SDK->>SDK: Read reminders.json + compare reminderAt vs now
alt Reminder is due
SDK->>SDK: Set triggered = true + write file
SDK->>Store: Emit "notes++:reminderDue" event
end
Store->>Store: Receive event + add to activeToasts
Store->>Store: Play notification sound
Store->>Notify: Render toast
User->>Notify: Click dismiss / wait 15s auto-dismiss
Notify->>Store: emit dismiss or expire
Store->>SDK: dismissReminder(reminderId)
SDK->>SDK: Set dismissed = true + write file
Store->>Notify: Remove from activeToasts
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
This Closes #22
Summary by CodeRabbit