From 892c63937b36200101497ce01e213223b6cb108f Mon Sep 17 00:00:00 2001 From: leonchabbey Date: Mon, 14 Aug 2023 11:26:48 +0200 Subject: [PATCH] ci: updated fork and added back tv only code --- packages/drawer/src/index.tsx | 1 + packages/routers/package.json | 6 ++++++ packages/routers/src/DrawerRouter.tsx | 9 +++++++++ yarn.lock | 5 +++++ 4 files changed, 21 insertions(+) diff --git a/packages/drawer/src/index.tsx b/packages/drawer/src/index.tsx index ad8dea343f..3aa4e8c1ca 100644 --- a/packages/drawer/src/index.tsx +++ b/packages/drawer/src/index.tsx @@ -12,6 +12,7 @@ export { default as DrawerItem } from './views/DrawerItem'; export { default as DrawerItemList } from './views/DrawerItemList'; export { default as DrawerToggleButton } from './views/DrawerToggleButton'; export { default as DrawerView } from './views/DrawerView'; +export { MaybeScreen, MaybeScreenContainer } from './views/ScreenFallback'; /** * Utilities diff --git a/packages/routers/package.json b/packages/routers/package.json index 7dbbab3631..38de001917 100644 --- a/packages/routers/package.json +++ b/packages/routers/package.json @@ -40,9 +40,15 @@ }, "devDependencies": { "del-cli": "^5.0.0", + "react": "18.2.0", + "react-native": "0.71.8", "react-native-builder-bob": "^0.20.4", "typescript": "^4.9.4" }, + "peerDependencies": { + "react": "*", + "react-native": "*" + }, "react-native-builder-bob": { "source": "src", "output": "lib", diff --git a/packages/routers/src/DrawerRouter.tsx b/packages/routers/src/DrawerRouter.tsx index 38568364f5..bf85d4dc6e 100644 --- a/packages/routers/src/DrawerRouter.tsx +++ b/packages/routers/src/DrawerRouter.tsx @@ -1,4 +1,5 @@ import { nanoid } from 'nanoid/non-secure'; +import { Platform } from 'react-native'; import TabRouter, { TabActionHelpers, @@ -231,6 +232,14 @@ export default function DrawerRouter({ } case 'GO_BACK': + // On TV, if the drawer is open and the navigator receives a GO_BACK action it shouldn't close the drawer again + if (Platform.isTV) { + const nextState = isDrawerInHistory(state) + ? removeDrawerFromHistory(state) + : state; + return router.getStateForAction(nextState, action, options); + } + if (isDrawerInHistory(state)) { return removeDrawerFromHistory(state); } diff --git a/yarn.lock b/yarn.lock index 95bb21805d..ecd235e377 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5819,8 +5819,13 @@ __metadata: dependencies: del-cli: ^5.0.0 nanoid: ^3.1.23 + react: 18.2.0 + react-native: 0.71.8 react-native-builder-bob: ^0.20.4 typescript: ^4.9.4 + peerDependencies: + react: "*" + react-native: "*" languageName: unknown linkType: soft