diff --git a/src/components/MainNavBars/MainNavBars.tsx b/src/components/MainNavBars/MainNavBars.tsx
index 43d08f5c8..fed1668a2 100644
--- a/src/components/MainNavBars/MainNavBars.tsx
+++ b/src/components/MainNavBars/MainNavBars.tsx
@@ -1,9 +1,10 @@
// Copyright (C) 2017-2023 Smart code 203358507
-import React, { memo } from 'react';
+import React, { memo, useEffect } from 'react';
import classnames from 'classnames';
import { VerticalNavBar, HorizontalNavBar } from 'stremio/components/NavBar';
import styles from './MainNavBars.less';
+import { useGamepad, useVerticalSpatialNavigation } from 'stremio/services';
const TABS = [
{ id: 'board', label: 'Board', icon: 'home', href: '#/' },
@@ -21,7 +22,13 @@ 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);
+
return (
{
navMenu={true}
/>
{
+const VerticalNavBar = React.memo(React.forwardRef(({ className, selected, tabs }, ref) => {
const { t } = useTranslation();
return (
-