public StoryMenuDialog(InstaReelFeed reelFeed, InstaStoryItem storyItem, Views.Main.StoryView view) { StoryItem = storyItem; ReelFeed = reelFeed; View = view; InitializeComponent(); LVMenu.Items.Add(new StoryMenu { Text = "Download", Command = StoryMenuCommand.Download }); LVMenu.Items.Add(new StoryMenu { Text = "Share Link", Command = StoryMenuCommand.ShareLink }); if (reelFeed.User.IsMine()) { LVMenu.Items.Add(new StoryMenu { Text = "Delete", Command = StoryMenuCommand.Delete }); } else { LVMenu.Items.Add(new StoryMenu { Text = "Report", Command = StoryMenuCommand.Report }); } LVMenu.Items.Add(new StoryMenu { Text = "Cancel", Command = StoryMenuCommand.Cancel }); }
/// <summary> /// Get user story reel feed. Contains user info last story including all story items. /// </summary> /// <param name="userId">User identifier (PK)</param> public async Task <IResult <InstaReelFeed> > GetUserStoryFeedAsync(long userId) { UserAuthValidator.Validate(_userAuthValidate); var feed = new InstaReelFeed(); try { var userFeedUri = UriCreator.GetUserReelFeedUri(userId); var request = HttpHelper.GetDefaultRequest(HttpMethod.Get, userFeedUri, _deviceInfo); var response = await _httpRequestProcessor.SendAsync(request); var json = await response.Content.ReadAsStringAsync(); if (response.StatusCode != HttpStatusCode.OK) { return(Result.UnExpectedResponse <InstaReelFeed>(response, json)); } var feedResponse = JsonConvert.DeserializeObject <InstaReelFeedResponse>(json); feed = ConvertersFabric.Instance.GetReelFeedConverter(feedResponse).Convert(); return(Result.Success(feed)); } catch (Exception exception) { _logger?.LogException(exception); return(Result.Fail(exception.Message, feed)); } }
public static StoryModel ToStoryModel(this InstaReelFeed model) { return(new StoryModel { CanReply = model.CanReply, CanReshare = model.CanReshare, ExpiringAt = model.ExpiringAt, HasBestiesMedia = model.HasBestiesMedia, Id = model.Id, Items = model.Items, LatestReelMedia = model.LatestReelMedia, MediaCount = model.MediaCount, PrefetchCount = model.PrefetchCount, Seen = model.Seen, User = model.User, Muted = model.Muted, Owner = model.Owner, ReelType = model.ReelType }); }
private void ReelShareImageExTapped(object sender, TappedRoutedEventArgs e) { try { if (sender is ImageEx imageEx && imageEx.DataContext is InstaDirectInboxItem data && data != null && data.ItemType == InstaDirectThreadItemType.ReelShare && data.ReelShareMedia != null) { var reel = new InstaReelFeed { CreatedAt = data.ReelShareMedia.Media.TakenAt, Id = data.ReelShareMedia.Media.Id, User = data.ReelShareMedia.Media.User.ToUserShortFriendshipFull(), CanReply = data.ReelShareMedia.Media.CanReply, }; reel.Items.Add(data.ReelShareMedia.Media); NavigationService.Navigate(typeof(Main.StoryView), reel); } } catch { } }
public UsersDialog(InstaStoryItem storyItem, InstaReelFeed reelFeed) : this() { StoryItem = storyItem; ReelFeed = reelFeed; UsersDialogCommand = UsersDialogCommand.Story; try { IsPrivate = reelFeed.User.IsPrivate; } catch { } try { if (IsPrivate) { txtPrivateAccount.Text = $"Only {reelFeed.User.UserName.ToLower()}'s followers can see this story."; PrivateAccountGrid.Visibility = Visibility.Visible; } else { PrivateAccountGrid.Visibility = Visibility.Collapsed; } } catch { } }
private async void LoadPage() { _ProgressBar.IsIndeterminate = true; var p = PaginationParameters.MaxPagesToLoad(1); var res = await AppCore.InstaApi.GetDirectInboxAsync(p); p.NextId = res.Value.Inbox.OldestCursor; var res2 = await AppCore.InstaApi.GetDirectInboxAsync(p); if (res.Info.Message == "login_required") { //AppCore.InstaApi = null; AppCore.SaveUserInfo(null, null, false); MainPage.MainFrame.GoBack(); return; } //TEST var User = AppCore.InstaApi.GetLoggedUser(); var user = await AppCore.InstaApi.GetUserInfoByUsernameAsync(User.UserName); var items = await AppCore.InstaApi.GetUserStoryFeedAsync(user.Value.Pk); InstaUserShort You = new InstaUserShort() { UserName = "******", ProfilePicture = user.Value.ProfilePicUrl, Pk = user.Value.Pk }; InstaReelFeed MyReel = new InstaReelFeed(); MyReel.User = You; //MyReel.Seen = 0; MyReel.Items = items.Value.Items; //var m = (await AppCore.InstaApi.GetUserTimelineFeedAsync(p)); //var first = m.Value.Medias.LastOrDefault(); //var s = await AppCore.InstaApi.GetMediaCommentsAsync(first.InstaIdentifier.ToString(), p); //var sss = ""; // var ss = await AppCore.InstaApi.GetMediaLikersAsync(first.InstaIdentifier.ToString()); //var sssds = ""; var strs = await AppCore.InstaApi.GetStoryFeedAsync(); if (strs.Value.Items.Exists(x => x.User.Pk == user.Value.Pk)) { //strs.Value.Items.OrderBy(x => x.Seen != 0); var MyRemove = strs.Value.Items.FindIndex(x => x.User.Pk == user.Value.Pk); MyReel.Seen = strs.Value.Items[MyRemove].Seen; MyReel.LatestReelMedia = strs.Value.Items[MyRemove].LatestReelMedia; strs.Value.Items.RemoveAt(MyRemove); } // strs.Value.Items.OrderBy(x => x.Seen_ranked_position != 0); strs.Value.Items.Insert(0, MyReel); StoriesList.ItemsSource = strs.Value.Items; if (HomePageItemssource != null) { HomePageItemssource.CollectionChanged -= HomePageItemssource_CollectionChanged; } HomePageItemssource = new GenerateHomePage <InstaMedia>(100000, (count) => { //return tres[count]; return(new InstaMedia()); }); HomePageItemssource.CollectionChanged += HomePageItemssource_CollectionChanged; //MediasCVS.Source = HomePageItemssource; mylist.ItemsSource = HomePageItemssource; //await HomePageItemssource.LoadMoreItemsAsync(20); //mylist.ItemsSource = res.Value.Medias; //mylist.ItemsSource = res.Value.Medias; _ProgressBar.IsIndeterminate = false; var sv = FindChildOfType <ScrollViewer>(mylist); sv.ViewChanged += Sv_ViewChanged; //await Task.Delay(2000); //DirectFr.Navigate(typeof(DirectsListView)); //MainPage.MainFrame.Navigate(typeof(DirectsListView)); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.NavigationMode != NavigationMode.Back) { AppCore.ModerateBack(CloseStories); } if (e.Parameter is InstaReelFeed) { this.DataContext = ((InstaReelFeed)e.Parameter); AnimationEnter(); var i = ((InstaReelFeed)e.Parameter); InstaReelFeed story = null; if ((e.Parameter as InstaReelFeed).Items.Count != 0) { story = e.Parameter as InstaReelFeed; } else { story = (await AppCore.InstaApi.GetUserStoryFeedAsync(i.User.Pk)).Value; } foreach (var item in story.Items) { item.Play = false; } Flipviews.ItemsSource = story.Items; for (int a = 0; a < Flipviews.Items.Count; a++) { switch (story.Items[a].MediaType) { case 1: SecondItemList.Add(6); break; case 2: SecondItemList.Add(story.Items[a].VideoDuration); break; } } story.Items[0].Play = true; //Flipviews.ItemsSource = i.Items; //var strs = await AppCore.InstaApi.LiveProcessor.SeenBroadcastAsync(i.Id.ToString(), i.HasBestiesMedia.ToString()); } else { this.DataContext = ((InstaStory)e.Parameter); AnimationEnter(); var i = ((InstaStory)e.Parameter); try { var story = await AppCore.InstaApi.GetUserStoryFeedAsync(i.User.Pk); foreach (var item in story.Value.Items) { item.Play = false; } Flipviews.ItemsSource = story.Value.Items; for (int a = 0; a < Flipviews.Items.Count; a++) { switch (story.Value.Items[a].MediaType) { case 1: SecondItemList.Add(6); break; case 2: SecondItemList.Add(story.Value.Items[a].VideoDuration); break; } } story.Value.Items[0].Play = true; } catch { var story = await AppCore.InstaApi.GetUserStoryFeedAsync(i.Owner.Pk); //foreach (var item in story.Items) { item.Play = false; } Flipviews.ItemsSource = story.Value.Items; for (int a = 0; a < Flipviews.Items.Count; a++) { switch (story.Value.Items[a].MediaType) { case 1: SecondItemList.Add(6); break; case 2: SecondItemList.Add(story.Value.Items[a].VideoDuration); break; } } } } if (Flipviews.Items.Count > 0) { _BarSecond.Maximum = (SecondItemList[0]); timer.Tick += Timer_Tick; timer.Start(); } }
public StoryMenuDialog(InstaReelFeed reelFeed, InstaStoryItem storyItem, Views.Stories.UserStoryUc view2) : this(reelFeed, storyItem) { View2 = view2; }
public StoryMenuDialog(InstaReelFeed reelFeed, InstaStoryItem storyItem, Views.Main.StoryView view) : this(reelFeed, storyItem) { View = view; }