From 8b891cc692ad31a6f6376532ad2e3a29850b7c0e Mon Sep 17 00:00:00 2001
From: Tsanie Lily <tsorgy@gmail.com>
Date: Sun, 10 May 2020 20:41:20 +0800
Subject: [PATCH] downloading placeholder

---
 .../Pixiview.iOS.OpenExtension.csproj         |   1 -
 Pixiview.iOS/Pixiview.iOS.csproj              |   1 +
 Pixiview.iOS/Resources/download.png           | Bin 0 -> 1911 bytes
 Pixiview/Illust/FavoritesPage.xaml.cs         |   2 +-
 Pixiview/Illust/IllustCollectionPage.cs       |  24 ++++++++++--------
 Pixiview/UI/StyleDefinition.cs                |   2 ++
 6 files changed, 17 insertions(+), 13 deletions(-)
 create mode 100644 Pixiview.iOS/Resources/download.png

diff --git a/Pixiview.iOS.OpenExtension/Pixiview.iOS.OpenExtension.csproj b/Pixiview.iOS.OpenExtension/Pixiview.iOS.OpenExtension.csproj
index 532e219..ac6ae78 100644
--- a/Pixiview.iOS.OpenExtension/Pixiview.iOS.OpenExtension.csproj
+++ b/Pixiview.iOS.OpenExtension/Pixiview.iOS.OpenExtension.csproj
@@ -38,7 +38,6 @@
     <WarningLevel>4</WarningLevel>
     <CodesignKey>iPhone Developer</CodesignKey>
     <MtouchUseLlvm>true</MtouchUseLlvm>
-    <MtouchFloat32>true</MtouchFloat32>
     <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
     <MtouchLink>SdkOnly</MtouchLink>
     <MtouchArch>ARM64</MtouchArch>
diff --git a/Pixiview.iOS/Pixiview.iOS.csproj b/Pixiview.iOS/Pixiview.iOS.csproj
index d6b1fef..f93cef6 100644
--- a/Pixiview.iOS/Pixiview.iOS.csproj
+++ b/Pixiview.iOS/Pixiview.iOS.csproj
@@ -168,5 +168,6 @@
     <BundleResource Include="Resources\fa-regular-400.ttf" />
     <BundleResource Include="Resources\fa-solid-900.ttf" />
     <BundleResource Include="Resources\userprofile.jpg" />
+    <BundleResource Include="Resources\download.png" />
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/Pixiview.iOS/Resources/download.png b/Pixiview.iOS/Resources/download.png
new file mode 100644
index 0000000000000000000000000000000000000000..2349fbd42411428bf10576ddbc0fdecb91897fa6
GIT binary patch
literal 1911
zcmd6oYgE#Q8^?c`=Ae^Vu6c<x|7n@Ebmq~ak|!oAPEn{V9E4`eP*eV5ctK@_E=!Zj
zyd)&0Qp;<KDD(c;rEV0=@G?z6XW<o;Vc<3X_HJ+XelNby_nhzZ;yLFz-*Y~<LePFY
zAyyCo0CuAMeXv_z_(`7`Y)xLIg1=>8vOkUj0AJXD5(tI0TLJ*%BPgF!XOh{<x1&j8
zq1Ih$`CbDC&gc(|zP#p4H_|wYRSJ{9o@rbbH6x;jlr?AR8<J-|i)%+E$40UU2Ta{q
zZYr<-$&jcIgU7tz>rxOS*_48KLw`i9JH^oOM8q4j1N6`BeVBX7{J;a{nKKx~vV(2v
z15<cFw)MXu{<Gq+vm+tM+=8VR7#|exqHrr48j8;o(P;9;b0RQU7ks;<c3W4?hrOr5
zfyet4jKi&EGiyTW+vBGIK+<rD3jz+?!*=JaM5X6H((LWt^ld2+#d1$%C7caCgTsIX
z@Cy$LPENN(6joiMRoER3?c4>hHGyto80U|QIxAIX4Z3+~R!f&NC>I{YXs7Tf1)Czu
zX>dtK@P>}J2hIZmvyRZ3fx*O{jPar6fSM<zO&;*8D=_1q%i=8Zi={(7kCv)vETZ)7
z@_JhjV>RGvvbw@<`nRDSM@yda>3HbsMz28<0+V>FEaxjX3(~cgIa16DOc@u92__Pn
z%UtJPkK~p!JSVFlopK|&%7JJp4eag3fP*BJgI0_Bv~^EMYF@zk%3-Io+$z$u8tshY
zg!NW%*GYXG0u&C>8+pVSS3g&dntZ1FfAznt&r?ce!n}(vkyAfq+8jD;2laTmVhXdJ
z9K*UmmyI_?FiQFnv;ez1C-dUHyQDB3J!luR)zEeiM1UM{e$Au$xxd<Rv;~j&dctNZ
z(61W|CeDZbr>UdS;r4ObJ&No~lL_S|51q6GmA`t$IVmgt-LNj#Oy*DIn-*cKgp3TJ
z%Oc13hE7#c`?~MY*Yz0k<!*OEQB<xJPbkUp?e*f^O9=0_Y^L>2rAUaDk<W+hi-fR!
zD)yI_;fo&qOM;gv#>#Ayz?GBGC1m2nwjhVwqE*MOH3+!=6%gLtDjs&;ZV<VcCPZFW
zUd}rNH~#Bp+T-{NG~#asm(W6<%=!}GcTl#>w>trQ97@y&bTw8d@M}rFfe<9(`sCS5
zNdB=LaICF$&7hTavqKg`%c=bEwCj8z1O!aCg*<=BeUYTt@PbaaVPhIS2%Tb9_O~|<
zG>%Dm)ai|DmfwnyeSB$=TRSa6Q~jYQbWN?g-oCQQkOPmO%@XBu(cUUJK`*WgcG_4#
z!egZJjIh%sz>=o?kxetFq|gXZq8D%0$V<Jv=|^xFdP*bfSH%KSI7ioLrlbtBAa@gV
z0F$Z(O;p%<%i#UzqE`cIk{`;S=E;{;S%7Iiq9D3__)0JL1^m9~lG#ANIVZyqa1Z@L
zzpA7cnJc!hUyQzXWYdckMr<<Yk|zWqqk;|r9q<2({pNdSxt6(uWmBizuW&y-f1}G~
zls&WOqjox2d2lmBzj27=gJ0XoXHAXE^x{v~4meYF+FojE{F2!5=o~gdl;Jg{eubKh
zCZtQ|=10s=+)U|lW<m=1Tq9bDWG4>eUhA}dqXT;u^g{x_gUyc0CAAEw5?k9#)8|X7
zf7-=qPhMF-b|k6`bDz5mfkELg*rG<X!1;Uu*&DtR>MC0O4t*c>q^o*FL!N&5XId<|
zbrI9Cz*0ls3$2@z$yjKc2>>;B{BE|Lp03~eH!z_~$)^mw!@F7(?;jW@+#&^k1`x+l
z-<wdVm03T}U}|HT&7RWe@`u@|c${wdPC;yKTFlg1_`8XU;%vV!t89w86M~f5Mj!ld
z3L#rFIQE9<t@lZMM4Z=&Q}Z?T@6wJz*>ggx)0?;}8gXiTHJ;W$1AwHs+6>*qubuQ%
z3zM}S@5e4jUrjb29rbQl8|JkyL^*l)?D_Ak4PBowJguDd00!rRdKy(S*$e$Q4s#?o
z;>RoLxX{76#rQsM2m!ut17CjrIo}h$t}fz8tv_1!op~sejQ>c|y258TMn7b5+{Izq
z-3HTbq4C<pgI3@R0^W<1VU=z@x8C33acL6*)VcImWfm!n5Jbr-`yR*Gr=*p{6<_|{
zTL?QhD2WT^Fp-HpOY3bd5!9P1$2*w@r)jvzRI~fK%n9Dzw*CJGAp8TG^xKsE_aVxN
Rw30270w^Tfrxp=@<NxcNue|^O

literal 0
HcmV?d00001

diff --git a/Pixiview/Illust/FavoritesPage.xaml.cs b/Pixiview/Illust/FavoritesPage.xaml.cs
index 7103dc5..2dd45f4 100644
--- a/Pixiview/Illust/FavoritesPage.xaml.cs
+++ b/Pixiview/Illust/FavoritesPage.xaml.cs
@@ -49,7 +49,7 @@ namespace Pixiview.Illust
 
         public void Reload(bool force = false)
         {
-            loaded = false;
+            lastUpdated = default;
             StartLoad(force);
         }
 
diff --git a/Pixiview/Illust/IllustCollectionPage.cs b/Pixiview/Illust/IllustCollectionPage.cs
index f8e9237..c97c974 100644
--- a/Pixiview/Illust/IllustCollectionPage.cs
+++ b/Pixiview/Illust/IllustCollectionPage.cs
@@ -50,12 +50,12 @@ namespace Pixiview.Illust
 
         #endregion
 
-        protected static bool NeedUpdate { get; private set; } = true;
+        protected static DateTime LastUpdated { get; private set; } = DateTime.Now;
 
         public IllustCollection IllustCollection { get; set; }
 
         protected virtual bool IsFavoriteVisible => true;
-        protected bool loaded;
+        protected DateTime lastUpdated;
 
         private T illustData;
         private readonly ParallelOptions parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = Configs.MaxThreads };
@@ -77,7 +77,7 @@ namespace Pixiview.Illust
         public override void OnUnload()
         {
             Illusts = IllustCollection.Empty;
-            loaded = false;
+            lastUpdated = default;
         }
 
         protected override void OnAppearing()
@@ -85,10 +85,8 @@ namespace Pixiview.Illust
             base.OnAppearing();
             Connectivity.ConnectivityChanged += Connectivity_ConnectivityChanged;
 
-            if (NeedUpdate || !loaded)
+            if (lastUpdated != LastUpdated)
             {
-                NeedUpdate = false;
-                loaded = false;
                 StartLoad();
             }
             else if (IsFavoriteVisible)
@@ -111,7 +109,7 @@ namespace Pixiview.Illust
         {
             if (e.NetworkAccess == NetworkAccess.Internet)
             {
-                if (!loaded)
+                if (lastUpdated != LastUpdated)
                 {
                     StartLoad(true);
                 }
@@ -149,9 +147,9 @@ namespace Pixiview.Illust
 
         protected void StartLoad(bool force = false)
         {
-            if (force || !loaded)
+            if (force || lastUpdated != LastUpdated)
             {
-                loaded = true;
+                lastUpdated = LastUpdated;
                 IsLoading = true;
                 Task.Run(() => DoLoadIllusts(force));
             }
@@ -166,7 +164,7 @@ namespace Pixiview.Illust
                 // image
                 var image = new RoundImage
                 {
-                    BackgroundColor = Color.LightGray,
+                    BackgroundColor = StyleDefinition.ColorDownloadBackground,
                     CornerRadius = 10,
                     CornerMasks = CornerMask.Top,
                     HorizontalOptions = LayoutOptions.Fill,
@@ -351,7 +349,7 @@ namespace Pixiview.Illust
             }
             if (force && IsFavoriteVisible)
             {
-                NeedUpdate = true;
+                LastUpdated = DateTime.Now;
             }
 
             var data = DoGetIllustList(illustData, commandIllustImageTapped).Where(i => i != null);
@@ -362,6 +360,10 @@ namespace Pixiview.Illust
                 var favorites = Stores.Favorites;
                 foreach (var item in collection)
                 {
+                    if (item.Image == null)
+                    {
+                        item.Image = StyleDefinition.DownloadBackground;
+                    }
                     item.IsFavorite = favorites.Any(i => i.Id == item.Id);
                 }
             }
diff --git a/Pixiview/UI/StyleDefinition.cs b/Pixiview/UI/StyleDefinition.cs
index 2cef140..07c9644 100644
--- a/Pixiview/UI/StyleDefinition.cs
+++ b/Pixiview/UI/StyleDefinition.cs
@@ -17,6 +17,8 @@ namespace Pixiview.UI
         public static readonly Color ColorLightShadow = Color.FromRgba(0, 0, 0, 0x20);
         public static readonly Color ColorDeepShadow = Color.FromRgba(0, 0, 0, 0x50);
         public static readonly Color ColorRedBackground = Color.FromRgb(0xfd, 0x43, 0x63);
+        public static readonly Color ColorDownloadBackground = Color.FromRgb(0xd7, 0xd9, 0xe0);
+        public static readonly ImageSource DownloadBackground = ImageSource.FromFile("download.png");
         public static readonly double FontSizeMicro = Device.GetNamedSize(NamedSize.Micro, typeof(Label));
         public static readonly double FontSizeSmall = Device.GetNamedSize(NamedSize.Small, typeof(Label));