using Model.Stub; using Plugin.Maui.Audio; using Model.Classes; using Model.Managers; namespace Ohara; public partial class PageIle : ContentPage { public Manager manager => (App.Current as App).manager; public PageIle() { InitializeComponent(); BindingContext = manager; void OnTextChanged(object sender, EventArgs e) { SearchBar searchBar = (SearchBar)sender; listeIle.ItemsSource = manager.RechercheObjetOhara(searchBar.Text, new List(manager.Iles.ToList())); } searchBar.TextChanged += OnTextChanged; } async void listeIle_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.CurrentSelection.Count == 0) return; manager.SelectedItem=(Ile)listeIle.SelectedItem; await Shell.Current.GoToAsync(nameof(PageInfoIle)); } private async void Button_Clicked(object sender, EventArgs e) { manager.SelectedItem = null; await Shell.Current.GoToAsync(nameof(ModalIle)); } private void PickerFiltre_SelectedIndexChanged(object sender, EventArgs e) { var picker = (Picker)sender; int selectedIndex = picker.SelectedIndex; if (selectedIndex == 0) { listeIle.ItemsSource =manager.Iles.ToList(); } else { listeIle.ItemsSource = manager.FiltrerIle((string)picker.ItemsSource[selectedIndex]); } } private void ContentPage_Appearing(object sender, EventArgs e) { manager.SelectedItem = null; listeIle.SelectedItem = null; } }