diff --git a/src/components/article/tabs/ArticleHistoryTab.jsx b/src/components/article/tabs/ArticleHistoryTab.jsx index f15fc16..5abf343 100644 --- a/src/components/article/tabs/ArticleHistoryTab.jsx +++ b/src/components/article/tabs/ArticleHistoryTab.jsx @@ -4,7 +4,6 @@ import Button from '@mui/material/Button'; import Chip from '@mui/material/Chip'; import CircularProgress from '@mui/material/CircularProgress'; import Link from '@mui/material/Link'; -import ListItemButton from '@mui/material/ListItemButton'; import Skeleton from '@mui/material/Skeleton'; import Typography from '@mui/material/Typography'; import ViewModuleIcon from '@mui/icons-material/ViewModule'; @@ -125,13 +124,23 @@ class ArticleHistoryRow extends PureComponent { renderLink(label, onClick) { return ( { e.stopPropagation(); + const selection = window.getSelection()?.toString(); + if (selection && selection.length > 0) return; onClick?.(e); }} + onKeyDown={(e) => { + if (e.key === 'Enter' || e.key === ' ') { + e.preventDefault(); + e.stopPropagation(); + onClick?.(e); + } + }} sx={{ fontWeight: 600, verticalAlign: 'baseline', @@ -141,6 +150,7 @@ class ArticleHistoryRow extends PureComponent { textDecoration: 'underline', fontFamily: 'inherit', fontSize: 'inherit', + userSelect: 'text', p: 0, m: 0, border: 'none', @@ -321,6 +331,7 @@ class ArticleHistoryRow extends PureComponent { width: 14, height: 14, lineHeight: 0, + cursor: 'default', m: 0, my: 0, p: 0, @@ -347,9 +358,7 @@ class ArticleHistoryRow extends PureComponent { if (!item) { if (disabled) { return ( -   - + ); } return ( - {renderInvisibleDummyRow(dummy)} @@ -378,25 +396,37 @@ class ArticleHistoryRow extends PureComponent { - + ); } const meta = decodeMeta(item.meta); return ( - {renderInvisibleDummyRow(dummy)} - + {formatDateTime(item.date || item.createdAt)} @@ -410,18 +440,20 @@ class ArticleHistoryRow extends PureComponent { display: 'flex', alignItems: 'center', overflow: 'hidden', + userSelect: 'text', + cursor: 'text', }} > {this.renderSkelehashThumb(meta)} {this.renderEntrySpans(item.text, meta)} - + ); } }