// // JuickNavigationController.m // Juick // // Created by Vitaly Takmazov on 02/10/2019. // Copyright © 2019 com.juick. All rights reserved. // #import "JuickNavigationController.h" #import "AppDelegate.h" #import "APIClient.h" #import "MessagesViewController.h" #import "ThreadViewController.h" #import "NewPostViewController.h" #import "Message.h" @interface JuickNavigationController () @end @implementation JuickNavigationController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. } #pragma mark - Navigation - (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender { if ([identifier isEqualToString:@"editorSegue"]) { if ([[APIClient sharedClient] isAuthenticated]) { return YES; } else { [[AppDelegate shared] presentLoginView:self]; return NO; } } return YES; } - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString:@"threadSegue"]) { ThreadViewController *threadVC = (ThreadViewController *)segue.destinationViewController; [threadVC setShouldScrollToUnreadOnRefresh:NO]; NSNumber *pushedThread = [AppDelegate shared].pushedThread; if (pushedThread) { [threadVC setParams:@{@"mid": pushedThread }]; if ([AppDelegate shared].pushedReplyId) { [threadVC setFirstUnread:[AppDelegate shared].pushedReplyId]; [threadVC setShouldScrollToUnreadOnRefresh:YES]; } } else { MessagesViewController *vc = (MessagesViewController *) sender; Message *msg = vc.messages[vc.tableView.indexPathForSelectedRow.row]; [threadVC setMessages:[@[msg] mutableCopy]]; [threadVC setParams:@{@"mid": msg.mid }]; [threadVC setShouldScrollToUnreadOnRefresh:NO]; } } if ([segue.identifier isEqualToString:@"editorSegue"]) { if ([sender isKindOfClass:[ThreadViewController class]]) { ThreadViewController *thread = (ThreadViewController *) sender; Message *msg = [thread.messages objectAtIndex:[thread.tableView indexPathForSelectedRow].row]; NewPostViewController *postVC = [[((UINavigationController *)segue.destinationViewController) viewControllers] firstObject]; [postVC setReplyTo:msg]; } } } - (IBAction)newMessage:(id)sender { [[AppDelegate shared] presentLoginView:self]; } @end