Add shift+click to link to a channel in the textarea

This commit is contained in:
brecert 2021-09-07 08:34:40 -04:00
parent 2966e77917
commit dd9b486dab
No known key found for this signature in database
GPG key ID: 1B2E56B9EC985B96
2 changed files with 13 additions and 1 deletions

View file

@ -22,6 +22,7 @@ import { mapChannelWithUnread, useUnreads } from "./common";
import { ChannelButton } from "../items/ButtonItem"; import { ChannelButton } from "../items/ButtonItem";
import ConnectionStatus from "../items/ConnectionStatus"; import ConnectionStatus from "../items/ConnectionStatus";
import { internalEmit } from "../../../lib/eventEmitter";
interface Props { interface Props {
unreads: Unreads; unreads: Unreads;
@ -86,6 +87,17 @@ const ServerSidebar = observer((props: Props) => {
return ( return (
<ConditionalLink <ConditionalLink
onClick={e => {
if (e.shiftKey) {
internalEmit(
"MessageBox",
"append",
`<#${entry._id}>`,
"mention",
);
e.preventDefault()
}
}}
key={entry._id} key={entry._id}
active={active} active={active}
to={`/server/${server!._id}/channel/${entry._id}`}> to={`/server/${server!._id}/channel/${entry._id}`}>

View file

@ -9,7 +9,7 @@ export default function ConditionalLink(props: Props) {
const { active, ...linkProps } = props; const { active, ...linkProps } = props;
if (active) { if (active) {
return <a>{props.children}</a>; return <a onClick={linkProps.onClick}>{props.children}</a>;
} }
return <Link {...linkProps} />; return <Link {...linkProps} />;
} }