|
|
|
@ -157,26 +157,18 @@ export function MangaViewer({
|
|
|
|
useEffect(() => {
|
|
|
|
useEffect(() => {
|
|
|
|
const handler = (e: KeyboardEvent) => {
|
|
|
|
const handler = (e: KeyboardEvent) => {
|
|
|
|
if (e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement) return;
|
|
|
|
if (e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement) return;
|
|
|
|
switch (e.key) {
|
|
|
|
if (e.code === 'ArrowRight') {
|
|
|
|
case 'ArrowRight':
|
|
|
|
|
|
|
|
e.preventDefault();
|
|
|
|
e.preventDefault();
|
|
|
|
goNext();
|
|
|
|
goNext();
|
|
|
|
break;
|
|
|
|
} else if (e.code === 'ArrowLeft') {
|
|
|
|
case 'ArrowLeft':
|
|
|
|
|
|
|
|
e.preventDefault();
|
|
|
|
e.preventDefault();
|
|
|
|
goPrev();
|
|
|
|
goPrev();
|
|
|
|
break;
|
|
|
|
} else if (e.code === 'KeyF' || e.key === 'f' || e.key === 'F' || e.key === 'ㄹ') {
|
|
|
|
case 'f':
|
|
|
|
|
|
|
|
case 'F':
|
|
|
|
|
|
|
|
toggleFullscreen();
|
|
|
|
toggleFullscreen();
|
|
|
|
break;
|
|
|
|
} else if (e.code === 'KeyS' || e.key === 's' || e.key === 'S' || e.key === 'ㄴ') {
|
|
|
|
case 's':
|
|
|
|
|
|
|
|
case 'S':
|
|
|
|
|
|
|
|
setShowSettings((v) => !v);
|
|
|
|
setShowSettings((v) => !v);
|
|
|
|
break;
|
|
|
|
} else if (e.key === 'Escape') {
|
|
|
|
case 'Escape':
|
|
|
|
|
|
|
|
if (showSettings) setShowSettings(false);
|
|
|
|
if (showSettings) setShowSettings(false);
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
window.addEventListener('keydown', handler);
|
|
|
|
window.addEventListener('keydown', handler);
|
|
|
|
|