diff --git a/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs b/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs index 668aef70..567353b2 100644 --- a/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs +++ b/AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs @@ -26,6 +26,7 @@ namespace AideDeJeu.Droid public static void UpdateIdValues() { + global::Splat.Resource.String.library_name = global::AideDeJeu.Droid.Resource.String.library_name; global::Xamarin.Forms.Platform.Android.Resource.Attribute.actionBarSize = global::AideDeJeu.Droid.Resource.Attribute.actionBarSize; } @@ -3730,6 +3731,9 @@ namespace AideDeJeu.Droid // aapt resource value: 0x7f090038 public const int character_counter_pattern = 2131296312; + // aapt resource value: 0x7f09003e + public const int library_name = 2131296318; + // aapt resource value: 0x7f090000 public const int mr_button_content_description = 2131296256; diff --git a/AideDeJeu/AideDeJeu/App.xaml.cs b/AideDeJeu/AideDeJeu/App.xaml.cs index 5bd2a548..ca495301 100644 --- a/AideDeJeu/AideDeJeu/App.xaml.cs +++ b/AideDeJeu/AideDeJeu/App.xaml.cs @@ -12,7 +12,6 @@ namespace AideDeJeu { InitializeComponent(); - MainPage = new NavigationPage(new MainPage()); } diff --git a/AideDeJeu/AideDeJeu/Services/MockDataStore.cs b/AideDeJeu/AideDeJeu/Services/MockDataStore.cs index b9e35f12..de6e65c8 100644 --- a/AideDeJeu/AideDeJeu/Services/MockDataStore.cs +++ b/AideDeJeu/AideDeJeu/Services/MockDataStore.cs @@ -65,7 +65,7 @@ namespace AideDeJeu.Services { var scrapper = new Scrappers(); var spells = await scrapper.GetSpells(await scrapper.GetSpellIds("c")); - items = spells.Select(spell => new Item() { Text = spell.Title, Description = spell.Description }).ToList(); + items = spells.Select(spell => new Item() { Text = spell.Title, Description = spell.DescriptionText }).ToList(); return await Task.FromResult(items); } } diff --git a/AideDeJeu/AideDeJeuLib/AideDeJeuLib.csproj b/AideDeJeu/AideDeJeuLib/AideDeJeuLib.csproj index 51168ec0..5a496b0a 100644 --- a/AideDeJeu/AideDeJeuLib/AideDeJeuLib.csproj +++ b/AideDeJeu/AideDeJeuLib/AideDeJeuLib.csproj @@ -5,7 +5,9 @@ - + + + diff --git a/AideDeJeu/AideDeJeuLib/Scrappers.cs b/AideDeJeu/AideDeJeuLib/Scrappers.cs index f79e0d44..c3ab6ef3 100644 --- a/AideDeJeu/AideDeJeuLib/Scrappers.cs +++ b/AideDeJeu/AideDeJeuLib/Scrappers.cs @@ -1,4 +1,5 @@ -using HtmlAgilityPack; +using Akavache; +using HtmlAgilityPack; using System; using System.Collections.Generic; using System.Diagnostics; @@ -9,6 +10,7 @@ using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.Text.RegularExpressions; using System.Threading.Tasks; +using System.Reactive.Linq; namespace AideDeJeuLib { @@ -77,7 +79,7 @@ namespace AideDeJeuLib return spells; } - public async Task GetSpell(string id) + public async Task GetSpellFromSource(string id) { string html = null; using (var client = GetHttpClient()) @@ -93,10 +95,17 @@ namespace AideDeJeuLib var newSpells = new List(); var divSpell = pack.DocumentNode.SelectNodes("//div[contains(@class,'bloc')]").FirstOrDefault(); var newSpell = HtmlDivToSpell(divSpell); - return newSpell; } + public async Task GetSpell(string id) + { + BlobCache.ApplicationName = "AkavacheExperiment"; + //await BlobCache.UserAccount.InsertObject(id, newSpell); + var truc = await BlobCache.UserAccount.GetOrFetchObject(id, () => GetSpellFromSource(id)); + return truc; + } + public Spell HtmlDivToSpell(HtmlNode divSpell) { var newSpell = new Spell(); diff --git a/AideDeJeu/AideDeJeuLib/Spell.cs b/AideDeJeu/AideDeJeuLib/Spell.cs index a5d5d654..e0fff7f4 100644 --- a/AideDeJeu/AideDeJeuLib/Spell.cs +++ b/AideDeJeu/AideDeJeuLib/Spell.cs @@ -1,6 +1,7 @@ using HtmlAgilityPack; using System; using System.Collections.Generic; +using System.Runtime.Serialization; using System.Text; using System.Text.RegularExpressions; @@ -20,8 +21,20 @@ namespace AideDeJeuLib public string Range { get; set; } public string Components { get; set; } public string Duration { get; set; } - public string DescriptionHtml { get { return DescriptionDiv?.InnerHtml; } } - public string Description + public string DescriptionHtml + { + get + { + return DescriptionDiv?.InnerHtml; + } + set + { + HtmlDocument doc = new HtmlDocument(); + doc.LoadHtml(value); + DescriptionDiv = doc.DocumentNode; + } + } + public string DescriptionText { get { @@ -41,6 +54,7 @@ namespace AideDeJeuLib return html; } } + [IgnoreDataMember] public HtmlNode DescriptionDiv { get; set; } public string Overflow { get; set; } public string NoOverflow { get; set; }