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