// // AppDelegate.m // Juick // // Created by Vitaly Takmazov on 26.10.13. // Copyright (c) 2013 com.juick. All rights reserved. // #import "AppDelegate.h" #import "MessagesViewController.h" #import "RevealPanelViewController.h" #import "SWRevealViewController.h" #import "LoginViewController.h" #import "ColorScheme.h" #import "Message.h" @implementation AppDelegate SWRevealViewController *reveal; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[UINavigationBar appearance] setTintColor:[ColorScheme linkColor]]; [[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName: [ColorScheme linkColor]}]; [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault; MessagesViewController *messages = [[MessagesViewController alloc] init]; RevealPanelViewController *rear = [[RevealPanelViewController alloc] init]; UINavigationController *main = [[UINavigationController alloc] initWithRootViewController:messages]; UINavigationController *rearNav = [[UINavigationController alloc] initWithRootViewController:rear]; reveal = [[SWRevealViewController alloc] initWithRearViewController:rearNav frontViewController:main]; self.viewController = reveal; [messages.navigationController.navigationBar addGestureRecognizer:reveal.panGestureRecognizer]; UIBarButtonItem *revealButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reveal-icon.png"] style:UIBarButtonItemStylePlain target:reveal action:@selector(revealToggle:)]; messages.navigationItem.leftBarButtonItem = revealButtonItem; UIBarButtonItem *compose = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:messages action:@selector(composePressed)]; messages.navigationItem.rightBarButtonItem = compose; if ([User isAuthenticated]) { [User checkIsValid:^(BOOL success) { if (success) { [messages loadFromPath:[Message feedUrl] withParams:nil withTitle:@"My feed"]; } else { [User throwUnableToLogin]; } }]; } else { [messages loadFromPath:[Message messagesUrl] withParams:nil withTitle:@"Discover"]; } self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; return YES; } - (void) pushLoginForm { if ([reveal isBeingPresented]) { [reveal revealToggle:self]; } UIViewController *loginView = [[LoginViewController alloc] init]; UINavigationController *messages = (UINavigationController *)reveal.frontViewController; [messages pushViewController:loginView animated:YES]; } @end