Disjointed popovers
- Separates popovers from DOM hierarchy by teleporting them to a separate container
- Uses
position: fixed
to position popovers.As a result, popovers are now forcibly hidden on scroll - Recaclculates popover position on scroll event. Works like a charm on desktop (sub 1ms per scroll update), a bit laggy but acceptable on firefox mobile, popover vibrates but follows the scroll on mobile chrome.
- Fixes duplicate
<button>
elements on react/extra buttons - Uses vue transition to fix animations on popups/tooltips
- Fixes shadows so that all popovers/tooltips have proper shadows, not just status popovers
- Replaces ugly bootleg tooltips for mention links with floating usercards (on click)
Known issues
-
hide-on-scroll only works on main document scroll, not on column scroll.Now searches for nearby.column.-scrollable
and falls back to usingwindow
otherwise -
tests are likely fucked due to changes in mentionlinks stuff? yep. fucked.fixed now -
performance needs testing/verification -
when i get browserstack i can test ios, i expect it to be jank af but workable. - actually, performance is stellar, at least best i could tell, browserstack itself is pretty laggy tho, can't test thoroughly
-
maybe add advanced option to not do that in case it causes problems?
-
-
❔ maybe it's too easy now to keep hover popover open? -
❔ popover position doesn't update when timeline moves, but wiring that into vuex/vue events might have performance consequences
Edited by HJ