User Interface medium complexity mobile
5
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

Flutter screen for creating and editing individual notes. Provides a multi-line AppTextField for freeform body text, an optional contact picker for linking the note to a contact, a keyboard toolbar with a speech-to-text icon button, and an attachment panel. Supports font scaling to 200% and carries semantic labels on all fields for WCAG 2.2 AA screen-reader compatibility.

Feature: Note Editor

note-editor-screen

Responsibilities

  • Render multi-line text input with auto-growing height and WCAG-compliant semantic labels
  • Present optional contact picker using the shared Contact Search Widget
  • Show attachment strip and launch attachment manager for adding files or photos
  • Display confirmation dialog on delete and propagate cascade deletion to note_attachments
  • Trigger debounced draft auto-save via Note Draft Auto-Save Service on text changes

Interfaces

createNote(contactId?: String) -> NoteId
editNote(noteId: String) -> void
deleteNote(noteId: String) -> void
attachFile(noteId: String, source: FileSource) -> Attachment
removeAttachment(attachmentId: String) -> void
linkContact(noteId: String, contactId: String) -> void