// // DiscoverViewController.m // Juick // // Created by Vitaly Takmazov on 03/12/2017. // Copyright © 2017 com.juick. All rights reserved. // #import "FeedViewController.h" #import "ThreadViewController.h" #import "BlogViewController.h" #import "MessageCell.h" #import "APIClient.h" #import "AppDelegate.h" @interface FeedViewController () @property NSString *selectedUser; @end @implementation FeedViewController -(void) viewDidLoad { self.messagesDelegate = self; if ([[APIClient sharedClient] isAuthenticated]) { [[APIClient sharedClient] authenticate:^(User *user, NSError *error) { if (user) { if ([self.path length] == 0) { self.path = [APIClient feedUrl]; self.navigationController.visibleViewController.navigationItem.title = @"My feed"; } [self setShouldScrollToBottomOnRefresh:NO]; [self refreshData]; } else { [User throwUnableToLogin:self error:error]; } }]; } else { if ([self.path length] == 0) { self.path = [APIClient messagesUrl]; self.navigationController.visibleViewController.navigationItem.title = @"Discover"; } [self setShouldScrollToBottomOnRefresh:NO]; [self refreshData]; } [super viewDidLoad]; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { if (!self.dataLoading) { MessageCell *cell = (MessageCell *)[super tableView:tableView cellForRowAtIndexPath:indexPath]; cell.delegate = self; return cell; } else { return [super tableView:tableView cellForRowAtIndexPath:indexPath]; } } -(void)avatarClicked:(NSString *)uname { self.selectedUser = uname; [self performSegueWithIdentifier:@"profileSegue" sender:self]; } /* - (IBAction)filterAction:(id)sender { if (![[APIClient sharedClient] isAuthenticated]) { [self.navigationController performSegueWithIdentifier:@"loginSegue" sender:self.navigationController]; return; } UIAlertController *filterAlert = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet]; [filterAlert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]]; [filterAlert addAction:[UIAlertAction actionWithTitle:@"My feed" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { self.path = [APIClient feedUrl]; self.navigationController.visibleViewController.navigationItem.title = @"My feed"; self.params = nil; [self.messages removeAllObjects]; [self.tableView reloadData]; [self setShouldScrollToBottomOnRefresh:NO]; }]]; [filterAlert addAction:[UIAlertAction actionWithTitle:@"Discover" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { self.path = [APIClient messagesUrl]; self.navigationController.visibleViewController.navigationItem.title = @"Discover"; self.params = nil; [self.messages removeAllObjects]; [self.tableView reloadData]; [self setShouldScrollToBottomOnRefresh:NO]; }]]; [filterAlert addAction:[UIAlertAction actionWithTitle:@"Discussions" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { self.path = [APIClient discussionsUrl]; self.navigationController.visibleViewController.navigationItem.title = @"Discussions"; self.params = nil; [self.messages removeAllObjects]; [self.tableView reloadData]; [self setShouldScrollToBottomOnRefresh:NO]; }]]; [filterAlert.view setTintColor:[ColorScheme linkColor]]; UIPopoverPresentationController *popover = [filterAlert popoverPresentationController]; if (popover) { popover.sourceView = self.view; popover.sourceRect = CGRectMake(CGRectGetMidX(self.view.bounds), CGRectGetMidY(self.view.bounds), 0, 0); popover.permittedArrowDirections = UIPopoverArrowDirectionUp; } [self presentViewController:filterAlert animated:YES completion:nil]; }*/ -(void) loadMore { Message *lastMsg = [self.messages lastObject]; if (lastMsg != nil) { if ([self.path isEqualToString:[APIClient discussionsUrl]]) { NSDate *msgDate = [[APIClient sharedClient].dateFormatter dateFromString:lastMsg.timestamp]; self.params = [@{@"to" : [NSString stringWithFormat:@"%.0f", [msgDate timeIntervalSince1970] * 1000]} mutableCopy]; } else if (![self.path isEqualToString:[APIClient threadUrl]]) { NSNumber *lastMid = lastMsg.mid; self.params = [@{@"before_mid":lastMid} mutableCopy]; } [self setShouldScrollToBottomOnRefresh:NO]; } } @end