Skip to content

Commit e527346

Browse files
committed
Wrap-around up/down nav in list mode
1 parent f7332f6 commit e527346

File tree

2 files changed

+21
-11
lines changed

2 files changed

+21
-11
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "emulsion",
3-
"version": "0.11.01",
3+
"version": "0.11.03",
44
"summary": "Better gaming throught chemistry",
55
"description": "Display your games collection into responsive galleries, manage game metadata, cover art and emulator configuration. Launch your games in style.",
66
"homepage": "https://yphil.gitlab.io/emulsion",

src/js/slideshow.js

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -577,12 +577,14 @@ window.onGalleryKeyDown = function onGalleryKeyDown(event) {
577577
selectedIndex = 1;
578578
} else {
579579
if (isListMode && LB.mode === 'gallery') {
580-
selectedIndex = Math.max(selectedIndex - 1, 0);
580+
selectedIndex =
581+
(selectedIndex - 1 + containers.length) % containers.length;
581582
} else {
582583
if (LB.mode === 'gameMenu' && selectedIndex === 1) {
583584
return;
584585
}
585-
selectedIndex = (selectedIndex - 1 + containers.length) % containers.length;
586+
selectedIndex =
587+
(selectedIndex - 1 + containers.length) % containers.length;
586588
}
587589
}
588590
break;
@@ -593,16 +595,19 @@ window.onGalleryKeyDown = function onGalleryKeyDown(event) {
593595
selectedIndex = 0;
594596
} else {
595597
if (isListMode && LB.mode === 'gallery') {
596-
selectedIndex = Math.min(selectedIndex + 1, containers.length - 1);
598+
selectedIndex =
599+
(selectedIndex + 1) % containers.length;
597600
} else {
598-
selectedIndex = (selectedIndex + 1) % containers.length;
601+
selectedIndex =
602+
(selectedIndex + 1) % containers.length;
599603
}
600604
}
601605
break;
602606

603607
case 'ArrowUp':
604608
if (isListMode && LB.mode === 'gallery') {
605-
selectedIndex = Math.max(selectedIndex - 1, 0);
609+
selectedIndex =
610+
(selectedIndex - 1 + containers.length) % containers.length;
606611
} else {
607612
if (LB.mode === 'gameMenu' && selectedIndex === LB.galleryNumOfCols) {
608613
return;
@@ -613,25 +618,30 @@ window.onGalleryKeyDown = function onGalleryKeyDown(event) {
613618

614619
case 'ArrowDown':
615620
if (isListMode && LB.mode === 'gallery') {
616-
selectedIndex = Math.min(selectedIndex + 1, containers.length - 1);
621+
selectedIndex =
622+
(selectedIndex + 1) % containers.length;
617623
} else {
618624
selectedIndex = _moveRows(selectedIndex, 1);
619625
}
620626
break;
621627

622628
case 'PageUp':
623629
if (isListMode && LB.mode === 'gallery') {
624-
selectedIndex = Math.max(selectedIndex - 10, 0);
630+
selectedIndex =
631+
(selectedIndex - 10 + containers.length) % containers.length;
625632
} else {
626-
selectedIndex = _moveRows(selectedIndex, -Math.ceil(10 / LB.galleryNumOfCols));
633+
selectedIndex =
634+
_moveRows(selectedIndex, -Math.ceil(10 / LB.galleryNumOfCols));
627635
}
628636
break;
629637

630638
case 'PageDown':
631639
if (isListMode && LB.mode === 'gallery') {
632-
selectedIndex = Math.min(selectedIndex + 10, containers.length - 1);
640+
selectedIndex =
641+
(selectedIndex + 10) % containers.length;
633642
} else {
634-
selectedIndex = _moveRows(selectedIndex, Math.ceil(10 / LB.galleryNumOfCols));
643+
selectedIndex =
644+
_moveRows(selectedIndex, Math.ceil(10 / LB.galleryNumOfCols));
635645
}
636646
break;
637647

0 commit comments

Comments
 (0)