[Glitch] Refactor status handleClick and handleHotkeyOpen handlers

Port 9712518b2fb2585df3bcff95a687c291f04a4199 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
Claire 2025-01-03 23:00:52 +01:00
parent d878ca267c
commit 0327db3db0

View File

@ -272,7 +272,12 @@ class Status extends ImmutablePureComponent {
handleClick = e => { handleClick = e => {
e.preventDefault(); e.preventDefault();
this.handleHotkeyOpen(e);
if (e?.button === 0 && !(e?.ctrlKey || e?.metaKey)) {
this._openStatus();
} else if (e?.button === 1 || (e?.button === 0 && (e?.ctrlKey || e?.metaKey))) {
this._openStatus(true);
}
}; };
handleMouseUp = e => { handleMouseUp = e => {
@ -349,7 +354,11 @@ class Status extends ImmutablePureComponent {
this.props.onMention(this.props.status.get('account')); this.props.onMention(this.props.status.get('account'));
}; };
handleHotkeyOpen = (e) => { handleHotkeyOpen = () => {
this._openStatus();
};
_openStatus = (newTab = false) => {
if (this.props.onClick) { if (this.props.onClick) {
this.props.onClick(); this.props.onClick();
return; return;
@ -364,7 +373,7 @@ class Status extends ImmutablePureComponent {
const path = `/@${status.getIn(['account', 'acct'])}/${status.get('id')}`; const path = `/@${status.getIn(['account', 'acct'])}/${status.get('id')}`;
if (e?.button === 1 || (e?.button === 0 && (e?.ctrlKey || e?.metaKey))) { if (newTab) {
window.open(path, '_blank', 'noopener'); window.open(path, '_blank', 'noopener');
} else { } else {
history.push(path); history.push(path);