Status: prevent selecting text from navigating to the status
Fixes https://gitlab.com/soapbox-pub/soapbox/-/issues/901
This commit is contained in:
parent
48a03ed5bd
commit
dd56885d89
1 changed files with 6 additions and 1 deletions
|
@ -110,6 +110,11 @@ const Status: React.FC<IStatus> = (props) => {
|
||||||
const handleClick = (e?: React.MouseEvent): void => {
|
const handleClick = (e?: React.MouseEvent): void => {
|
||||||
e?.stopPropagation();
|
e?.stopPropagation();
|
||||||
|
|
||||||
|
// If the user is selecting text, don't focus the status.
|
||||||
|
if (getSelection()?.toString().length) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!e || !(e.ctrlKey || e.metaKey)) {
|
if (!e || !(e.ctrlKey || e.metaKey)) {
|
||||||
if (onClick) {
|
if (onClick) {
|
||||||
onClick();
|
onClick();
|
||||||
|
@ -321,7 +326,7 @@ const Status: React.FC<IStatus> = (props) => {
|
||||||
data-featured={featured ? 'true' : null}
|
data-featured={featured ? 'true' : null}
|
||||||
aria-label={textForScreenReader(intl, actualStatus, rebloggedByText)}
|
aria-label={textForScreenReader(intl, actualStatus, rebloggedByText)}
|
||||||
ref={node}
|
ref={node}
|
||||||
onClick={handleClick}
|
onMouseUp={handleClick}
|
||||||
role='link'
|
role='link'
|
||||||
>
|
>
|
||||||
{featured && (
|
{featured && (
|
||||||
|
|
Loading…
Reference in a new issue