async void PushChallengeDetailsPage(Challenge challenge, bool refresh = false) { var details = new ChallengeDetailsPage(challenge); details.OnAccept = async() => { await ViewModel.RefreshLeague(); }; details.OnDecline = async() => { await ViewModel.RefreshLeague(); }; details.OnPostResults = async() => { await ViewModel.RefreshLeague(); rankStrip.Membership = ViewModel.CurrentMembership; }; if (refresh) { await details.ViewModel.RefreshChallenge(); } await Navigation.PushAsync(details); }
async void OnItemSelected(object sender, SelectedItemChangedEventArgs e) { var vm = e.SelectedItem as ChallengeViewModel; if (vm == null) { return; } list.SelectedItem = null; if (vm.Challenge == null) { return; } var details = new ChallengeDetailsPage(vm.Challenge); await Navigation.PushAsync(details); }