public async Task NavigateAsync(int menuId)
        {
            DoodsNavigationPage newPage = null;

            if (!_pages.ContainsKey(menuId))
            {
                //only cache specific pages
                switch (menuId)
                {
                //case AppPage.Sessions://sessions
                //    _pages.Add(menuId, new EvolveNavigationPage(new SessionsPage()));
                //    break;

                case (int)AppPage.Home:
                    newPage = new DoodsNavigationPage(new HomeTabbedPage.HomeTabbedPage());
                    break;

                case (int)AppPage.HostManager:
                    newPage = new DoodsNavigationPage(new HostManagerPage.HostManagerPage());
                    break;

                case (int)AppPage.Shell:
                    newPage = new DoodsNavigationPage(new ShellPage.ShellPage());
                    break;

                case (int)AppPage.Login:
                    newPage = new DoodsNavigationPage(new Login.LoginPage());
                    break;

                case (int)AppPage.Settings:
                    newPage = new DoodsNavigationPage(new SettingsPage.SettingsPage());
                    break;
                }
            }

            if (newPage == null)
            {
                newPage = _pages[menuId];
            }

            if (newPage == null)
            {
                return;
            }

            //if we are on the same tab and pressed it again.
            if (Detail == newPage)
            {
                await newPage.Navigation.PopToRootAsync();
            }

            Detail = newPage;
        }
        public void NavigateAsync(AppPage menuId)
        {
            Page newPage = null;

            if (!_pages.ContainsKey(menuId))
            {
                //only cache specific pages
                switch (menuId)
                {
                //case AppPage.Sessions://sessions
                //    _pages.Add(menuId, new EvolveNavigationPage(new SessionsPage()));
                //    break;

                case AppPage.Home:
                    newPage = new DoodsNavigationPage(new HomeTabbedPage.HomeTabbedPage());
                    break;

                case AppPage.HostManager:
                    newPage = new DoodsNavigationPage(new HostManagerPage.HostManagerPage());
                    break;

                case AppPage.Shell:
                    newPage = new DoodsNavigationPage(new ShellPage.ShellPage());
                    break;

                case AppPage.Login:
                    newPage = new DoodsNavigationPage(new Login.LoginPage());
                    break;

                case AppPage.Settings:
                    newPage = new DoodsNavigationPage(new SettingsPage());
                    break;
                }
            }

            if (newPage == null)
            {
                newPage = _pages[menuId];
            }

            if (newPage == null)
            {
                return;
            }

            Detail = newPage;
            //await Navigation.PushAsync(newPage);
        }