PrivateApp, ComposerContainer encapsulate the whole app and presents onCompose as render props
Implement the handleCompose to open existing draft or create a new one
Manage a part of composer positionning and stacking
Composer
Manage its own positionning, minimize and maximize states
Control its message with useMessage
Receive all changes and actions from sub components and apply them
ComposerTitleBar
Show subject and maximize, minimize and close button
ComposerMeta
Addresses select, simple select with data computed base on the same logic as in Angular
Addresses inputs, big logic with autocomplete, modals...
Subjet, relatively simple input field
ComposerContent
Rich text editor, right now a pretty basic use of Quill. Direct use of ReactQuill (without react-components wrapper) because the needs are already a bit wider than existing
AttachmentsList wich display currently attached images
No drag and drop support at the moment
ComposerActions
Add attachment button, different than in Angular but should work
Expiration and lock not implemented
Save date, save button and send button implemented
Use a new feature of useMessage to display current action in the send button like in Angular
messageDraft & useDraft
Import and adapt draft creation from Angular
Plug in reply, replyAll and transfer button in the UI with onCompose
Reuse prepareDraft in useDraft to prepare a draft for all new empty messages
Blockquotes not perfect right now, could be because of draft creation, quill rendering or both
send logic
Import and adapt send logic from Angular
Starts in useSendMessage the use 4 steps
compute preferences
generate top packages
generate sub packages
encrypt
preferences should use contact data for key management, it's mocked at this point
Fix #2