fix: reverse merge redirect + hotkey behavior

pull/20/head
Gabe Farrell 6 months ago
parent 110afab9b0
commit 1e04464dad

@ -57,7 +57,7 @@ export default function MergeModal(props: Props) {
.then(r => { .then(r => {
if (r.ok) { if (r.ok) {
if (mergeOrderReversed) { if (mergeOrderReversed) {
navigate(`/${props.type.toLowerCase()}/${mergeTarget}`) navigate(`/${props.type.toLowerCase()}/${mergeTarget.id}`)
closeMergeModal() closeMergeModal()
} else { } else {
window.location.reload() window.location.reload()

@ -12,11 +12,19 @@ export default function SidebarSearch({ size } : Props) {
useEffect(() => { useEffect(() => {
const handleKeyDown = (e: KeyboardEvent) => { const handleKeyDown = (e: KeyboardEvent) => {
if (e.key === '/' && !open) { const active = document.activeElement;
const isTyping = active && (
active.tagName === 'INPUT' ||
active.tagName === 'TEXTAREA' ||
(active as HTMLElement).isContentEditable
);
if (!isTyping && e.key === '/') {
e.preventDefault(); e.preventDefault();
setModalOpen(true); setModalOpen(!open);
} }
}; };
document.addEventListener('keydown', handleKeyDown); document.addEventListener('keydown', handleKeyDown);
return () => document.removeEventListener('keydown', handleKeyDown); return () => document.removeEventListener('keydown', handleKeyDown);
}, [open]); }, [open]);

@ -11,12 +11,20 @@ export default function SidebarSettings({ size }: Props) {
const [open, setOpen] = useState(false); const [open, setOpen] = useState(false);
useEffect(() => { useEffect(() => {
const handleKeyDown= (e: KeyboardEvent) => { const handleKeyDown = (e: KeyboardEvent) => {
if (e.key === '\\' && !open) { const active = document.activeElement;
const isTyping = active && (
active.tagName === 'INPUT' ||
active.tagName === 'TEXTAREA' ||
(active as HTMLElement).isContentEditable
);
if (!isTyping && e.key === '\\') {
e.preventDefault(); e.preventDefault();
setOpen(true); setOpen(!open);
} }
}; };
document.addEventListener('keydown', handleKeyDown); document.addEventListener('keydown', handleKeyDown);
return () => document.removeEventListener('keydown', handleKeyDown); return () => document.removeEventListener('keydown', handleKeyDown);
}, [open]); }, [open]);

Loading…
Cancel
Save