Browse Chronological Notes Timeline for a Contact
The Contact Notes Widget renders the full notes history as a scrollable vertical timeline. Each note entry displays the author's display name, the formatted timestamp (localised to Norwegian locale), and the note body. Notes are loaded in reverse-chronological order (newest first). The Contact Notes Repository caches recent notes locally for offline resilience and synchronises on reconnect. Role-based visibility is enforced — if a note was written under a role that the current user does not hold within the same organisation, it is hidden. The widget is optimised for performance with lazy loading on scroll to handle contacts with many historical notes.
User Story
Acceptance Criteria
- Given a contact has multiple notes, when the notes timeline renders, then notes appear in reverse-chronological order with author name, date, and note body for each entry
- Given a contact has more than 20 notes, when the user scrolls to the bottom of the visible list, then additional notes are loaded lazily without a full screen reload
- Given the app is offline, when a user opens the notes timeline, then locally cached notes are displayed with a banner indicating potential staleness
- Given a note was written by a coordinator and the current user is a peer mentor without coordinator role, when the timeline renders, then that note is not visible to the peer mentor
- Given a screen reader is active, when the user navigates the notes timeline, then each note entry is announced with author, date, and content in that order
- Given a contact has no notes, when the timeline section loads, then a friendly empty-state message is displayed
Business Value
The ability to review interaction history reduces duplicated effort and improves support quality significantly. Survey data from the workshops showed that 40% of peer mentors felt under-followed-up by coordinators — a chronological notes timeline directly addresses this by making the full interaction record visible to anyone picking up the case. This is particularly critical when a peer mentor is temporarily unavailable (pause function) and a coordinator or different mentor takes over their contacts.