Skip to content

Commit 1e04464

Browse files
committed
fix: reverse merge redirect + hotkey behavior
1 parent 110afab commit 1e04464

3 files changed

Lines changed: 22 additions & 6 deletions

File tree

client/app/components/modals/MergeModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export default function MergeModal(props: Props) {
5757
.then(r => {
5858
if (r.ok) {
5959
if (mergeOrderReversed) {
60-
navigate(`/${props.type.toLowerCase()}/${mergeTarget}`)
60+
navigate(`/${props.type.toLowerCase()}/${mergeTarget.id}`)
6161
closeMergeModal()
6262
} else {
6363
window.location.reload()

client/app/components/sidebar/SidebarSearch.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,19 @@ export default function SidebarSearch({ size } : Props) {
1212

1313
useEffect(() => {
1414
const handleKeyDown = (e: KeyboardEvent) => {
15-
if (e.key === '/' && !open) {
15+
const active = document.activeElement;
16+
const isTyping = active && (
17+
active.tagName === 'INPUT' ||
18+
active.tagName === 'TEXTAREA' ||
19+
(active as HTMLElement).isContentEditable
20+
);
21+
22+
if (!isTyping && e.key === '/') {
1623
e.preventDefault();
17-
setModalOpen(true);
24+
setModalOpen(!open);
1825
}
1926
};
27+
2028
document.addEventListener('keydown', handleKeyDown);
2129
return () => document.removeEventListener('keydown', handleKeyDown);
2230
}, [open]);

client/app/components/sidebar/SidebarSettings.tsx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,20 @@ export default function SidebarSettings({ size }: Props) {
1111
const [open, setOpen] = useState(false);
1212

1313
useEffect(() => {
14-
const handleKeyDown= (e: KeyboardEvent) => {
15-
if (e.key === '\\' && !open) {
14+
const handleKeyDown = (e: KeyboardEvent) => {
15+
const active = document.activeElement;
16+
const isTyping = active && (
17+
active.tagName === 'INPUT' ||
18+
active.tagName === 'TEXTAREA' ||
19+
(active as HTMLElement).isContentEditable
20+
);
21+
22+
if (!isTyping && e.key === '\\') {
1623
e.preventDefault();
17-
setOpen(true);
24+
setOpen(!open);
1825
}
1926
};
27+
2028
document.addEventListener('keydown', handleKeyDown);
2129
return () => document.removeEventListener('keydown', handleKeyDown);
2230
}, [open]);

0 commit comments

Comments
 (0)