fix(useVerticalSpatialNavigation): fix issue with race condition removing all handlers

This commit is contained in:
Botzy 2025-03-27 12:45:12 +02:00
parent 476f2f8551
commit 70653adc6f
2 changed files with 6 additions and 6 deletions

View file

@ -1,10 +1,10 @@
// Copyright (C) 2017-2023 Smart code 203358507
import React, { memo, useEffect } from 'react';
import React, { memo } from 'react';
import classnames from 'classnames';
import { VerticalNavBar, HorizontalNavBar } from 'stremio/components/NavBar';
import { useVerticalSpatialNavigation } from 'stremio/services';
import styles from './MainNavBars.less';
import { useGamepad, useVerticalSpatialNavigation } from 'stremio/services';
const TABS = [
{ id: 'board', label: 'Board', icon: 'home', href: '#/' },
@ -22,12 +22,10 @@ type Props = {
children?: React.ReactNode,
};
const GAMEPAD_HANDLER_ID = 'vertical-nav';
const MainNavBars = memo(({ className, route, query, children }: Props) => {
const navRef = React.useRef(null);
useVerticalSpatialNavigation(navRef, GAMEPAD_HANDLER_ID);
useVerticalSpatialNavigation(navRef, route || '');
return (
<div className={classnames(className, styles['main-nav-bars-container'])}>

View file

@ -7,6 +7,7 @@ const KeyboardShortcuts = require('./KeyboardShortcuts');
const { ServicesProvider, useServices } = require('./ServicesContext');
const { GamepadProvider, useGamepad } = require('./GamepadContext');
const Shell = require('./Shell');
const { useVerticalSpatialNavigation } = require('./SpatialNavigation/useSpatialNavigation');
module.exports = {
Chromecast,
@ -17,5 +18,6 @@ module.exports = {
useServices,
Shell,
GamepadProvider,
useGamepad
useGamepad,
useVerticalSpatialNavigation,
};