mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-10-24 18:08:33 -04:00
[ENG-1259] windows ephemeral locations keyboard nav fix (#1545)
* Update GridList.tsx * Update GridList.tsx * Update GridList.tsx
This commit is contained in:
1 parent
1c2b04c10f
commit
84ebda23b9
1 file changed
+10
-5
@@ -105,6 +105,7 @@ const CHROME_REGEX = /Chrome/;
|
||||
|
||||
export default ({ children }: { children: RenderItem }) => {
|
||||
const os = useOperatingSystem();
|
||||
const realOS = useOperatingSystem(true);
|
||||
|
||||
const isChrome = CHROME_REGEX.test(navigator.userAgent);
|
||||
|
||||
@@ -260,9 +261,13 @@ export default ({ children }: { children: RenderItem }) => {
|
||||
if (e.key === 'ArrowDown' && explorer.selectedItems.size === 0) {
|
||||
const item = grid.getItem(0);
|
||||
if (!item?.data) return;
|
||||
|
||||
const id = uniqueId(item.data);
|
||||
|
||||
const selectedItemDom = document.querySelector(
|
||||
`[data-selectable-id="${uniqueId(item.data)}"]`
|
||||
`[data-selectable-id="${realOS === 'windows' ? id.replaceAll('\\', '\\\\') : id}"]`
|
||||
);
|
||||
|
||||
if (selectedItemDom) {
|
||||
explorer.resetSelectedItems([item.data]);
|
||||
selecto.current?.setSelectedTargets([selectedItemDom as HTMLElement]);
|
||||
@@ -302,13 +307,13 @@ export default ({ children }: { children: RenderItem }) => {
|
||||
|
||||
const newSelectedItem = grid.getItem(newIndex);
|
||||
if (!newSelectedItem?.data) return;
|
||||
|
||||
if (!explorer.allowMultiSelect) explorer.resetSelectedItems([newSelectedItem.data]);
|
||||
else {
|
||||
const selectedItemDom = document.querySelector(
|
||||
`[data-selectable-id="${uniqueId(newSelectedItem.data)}"]`
|
||||
);
|
||||
const id = uniqueId(newSelectedItem.data);
|
||||
|
||||
const selectedItemDom = document.querySelector(
|
||||
`[data-selectable-id="${realOS === 'windows' ? id.replaceAll('\\', '\\\\') : id}"]`
|
||||
);
|
||||
if (!selectedItemDom) return;
|
||||
|
||||
if (e.shiftKey && !getQuickPreviewStore().open) {
|
||||
|
||||
Reference in new issue
Block a user