mirror of
https://github.com/gabehf/Koito.git
synced 2026-03-14 09:55:55 -07:00
fix: reverse merge redirect + hotkey behavior
This commit is contained in:
parent
110afab9b0
commit
1e04464dad
3 changed files with 22 additions and 6 deletions
|
|
@ -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…
Add table
Add a link
Reference in a new issue