Reminder
Route
/hatirlatici — removed from the sidebar menu, still reachable by direct URL.
Page Purpose
Summarize, filter, and track reminders assigned to notes on a single screen, and surface reminders that have become due.
Fields on the Page
- A header card: "Hatırlatıcı" title, a search box.
- Three clickable summary cards (which also act as filters): "Toplam Not" (Total Notes), "Atanmış" (Assigned), "Atanmamış" (Unassigned) — with count and percentage.
- One reminder card per note: module name, note text, three info boxes (edit/update/reminder dates, showing up to 3 reminder times + "+N more"), and a large clock button showing a live countdown/elapsed timer.
- An automatically-opened notification dialog for a reminder that has become due.
User Actions
- Filter by typing in the search box or clicking a summary card.
- Click the clock button to add/edit/delete a note's reminder times.
- Dismiss the due-reminder notification.
Data Used
- The list of notes eligible for reminders, and the reminder records (timestamps) attached to them.
Access and Visibility
Not shown in the sidebar (deliberately removed, per an in-code comment), but the route itself carries no role restriction — any logged-in user (including the user role) can reach it by direct URL.
Components Used
dashboard/src/components/reminder/index.tsx— the page component.dashboard/src/components/reminder/NoteReminderModal.tsx— the form for adding/editing/deleting reminder times.dashboard/src/components/reminder/DueReminderDialog.tsx— the due-reminder notification dialog.dashboard/src/components/reminder/useNoteReminders.tsx— the hook that schedules and fires reminders.dashboard/src/components/reminder/reminderUtils.ts— date/time calculation helpers.
API Communication
| Action | Method | Endpoint | Purpose |
|---|---|---|---|
| Fetch note list | GET | /iqv_notlar_listele |
List notes eligible for reminders |
| Fetch reminder list | GET | /iqv_not_hatirlatici_listele |
List reminder records for notes |
| Add/update reminders | POST | /iqv_not_hatirlatici_olustur |
Save a note's full set of reminder times |
| Delete reminder | DELETE | /iqv_not_hatirlatici_sil |
Delete a single reminder time |
For details, see API Documentation › Notes and Reminders.
State Management
- The reminder list, filter selection, and search text: local React state.
- "Has this reminder already been shown in this tab?" state: kept in
sessionStorageunder dynamic keys (iqv-platform-note-reminder:<record_id>:<note_id>:<reminder_time>) — cleared when the tab closes, not in Redux.