Pixiview/Pixiview/Illust/FavoritesPage.xaml.cs
Tsanie Lily a2b91a2406 * Pixiview/UI/CardView.cs:
* Pixiview/UI/StyleDefinition.cs:
* Pixiview/Resources/ResourceHelper.cs:
* Pixiview/Resources/Languages/zh-CN.xml:
* Pixiview/Illust/IllustCollectionPage.cs:
* Pixiview.Android/Pixiview.Android.csproj:
* Pixiview.Android/Renderers/AdaptedPageRenderer.cs: UI adjust

* Pixiview/Illust/FavoritesPage.xaml:
* Pixiview/Illust/FavoritesPage.xaml.cs: fix: no title in favorite
  page

* Pixiview/Utils/Stores.cs:
* Pixiview/Illust/RankingPage.xaml.cs: feature: remember last query
  parameters
2020-05-14 18:30:22 +08:00

75 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using Pixiview.Resources;
using Pixiview.Utils;
using Xamarin.Essentials;
using Xamarin.Forms;
namespace Pixiview.Illust
{
public partial class FavoritesPage : FavoriteIllustCollectionPage
{
public FavoritesPage()
{
Resources.Add("cardView", GetCardViewTemplate());
InitializeComponent();
}
protected override bool IsFavoriteVisible => false;
public override void OnUnload()
{
}
protected override void OnAppearing()
{
//base.OnAppearing();
Device.StartTimer(TimeSpan.FromMilliseconds(200), () =>
{
Reload();
return false;
});
}
protected override IEnumerable<IllustItem> DoGetIllustList(IllustItem[] data)
{
return data;
}
protected override IllustItem[] DoLoadIllustData(bool force)
{
var favorites = Stores.GetFavoriteObject(force);
if (favorites == null)
{
return null;
}
var illusts = favorites.Illusts;
for (var i = 0; i < illusts.Count; i++)
{
var item = illusts[i];
if (item.RankTitle == null)
{
item.RankTitle = item.Title;
}
}
return illusts.ToArray();
}
public void Reload(bool force = false)
{
lastUpdated = default;
StartLoad(force);
}
private async void ShareFavorites_Clicked(object sender, EventArgs e)
{
var file = Stores.FavoritesPath;
await Share.RequestAsync(new ShareFileRequest
{
Title = ResourceHelper.Favorites,
File = new ShareFile(file)
});
}
}
}