diff --git a/FoxTube/App.xaml.cs b/FoxTube/App.xaml.cs index 9cb77e9..8188902 100644 --- a/FoxTube/App.xaml.cs +++ b/FoxTube/App.xaml.cs @@ -11,7 +11,9 @@ using Windows.Foundation; using Windows.Foundation.Collections; using Windows.Globalization; using Windows.Storage; +using Windows.UI; using Windows.UI.Core; +using Windows.UI.ViewManagement; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Controls.Primitives; diff --git a/FoxTube/Assets/ChannelCoverTemplate.png b/FoxTube/Assets/ChannelCoverTemplate.png index 6dead82..61d877a 100644 Binary files a/FoxTube/Assets/ChannelCoverTemplate.png and b/FoxTube/Assets/ChannelCoverTemplate.png differ diff --git a/FoxTube/Controls/ChannelCard.xaml b/FoxTube/Controls/ChannelCard.xaml index 4e0abec..7ad27ae 100644 --- a/FoxTube/Controls/ChannelCard.xaml +++ b/FoxTube/Controls/ChannelCard.xaml @@ -17,7 +17,7 @@ - + @@ -45,8 +45,8 @@ Log in to manage your subscriptions - - + + diff --git a/FoxTube/Pages/VideoPage.xaml.cs b/FoxTube/Pages/VideoPage.xaml.cs index ae91db1..80971e9 100644 --- a/FoxTube/Pages/VideoPage.xaml.cs +++ b/FoxTube/Pages/VideoPage.xaml.cs @@ -162,7 +162,7 @@ namespace FoxTube.Pages foreach (PlaylistItem i in listResponse.Items) { - items.Add(new VideoPlaylistItem(i.Snippet.Thumbnails.Medium.Url, i.Snippet.Title, i.ContentDetails.VideoId)); + items.Add(new VideoPlaylistItem(i.Snippet.Thumbnails.Medium.Url, i.Snippet.Title, i.Snippet.ResourceId.VideoId)); if (items.Last().Id == videoId) selection = items.Last(); } @@ -177,6 +177,7 @@ namespace FoxTube.Pages playlistList.ItemsSource = items; playlistList.SelectedItem = selection; + pivot.SelectedItem = playlist; } else pivot.Items.Remove(playlist); @@ -220,7 +221,8 @@ namespace FoxTube.Pages { if (s.Snippet.ResourceId.ChannelId == item.Snippet.ChannelId) { - subscribe.IsChecked = true; + subscribe.Background = new SolidColorBrush(Colors.Transparent); + subscribe.Foreground = new SolidColorBrush(Colors.Gray); subscribe.Content = "Subscribed"; } } @@ -248,7 +250,7 @@ namespace FoxTube.Pages } catch (Exception e) { - loading.Error(e.HResult.ToString(), e.Message); + loading.Error(e.GetType().ToString(), e.Message); } } @@ -444,10 +446,10 @@ namespace FoxTube.Pages { case Rating.Like: like.Foreground = new SolidColorBrush(Colors.Gray); - likes.Text = (Convert.ToInt32(likes.Text) - 1).ToString(); + likes.Text = (int.Parse(likes.Text, System.Globalization.NumberStyles.AllowThousands) - 1).ToString("0,0"); dislike.Foreground = new SolidColorBrush(Colors.Red); - dislikes.Text = (Convert.ToInt32(dislikes.Text) + 1).ToString(); + dislikes.Text = (int.Parse(dislikes.Text, System.Globalization.NumberStyles.AllowThousands) + 1).ToString("0,0"); rating.Value = (int)((item.Statistics.LikeCount - 1) / (item.Statistics.DislikeCount + item.Statistics.LikeCount) * 100); await SecretsVault.Service.Videos.Rate(videoId, VideosResource.RateRequest.RatingEnum.Dislike).ExecuteAsync(); @@ -456,7 +458,7 @@ namespace FoxTube.Pages case Rating.None: dislike.Foreground = new SolidColorBrush(Colors.Red); - dislikes.Text = (Convert.ToInt32(dislikes.Text) + 1).ToString(); + dislikes.Text = (int.Parse(dislikes.Text, System.Globalization.NumberStyles.AllowThousands) + 1).ToString("0,0"); rating.Value = (int)((item.Statistics.LikeCount) / (item.Statistics.DislikeCount + item.Statistics.LikeCount + 1) * 100); await SecretsVault.Service.Videos.Rate(videoId, VideosResource.RateRequest.RatingEnum.Dislike).ExecuteAsync(); @@ -465,7 +467,7 @@ namespace FoxTube.Pages case Rating.Dislike: dislike.Foreground = new SolidColorBrush(Colors.Gray); - dislikes.Text = (Convert.ToInt32(dislikes.Text) - 1).ToString(); + dislikes.Text = (int.Parse(dislikes.Text, System.Globalization.NumberStyles.AllowThousands) - 1).ToString("0,0"); rating.Value = (int)((item.Statistics.LikeCount) / (item.Statistics.DislikeCount + item.Statistics.LikeCount - 1) * 100); await SecretsVault.Service.Videos.Rate(videoId, VideosResource.RateRequest.RatingEnum.None).ExecuteAsync(); break; @@ -479,10 +481,10 @@ namespace FoxTube.Pages { case Rating.Dislike: dislike.Foreground = new SolidColorBrush(Colors.Gray); - dislikes.Text = (Convert.ToInt32(dislikes.Text) - 1).ToString(); + dislikes.Text = (int.Parse(dislikes.Text, System.Globalization.NumberStyles.AllowThousands) - 1).ToString("0,0"); like.Foreground = new SolidColorBrush(Colors.Green); - likes.Text = (Convert.ToInt32(likes.Text) + 1).ToString(); + likes.Text = (int.Parse(likes.Text, System.Globalization.NumberStyles.AllowThousands) + 1).ToString("0,0"); rating.Value = (int)((item.Statistics.LikeCount + 1) / (item.Statistics.DislikeCount + item.Statistics.LikeCount) * 100); await SecretsVault.Service.Videos.Rate(videoId, VideosResource.RateRequest.RatingEnum.Like).ExecuteAsync(); @@ -491,7 +493,7 @@ namespace FoxTube.Pages case Rating.None: like.Foreground = new SolidColorBrush(Colors.Green); - likes.Text = (Convert.ToInt32(likes.Text) + 1).ToString(); + likes.Text = (int.Parse(likes.Text, System.Globalization.NumberStyles.AllowThousands) + 1).ToString("0,0"); rating.Value = (int)((item.Statistics.LikeCount + 1) / (item.Statistics.DislikeCount + item.Statistics.LikeCount + 1) * 100); await SecretsVault.Service.Videos.Rate(videoId, VideosResource.RateRequest.RatingEnum.Like).ExecuteAsync(); @@ -500,7 +502,7 @@ namespace FoxTube.Pages case Rating.Like: like.Foreground = new SolidColorBrush(Colors.Gray); - likes.Text = (Convert.ToInt32(likes.Text) - 1).ToString(); + likes.Text = (int.Parse(likes.Text, System.Globalization.NumberStyles.AllowThousands) - 1).ToString("0,0"); rating.Value = (int)((item.Statistics.LikeCount - 1) / (item.Statistics.DislikeCount + item.Statistics.LikeCount - 1) * 100); await SecretsVault.Service.Videos.Rate(videoId, VideosResource.RateRequest.RatingEnum.None).ExecuteAsync(); break; @@ -509,8 +511,34 @@ namespace FoxTube.Pages private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { - if ((e.AddedItems[0] as VideoPlaylistItem).Id != videoId) - Methods.MainPage.GoToVideo((e.AddedItems[0] as VideoPlaylistItem).Id, playlistId); + try + { + if ((e.AddedItems[0] as VideoPlaylistItem).Id != videoId) + Methods.MainPage.GoToVideo((e.AddedItems[0] as VideoPlaylistItem).Id, playlistId); + } + catch { } + } + + private async void subscribe_Click(object sender, RoutedEventArgs e) + { + if (subscribe.Background == new SolidColorBrush(Colors.Red)) + { + if (await SecretsVault.Subscribe(item.Snippet.ChannelId)) + { + subscribe.Background = new SolidColorBrush(Colors.Transparent); + subscribe.Foreground = new SolidColorBrush(Colors.Gray); + subscribe.Content = "Subscribed"; + } + } + else + { + if (await SecretsVault.Unsubscibe(item.Snippet.ChannelId)) + { + subscribe.Background = new SolidColorBrush(Colors.Red); + subscribe.Foreground = new SolidColorBrush(Colors.White); + subscribe.Content = "Subscribe"; + } + } } } }