diff --git a/Sources/Vues/Accueil.xaml.cs b/Sources/Vues/Accueil.xaml.cs
index 9cc98cf..f909d09 100644
--- a/Sources/Vues/Accueil.xaml.cs
+++ b/Sources/Vues/Accueil.xaml.cs
@@ -21,6 +21,7 @@ namespace Vues
private async void Invite_Clicked(object sender, EventArgs e)
{
+ (Application.Current as App).User = null;
await Navigation.PushAsync(new SearchMob());
}
}
diff --git a/Sources/Vues/SearchMob.xaml b/Sources/Vues/SearchMob.xaml
index 0108dda..b5536b8 100644
--- a/Sources/Vues/SearchMob.xaml
+++ b/Sources/Vues/SearchMob.xaml
@@ -3,6 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
xmlns:shape="Microsoft.Maui.Controls.Shapes"
+ xmlns:model="clr-namespace:Model;assembly=Modèle"
x:Class="Vues.SearchMob"
BackgroundImageSource="backcollection.jpg">
@@ -200,6 +201,29 @@
+
+
+
+
+
@@ -207,51 +231,30 @@
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+ fonctionnent sur tout le grid, et pas que sur le texte du label, il faut rajouter un background?? Bizarre-->
-
+
+
-
-
-
-
-
-
-
-
-
-
diff --git a/Sources/Vues/SearchMob.xaml.cs b/Sources/Vues/SearchMob.xaml.cs
index 8ceea19..a62d22f 100644
--- a/Sources/Vues/SearchMob.xaml.cs
+++ b/Sources/Vues/SearchMob.xaml.cs
@@ -12,6 +12,7 @@ public partial class SearchMob : ContentPage, INotifyPropertyChanged
{
public ObservableCollection MnstrTemp { get; set; }
private string searchText;
+ private Conseil conseilSelectionne { get; set; }
public string SearchText
{
get
@@ -42,6 +43,8 @@ public partial class SearchMob : ContentPage, INotifyPropertyChanged
if ((Application.Current as App).User != null)
{
ButtonAddConseil.IsVisible = true;
+ ConseilOptionModify.IsVisible = true;
+ ConseilOptionDelete.IsVisible = true;
}
}
@@ -55,6 +58,7 @@ public partial class SearchMob : ContentPage, INotifyPropertyChanged
(App.Current as App).MonstreSelectionne = e.Item as Monstre;
imageCollection.Source = imageLinkConverter((App.Current as App).MonstreSelectionne.AppearanceList.First());
AddConseilLayout.IsVisible = false;
+ conseilSelectionne = null;
refreshScrollView();
}
private void OnAddConseilClicked(object sender, EventArgs e)
@@ -159,7 +163,7 @@ public partial class SearchMob : ContentPage, INotifyPropertyChanged
private async void QuitClicked(object sender, EventArgs e)
{
(Application.Current as App).User = null;
- await Navigation.PushAsync(new Accueil());
+ await Navigation.PopToRootAsync(); //Pour retourner à la page racine
}
private void CheckBox_CheckedChanged(object sender, CheckedChangedEventArgs e)
@@ -183,8 +187,79 @@ public partial class SearchMob : ContentPage, INotifyPropertyChanged
}
*/
- ///Si checkbox check
+ /*Si checkbox check
///add le monstre courant à la liste des monstre du user
- ///si unchecked, retirer le monsrte
+ ///si unchecked, retirer le monsrte*/
+ }
+
+ private void ConseilOptionDelete_Clicked(object sender, EventArgs e)
+ {
+ if (conseilSelectionne != null)
+ {
+ if ((App.Current as App).User.Pseudo.Equals(conseilSelectionne.Auteur.Pseudo))
+ {
+ (App.Current as App).MonstreSelectionne.ListConseils.Remove(conseilSelectionne);
+ ConseilOptionModify.IsEnabled = false;
+ ConseilOptionDelete.IsEnabled = false;
+ }
+ }
+ }
+
+ private void ConseilOptionModify_Clicked(object sender, EventArgs e)
+ {
+ if (!ModifyConseilLayout.IsVisible)
+ {
+ ModifyConseilLayout.IsVisible = true;
+ conseilEditor.Text = conseilSelectionne.Texte;
+ refreshScrollView();
+ }
+ }
+
+ private void ListViewConseils_ItemTapped(object sender, ItemTappedEventArgs e)
+ {
+ if((App.Current as App).User != null)
+ {
+ conseilSelectionne = e.Item as Conseil;
+ if (conseilSelectionne != null && (App.Current as App).User.Pseudo.Equals(conseilSelectionne.Auteur.Pseudo))
+ {
+ ConseilOptionModify.IsEnabled = true;
+ ConseilOptionDelete.IsEnabled = true;
+ }
+ else
+ {
+ ConseilOptionModify.IsEnabled = false;
+ ConseilOptionDelete.IsEnabled = false;
+ }
+ }
+ }
+
+ private void conseilEditor_TextChanged(object sender, TextChangedEventArgs e)
+ {
+ (ScrollLayoutThatNeedsToBeRefreshed as IView).InvalidateMeasure();
+ }
+
+ private void OnValiderModifConseilClicked(object sender, EventArgs e)
+ {
+ if (ModifyConseilLayout != null)
+ {
+ string texteConseil = conseilEditor.Text;
+ var selectedMonstre = (App.Current as App).MonstreSelectionne;
+ if (selectedMonstre != null && !string.IsNullOrWhiteSpace(texteConseil) && !conseilSelectionne.Texte.Equals(texteConseil))
+ {
+ selectedMonstre.ListConseils.Remove(conseilSelectionne);
+ selectedMonstre.ListConseils.Add(new Conseil((App.Current as App).User, texteConseil, selectedMonstre));
+ }
+ conseilEditor.Text = null;
+ ModifyConseilLayout.IsVisible = false;
+ ConseilOptionModify.IsEnabled = false;
+ ConseilOptionDelete.IsEnabled = false;
+ }
+ refreshScrollView();
+ }
+
+ private void OnExitModifConseilClicked(object sender, EventArgs e)
+ {
+ conseilEditor.Text = null;
+ ModifyConseilLayout.IsVisible = false;
}
}
\ No newline at end of file