Skip to content

Commit

Permalink
Frontend.Maui: show nav toolbar after page load
Browse files Browse the repository at this point in the history
Show navigation toolbar only after page is loaded in MAUI.
Otherwise, navigation toolbar would show up briefly on old page
(BalancesPage in our case) before switching to new page.
  • Loading branch information
webwarrior-ws committed May 29, 2024
1 parent fe773f2 commit f7ee056
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions src/GWallet.Frontend.XF/FrontendHelpers.fs
Original file line number Diff line number Diff line change
Expand Up @@ -330,14 +330,20 @@ module FrontendHelpers =
let SwitchToNewPage (currentPage: Page) (createNewPage: unit -> Page) (navBar: bool): unit =
MainThread.BeginInvokeOnMainThread(fun _ ->
let newPage = createNewPage ()
#if !XAMARIN
NavigationPage.SetHasNavigationBar(newPage, navBar)
#else

NavigationPage.SetHasNavigationBar(newPage, false)
#endif

let navPage = NavigationPage newPage
#if XAMARIN
NavigationPage.SetHasNavigationBar(navPage, navBar)

#else
// we put these statements inside NavigatedTo handler to
// show navigation toolbar only after new page is loaded
navPage.NavigatedTo.Add(fun _ ->
NavigationPage.SetHasNavigationBar(newPage, navBar)
NavigationPage.SetHasNavigationBar(navPage, navBar)
)
#endif
currentPage.Navigation.PushAsync navPage
|> DoubleCheckCompletionNonGeneric
)
Expand Down

0 comments on commit f7ee056

Please sign in to comment.