From ff8765b9f81be8c2d78cf93820834f502c4b0b9b Mon Sep 17 00:00:00 2001 From: Sofiya Tepikin <sofiya.tepikin@gmail.com> Date: Thu, 17 Jan 2019 22:05:41 +0100 Subject: [PATCH] Makes also the subpages of Settings to activate the menu item in footer --- components/menu.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/components/menu.js b/components/menu.js index e91466e0..26a752da 100644 --- a/components/menu.js +++ b/components/menu.js @@ -5,6 +5,8 @@ import { TouchableOpacity } from 'react-native' +import settingsViews from './settings' + import { menuTitles } from '../i18n/en/labels' import styles, { iconStyles, secondaryColor } from '../styles' @@ -19,7 +21,7 @@ const menuItems = [ { labelKey: 'Home', icon: 'home', - component: 'Home' + component: 'Home', }, { labelKey: 'Calendar', @@ -29,7 +31,7 @@ const menuItems = [ { labelKey: 'Chart', icon: 'chart-line', - component: 'Chart' + component: 'Chart', }, { labelKey: 'Stats', @@ -40,6 +42,7 @@ const menuItems = [ labelKey: 'Settings', icon: 'settings', component: 'SettingsMenu', + children: Object.keys(settingsViews), } ] @@ -61,13 +64,15 @@ const MenuItem = ({ icon, labelKey, active, onPress }) => { const Menu = ({ currentPage, navigate }) => { return ( <View style={styles.menu}> - { menuItems.map(({ icon, labelKey, component }) => { + { menuItems.map(({ icon, labelKey, component, children }) => { + const isActive = (component === currentPage) || + (children && children.indexOf(currentPage) !== -1) return ( <MenuItem key={labelKey} labelKey={labelKey} icon={icon} - active={component === currentPage} + active={isActive} onPress={() => navigate(component)} /> )} -- GitLab