// // 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" #import "LoginViewController.h" @interface FeedViewController () @property NSString *selectedUser; @end @implementation FeedViewController -(void) viewDidLoad { self.messagesDelegate = self; self.title = @"Today"; [self refreshPath]; [self setShouldScrollToBottomOnRefresh:NO]; [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(userDidSignedIn:) name:UserSignedInNotificationName object:nil]; } -(void)avatarClicked:(NSString *)uname { self.selectedUser = uname; [self performSegueWithIdentifier:@"profileSegue" sender:self]; } -(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]; } } - (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender { if ([identifier isEqualToString:@"newPostSegue"]) { if ([[APIClient sharedClient] isAuthenticated]) { return YES; } else { [self.navigationController performSegueWithIdentifier:@"loginSegue" sender:self]; return NO; } } return YES; } - (void)didReceiveChallenge { } -(void) refreshPath { if ([[APIClient sharedClient] isAuthenticated]) { self.path = [APIClient feedUrl]; } else { self.path = [APIClient messagesUrl]; self.params = @{@"popular": @1}; } } - (void)userDidSignedIn:(User *) user { [self refreshPath]; [self refreshData]; } @end