* fix: Use singleton for tooltips, ensures that only one is visible at a time and animations are shared
* fix: give toolbar menu its own context
* Remove duplicate props
* fix: probably copy-pasted function description
* fix: userIdsMentioned was always empty
* add: NotificationEventType.ResolveComment
* move: split handler for "mentioned" vs. "resolved"
The recipients for "resolved" will include more people (creator, repliers, mentioned), so it's easier to just split the handler than trying to augment it.
* implement: handleResolvedComment
* clone: CommentMentionedEmail as CommentResolvedEmail
Changes coming up in next commit...
* implement: CommentResolvedEmail
* Fix "New Comment↓" incorrectly showing in Resolved
## Repro 1 (with production code)
1. In a list of long resolved comments, scroll up and select the first one.
2. From another account, resolve another comment. The hint appears.
## Repro 2 (with production code)
1. Select Most-Recent, then Resolved.
2. F5. It's scrolled all the way to the bottom.
## Repro 3 (after this PR)
1. Click on the notification when someone resolved a comment. The screen jumps to "Resolved" + showing hint unnecessarily.
## Fix
The scrolling and hint was meant for Most Recent only, but missed out this case since "Resolve" is not part of the enum.
* Better sentences
* Refactor "mentions + author" calculation
* Remove unnecessary check
The resolver is already added to `userIdsNotified` from the start, so no point checking it again here.
* DocumentExplorer: make style extensible
* Allow user to select doc-copy dest
The change in `documentDuplicator` essentially alters the fallback from "parent" to "top of collection". But there is only 1 place that uses it so far, so I think it's fine to support this PR.
In the next commit, the caller side will restore the default to "parent".
* Auto select parent as initial target (to retain existing behavior)
Otherwise, user would need to always search/expand the tree. I have a feeling that people might want the last selection to be persistent, but ignoring that for now.
The 50ms timeout feels dirty, but 0 was too fast, at least on my machine. I couldn't find anything in react-window for a "ready" flag.
* Rename: DuplicateDialog -> DocumentCopy
This begins the switch to DocumentCopy's look in the next few commits
* Revert DocumentExplorer style override
No longer needed since we won't be using it under a ConfirmationDialog anymore in the next commit.
* Switch to DocumentMove's style
* initialSelectionId -> defaultValue
---------
Co-authored-by: Tom Moor <tom.moor@gmail.com>
* Comment: collapse long replies
## Ticket
Closes 5079
## Review
- For the case of RTL, followed how "Reply" is implemented (assumed that is the desired). If it need to be re-aligned, it can be fixed together with "Reply" later.
- The threshold number can be moved to constants.ts if we don't want to pollute the props.
* Card-style + Facepile