diff options
author | Paul Frazee <pfrazee@gmail.com> | 2022-09-01 12:00:08 -0500 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2022-09-01 12:00:08 -0500 |
commit | bb51af5ae9c405faafad3b9685eef545c3437adb (patch) | |
tree | 0705cea86e68f223fd240aeabaf4aacb7d4ea43f /src/view/shell/mobile/index.tsx | |
parent | 346385ce43b609df82a70a8cb038b6622c99c24e (diff) | |
download | voidsky-bb51af5ae9c405faafad3b9685eef545c3437adb.tar.zst |
Implement working screen-state management and remove extraneous loads
Diffstat (limited to 'src/view/shell/mobile/index.tsx')
-rw-r--r-- | src/view/shell/mobile/index.tsx | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/view/shell/mobile/index.tsx b/src/view/shell/mobile/index.tsx index 63edf4e69..4dd5cf349 100644 --- a/src/view/shell/mobile/index.tsx +++ b/src/view/shell/mobile/index.tsx @@ -113,12 +113,12 @@ export const MobileShell: React.FC = observer(() => { </View> <SafeAreaView style={styles.innerContainer}> <ScreenContainer style={styles.screenContainer}> - {screenRenderDesc.screens.map(({Com, params, key, activityState}) => ( + {screenRenderDesc.screens.map(({Com, params, key, visible}) => ( <Screen key={key} style={[StyleSheet.absoluteFill, styles.screen]} - activityState={activityState}> - <Com params={params} /> + activityState={visible ? 2 : 0}> + <Com params={params} visible={visible} /> </Screen> ))} </ScreenContainer> @@ -156,7 +156,7 @@ export const MobileShell: React.FC = observer(() => { * This method produces the information needed by the shell to * render the current screens with screen-caching behaviors. */ -type ScreenRenderDesc = MatchResult & {key: string; activityState: 0 | 1 | 2} +type ScreenRenderDesc = MatchResult & {key: string; visible: boolean} function constructScreenRenderDesc(nav: NavigationModel): { icon: IconProp screens: ScreenRenderDesc[] @@ -176,7 +176,7 @@ function constructScreenRenderDesc(nav: NavigationModel): { } return Object.assign(matchRes, { key: `t${tab.id}-s${screen.index}`, - activityState: isCurrent ? 2 : 0, + visible: isCurrent, }) as ScreenRenderDesc }) screens = screens.concat(parsedTabScreens) |