From cd6f0c5661a96dec7b4dad03c8c3e564f2ec5a62 Mon Sep 17 00:00:00 2001 From: Okechi Date: Sat, 2 Apr 2016 20:39:25 -0400 Subject: [PATCH] in the process of converting home screen, settings, and friends view into tab view controller --- GetHip.xcodeproj/project.pbxproj | 24 +- GetHip/AppDelegate.swift | 10 +- GetHip/ForgotPassViewController.swift | 35 ++ GetHip/FriendsListViewController.swift | 7 + GetHip/HomeScreenViewController.swift | 39 +- GetHip/HomeTabController.swift | 120 ++++++ .../FriendsTab.imageset/Contents.json | 22 + .../FriendsTab.imageset/Friends@2x.png | Bin 0 -> 1763 bytes .../FriendsTab.imageset/Friends@3x.png | Bin 0 -> 2751 bytes .../Tab Icons/PartyTab.imageset/Contents.json | 22 + .../PartyTab.imageset/Headphones@2x.png | Bin 0 -> 1476 bytes .../PartyTab.imageset/Headphones@3x.png | Bin 0 -> 2322 bytes .../SettingsTab.imageset/Contents.json | 22 + .../SettingsTab.imageset/Settings@2x.png | Bin 0 -> 2362 bytes .../SettingsTab.imageset/Settings@3x.png | Bin 0 -> 3683 bytes GetHip/Info.plist | 2 +- GetHip/LoginController.swift | 32 +- GetHip/Main.storyboard | 377 +++++++++++------- GetHip/SettingsTableViewController.swift | 24 ++ GetHip/SignInController.swift | 38 +- 20 files changed, 586 insertions(+), 188 deletions(-) create mode 100644 GetHip/ForgotPassViewController.swift create mode 100644 GetHip/HomeTabController.swift create mode 100644 GetHip/Images-3.xcassets/Tab Icons/FriendsTab.imageset/Contents.json create mode 100644 GetHip/Images-3.xcassets/Tab Icons/FriendsTab.imageset/Friends@2x.png create mode 100644 GetHip/Images-3.xcassets/Tab Icons/FriendsTab.imageset/Friends@3x.png create mode 100644 GetHip/Images-3.xcassets/Tab Icons/PartyTab.imageset/Contents.json create mode 100644 GetHip/Images-3.xcassets/Tab Icons/PartyTab.imageset/Headphones@2x.png create mode 100644 GetHip/Images-3.xcassets/Tab Icons/PartyTab.imageset/Headphones@3x.png create mode 100644 GetHip/Images-3.xcassets/Tab Icons/SettingsTab.imageset/Contents.json create mode 100644 GetHip/Images-3.xcassets/Tab Icons/SettingsTab.imageset/Settings@2x.png create mode 100644 GetHip/Images-3.xcassets/Tab Icons/SettingsTab.imageset/Settings@3x.png diff --git a/GetHip.xcodeproj/project.pbxproj b/GetHip.xcodeproj/project.pbxproj index 91f2419..834ae03 100644 --- a/GetHip.xcodeproj/project.pbxproj +++ b/GetHip.xcodeproj/project.pbxproj @@ -35,6 +35,7 @@ 3E3412591C54C6B7006226E0 /* SongCellWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E3412581C54C6B7006226E0 /* SongCellWrapper.swift */; }; 3E34125B1C54C73A006226E0 /* PartySession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E34125A1C54C73A006226E0 /* PartySession.swift */; }; 3E34125D1C54CF1B006226E0 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E34125C1C54CF1B006226E0 /* MediaPlayer.framework */; }; + 3E37709E1CAB5EC000A66097 /* ForgotPassViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E37709D1CAB5EC000A66097 /* ForgotPassViewController.swift */; }; 3E379EF61C3E646000F7BCCD /* ParseNetDebug.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E379EF51C3E646000F7BCCD /* ParseNetDebug.m */; }; 3E379EF71C3F794500F7BCCD /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E76CF2D1C3835C500193B58 /* CFNetwork.framework */; }; 3E379EFE1C3F794500F7BCCD /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E379EF81C3F794500F7BCCD /* CoreGraphics.framework */; }; @@ -120,13 +121,10 @@ 3E6D438D1C78969A00CA805F /* CancelInvited@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6D438C1C78969A00CA805F /* CancelInvited@2x.png */; }; 3E76CF2C1C38349D00193B58 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E76CF2B1C38349D00193B58 /* libsqlite3.dylib */; }; 3E7BB8E21C5B4A350005B834 /* Change Song@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E7BB8E11C5B4A350005B834 /* Change Song@2x.png */; }; - 3E7D37D51C75D7EF002E682F /* Raise@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E7D37D41C75D7EF002E682F /* Raise@2x.png */; }; - 3E7D37D71C75D80F002E682F /* Lower@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E7D37D61C75D80F002E682F /* Lower@2x.png */; }; - 3E7D37D91C75D882002E682F /* B2P Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E7D37D81C75D882002E682F /* B2P Icon@2x.png */; }; - 3E7D37DB1C75D899002E682F /* B2P Button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E7D37DA1C75D899002E682F /* B2P Button@2x.png */; }; 3EB6B39B1C87B8AE006B674D /* JoiningPartyViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EB6B39A1C87B8AE006B674D /* JoiningPartyViewController.swift */; }; 3EB8845D1C6C647700CCDCCE /* Add More@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3EB8845B1C6C647700CCDCCE /* Add More@2x.png */; }; 3EB8845E1C6C647700CCDCCE /* Leave Party@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3EB8845C1C6C647700CCDCCE /* Leave Party@2x.png */; }; + 3EBE825A1CB06793004A2730 /* HomeTabController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EBE82591CB06793004A2730 /* HomeTabController.swift */; }; 3EBE97661C53CEDA0079B54A /* Send Invites Button.png in Resources */ = {isa = PBXBuildFile; fileRef = 3EBE97651C53CEDA0079B54A /* Send Invites Button.png */; }; 3EBE976A1C53E4290079B54A /* Blue Check.png in Resources */ = {isa = PBXBuildFile; fileRef = 3EBE97671C53E4290079B54A /* Blue Check.png */; }; 3EBE976B1C53E4290079B54A /* cross.png in Resources */ = {isa = PBXBuildFile; fileRef = 3EBE97681C53E4290079B54A /* cross.png */; }; @@ -184,6 +182,7 @@ 3E3412581C54C6B7006226E0 /* SongCellWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SongCellWrapper.swift; sourceTree = ""; }; 3E34125A1C54C73A006226E0 /* PartySession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PartySession.swift; sourceTree = ""; }; 3E34125C1C54CF1B006226E0 /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; }; + 3E37709D1CAB5EC000A66097 /* ForgotPassViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ForgotPassViewController.swift; sourceTree = ""; }; 3E379EF51C3E646000F7BCCD /* ParseNetDebug.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ParseNetDebug.m; sourceTree = ""; }; 3E379EF81C3F794500F7BCCD /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 3E379EF91C3F794500F7BCCD /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; @@ -286,13 +285,10 @@ 3E76CF2D1C3835C500193B58 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; 3E76CF2F1C3835E300193B58 /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; }; 3E7BB8E11C5B4A350005B834 /* Change Song@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Change Song@2x.png"; path = "../../../Dropbox/Gethip/Screens/Song Selected/5 Song Selected/Assets/Change Song@2x.png"; sourceTree = ""; }; - 3E7D37D41C75D7EF002E682F /* Raise@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Raise@2x.png"; path = "../../../Dropbox/Gethip/For final/Volume/i5 Volume/Raise@2x.png"; sourceTree = ""; }; - 3E7D37D61C75D80F002E682F /* Lower@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Lower@2x.png"; path = "../../../Dropbox/Gethip/For final/Volume/i5 Volume/Lower@2x.png"; sourceTree = ""; }; - 3E7D37D81C75D882002E682F /* B2P Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "B2P Icon@2x.png"; path = "../../../Dropbox/Gethip/For final/Back To Party/i5/B2P Icon@2x.png"; sourceTree = ""; }; - 3E7D37DA1C75D899002E682F /* B2P Button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "B2P Button@2x.png"; path = "../../../Dropbox/Gethip/For final/Back To Party/i5/B2P Button@2x.png"; sourceTree = ""; }; 3EB6B39A1C87B8AE006B674D /* JoiningPartyViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JoiningPartyViewController.swift; sourceTree = ""; }; 3EB8845B1C6C647700CCDCCE /* Add More@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Add More@2x.png"; path = "../../../Dropbox/Gethip/Screens/iPhone 5 Party Screens/Party Screen/Assets/Add More@2x.png"; sourceTree = ""; }; 3EB8845C1C6C647700CCDCCE /* Leave Party@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Leave Party@2x.png"; path = "../../../Dropbox/Gethip/Screens/iPhone 5 Party Screens/Party Screen/Assets/Leave Party@2x.png"; sourceTree = ""; }; + 3EBE82591CB06793004A2730 /* HomeTabController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HomeTabController.swift; sourceTree = ""; }; 3EBE97651C53CEDA0079B54A /* Send Invites Button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Send Invites Button.png"; path = "../../../Dropbox/Gethip/Screens/Friends + Invite Screens/i6/Invite Friends/Send Invites Button.png"; sourceTree = ""; }; 3EBE97671C53E4290079B54A /* Blue Check.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Blue Check.png"; path = "../../../Dropbox/Gethip/Screens/Friends + Invite Screens/i6/Invite Friends/Blue Check.png"; sourceTree = ""; }; 3EBE97681C53E4290079B54A /* cross.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = cross.png; path = "../../../Dropbox/Gethip/Screens/Friends + Invite Screens/i6/Invite Friends/cross.png"; sourceTree = ""; }; @@ -363,6 +359,7 @@ 3E18D4921C51F6230012F7DF /* UserParseData.swift */, 3E326BCB1C51C20000F785CF /* SettingsTableViewController.swift */, 3E1B5E441C5274E700D1AB62 /* SettingsDetailViewWrapper.swift */, + 3EBE82591CB06793004A2730 /* HomeTabController.swift */, ); name = UserSettingsSoruce; sourceTree = ""; @@ -510,10 +507,6 @@ 3E6D438A1C78968C00CA805F /* Joining@2x.png */, 3E6D43851C782E3200CA805F /* Decline@2x.png */, 3E4AA5201C853E1A00746839 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png */, - 3E7D37DA1C75D899002E682F /* B2P Button@2x.png */, - 3E7D37D81C75D882002E682F /* B2P Icon@2x.png */, - 3E7D37D61C75D80F002E682F /* Lower@2x.png */, - 3E7D37D41C75D7EF002E682F /* Raise@2x.png */, 3E0B78B71C6E3756001DF21E /* Pause-52.png */, 3E0B78B81C6E3756001DF21E /* Play-52.png */, 3EB8845B1C6C647700CCDCCE /* Add More@2x.png */, @@ -619,6 +612,7 @@ 3E1BDA561C37111D00EE3B84 /* ViewController.swift */, 3E6738F41C6E9C7700B47C3E /* LoginController.swift */, 3EF36C751C71694C00CD0DC0 /* SignInController.swift */, + 3E37709D1CAB5EC000A66097 /* ForgotPassViewController.swift */, ); name = "User Authentication"; sourceTree = ""; @@ -830,7 +824,6 @@ files = ( 3E5BD3171C6C45CE00266B16 /* StarPlayer@2x.png in Resources */, 3E5BD3161C6C45CE00266B16 /* Party@2x.png in Resources */, - 3E7D37D71C75D80F002E682F /* Lower@2x.png in Resources */, 3E4169491C385F1000B193AF /* 1x.png in Resources */, 3E4AA5211C853E1A00746839 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png in Resources */, 3E5952641C39DBC900C88C71 /* Friends@2x.png in Resources */, @@ -852,7 +845,6 @@ 3E5952811C39DDA800C88C71 /* Settings.png in Resources */, 3E59527E1C39DDA800C88C71 /* Group.png in Resources */, 3E6D438D1C78969A00CA805F /* CancelInvited@2x.png in Resources */, - 3E7D37DB1C75D899002E682F /* B2P Button@2x.png in Resources */, 3E5952711C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@3x.png in Resources */, 3E6D438B1C78968C00CA805F /* Joining@2x.png in Resources */, 3E33EFDC1C5B56340011B9B5 /* No Friend Requests i5@2x.png in Resources */, @@ -866,7 +858,6 @@ 3E59527B1C39DDA800C88C71 /* Create.png in Resources */, 3E5952701C39DC1E00C88C71 /* Rectangle 10 + Change Photo + voice_presentation copy + voice_presentation copy 2 + voice_presentation + Music 2 + Music 2@2x.png in Resources */, 3EBE976C1C53E4290079B54A /* Tap Circle.png in Resources */, - 3E7D37D91C75D882002E682F /* B2P Icon@2x.png in Resources */, 3E5952671C39DBC900C88C71 /* Settings@2x.png in Resources */, 3EBE976A1C53E4290079B54A /* Blue Check.png in Resources */, 3E438AE71C5738EF0055C97A /* Friends@2x.png in Resources */, @@ -880,7 +871,6 @@ 3E5952691C39DBC900C88C71 /* Star.png in Resources */, 3E41D74E1C8D17F300FFD846 /* Icon-60.png in Resources */, 3E59527C1C39DDA800C88C71 /* Create@2x.png in Resources */, - 3E7D37D51C75D7EF002E682F /* Raise@2x.png in Resources */, 3E59526A1C39DBC900C88C71 /* Star@2x.png in Resources */, 3E5952821C39DDA800C88C71 /* Settings@2x.png in Resources */, 3EB8845D1C6C647700CCDCCE /* Add More@2x.png in Resources */, @@ -913,10 +903,12 @@ 3E627FE61C55AE35005C0372 /* NSInputStream+URLInitialization.m in Sources */, 3E5485B51C69CE2F00E7D5AB /* InvitedCollectionViewCell.swift in Sources */, 3E6D43891C7831B100CA805F /* InvitedToPartyViewController.swift in Sources */, + 3E37709E1CAB5EC000A66097 /* ForgotPassViewController.swift in Sources */, 3E3412571C54C31F006226E0 /* SongSelectionViewController.swift in Sources */, 3E627FE81C55AE35005C0372 /* TDAudioMetaInfo.m in Sources */, 3E6738F51C6E9C7700B47C3E /* LoginController.swift in Sources */, 3E34125B1C54C73A006226E0 /* PartySession.swift in Sources */, + 3EBE825A1CB06793004A2730 /* HomeTabController.swift in Sources */, 3E50E0401C74B97300EB9EA9 /* BackToHomeScreenViewController.swift in Sources */, 3E627FF01C55AE35005C0372 /* TDAudioStream.m in Sources */, 3E627FE91C55AE35005C0372 /* TDAudioPlayer.m in Sources */, diff --git a/GetHip/AppDelegate.swift b/GetHip/AppDelegate.swift index 8e67637..412f2c4 100644 --- a/GetHip/AppDelegate.swift +++ b/GetHip/AppDelegate.swift @@ -44,14 +44,16 @@ class AppDelegate: UIResponder, UIApplicationDelegate , CLLocationManagerDelegat startSignificantChangeUpdates() //check if user logged in on app startup - if(PFUser.currentUser() != nil){ + var storyboard = UIStoryboard(name: "Main", bundle: nil) + + if(PFUser.currentUser() == nil){ - var storyboard = UIStoryboard(name: "Main", bundle: nil) - - var initialViewController = storyboard.instantiateViewControllerWithIdentifier("HomeVC") as! HomeScreenViewController + //var initialViewController = storyboard.instantiateViewControllerWithIdentifier("HomeVC") as! HomeScreenViewController + var initialViewController = storyboard.instantiateViewControllerWithIdentifier("LoginVC") as! UITabBarController self.window?.rootViewController = initialViewController self.window?.makeKeyAndVisible() + }else{ } return true diff --git a/GetHip/ForgotPassViewController.swift b/GetHip/ForgotPassViewController.swift new file mode 100644 index 0000000..bb80ab7 --- /dev/null +++ b/GetHip/ForgotPassViewController.swift @@ -0,0 +1,35 @@ +// +// ForgotPassViewController.swift +// GetHip +// +// Created by Okechi on 3/29/16. +// Copyright (c) 2016 Kroleo. All rights reserved. +// + +import UIKit + +class ForgotPassViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + override func didReceiveMemoryWarning() { + super.didReceiveMemoryWarning() + // Dispose of any resources that can be recreated. + } + + + /* + // MARK: - Navigation + + // In a storyboard-based application, you will often want to do a little preparation before navigation + override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { + // Get the new view controller using segue.destinationViewController. + // Pass the selected object to the new view controller. + } + */ + +} diff --git a/GetHip/FriendsListViewController.swift b/GetHip/FriendsListViewController.swift index 615a635..06d316c 100644 --- a/GetHip/FriendsListViewController.swift +++ b/GetHip/FriendsListViewController.swift @@ -38,6 +38,13 @@ class FriendsListViewController: UIViewController, UITableViewDelegate, UITableV override func viewDidLoad() { super.viewDidLoad() + + //for sharing data with tab bar navigations + self.user = (self.tabBarController as? HomeTabController)!.userData + self.party = (self.tabBarController as? HomeTabController)!.partyData + self.friends = (self.tabBarController as? HomeTabController)!.friendData + self.request = (self.tabBarController as? HomeTabController)!.requestData + self.table.delegate = self self.table.dataSource = self self.party.delegate = self diff --git a/GetHip/HomeScreenViewController.swift b/GetHip/HomeScreenViewController.swift index a771bd9..60cc836 100644 --- a/GetHip/HomeScreenViewController.swift +++ b/GetHip/HomeScreenViewController.swift @@ -22,6 +22,7 @@ class HomeScreenViewController: UIViewController, PartyServiceManagerDelegate { //async data update methods + /* func refreshFriendData(notification:NSNotification){ let friendInfo = self.frndDataManager.getFriends() @@ -43,7 +44,8 @@ class HomeScreenViewController: UIViewController, PartyServiceManagerDelegate { } - +*/ + /* func refreshUserData(notification:NSNotification){ self.userData = self.usrDataManager.getUser() @@ -66,11 +68,13 @@ class HomeScreenViewController: UIViewController, PartyServiceManagerDelegate { self.frndDataManager = FriendDataSource() } + */ + /* func loadID(notification: NSNotification){ self.performSegueWithIdentifier("InviteFriendsSegue", sender: nil) } - + */ override func viewDidLoad() { @@ -80,19 +84,21 @@ class HomeScreenViewController: UIViewController, PartyServiceManagerDelegate { self.view.backgroundColor = UIColor.whiteColor() CreateAPartyBtn.layer.cornerRadius = 5 CreateAPartyBtn.layer.borderWidth = 1 - self.navigationController?.navigationBarHidden = true + //self.tabBarController?.delegate = self + //self.navigationController?.navigationBarHidden = true - NSNotificationCenter.defaultCenter().addObserver(self, selector: "loadID:", name: "gotDisplayID", object: nil) + //NSNotificationCenter.defaultCenter().addObserver(self, selector: "loadID:", name: "gotDisplayID", object: nil) - NSNotificationCenter.defaultCenter().addObserver(self, selector: "refreshFriendData:", name: "refreshTableView", object: nil) + //NSNotificationCenter.defaultCenter().addObserver(self, selector: "refreshFriendData:", name: "refreshTableView", object: nil) - NSNotificationCenter.defaultCenter().addObserver(self, selector: "refreshUserData:", name: "refreshSettingsView", object: nil) + //NSNotificationCenter.defaultCenter().addObserver(self, selector: "refreshUserData:", name: "refreshSettingsView", object: nil) } override func viewWillAppear(animated: Bool) { + /* self.userData = [] self.friendData = [] dispatch_async(dispatch_get_main_queue(), { @@ -100,6 +106,7 @@ class HomeScreenViewController: UIViewController, PartyServiceManagerDelegate { //self.frndDataManager = FriendDataSource() }) +*/ } @@ -133,7 +140,7 @@ class HomeScreenViewController: UIViewController, PartyServiceManagerDelegate { if segue.identifier == "FriendListSegue" { let nav: UINavigationController = (segue.destinationViewController as? UINavigationController)! - let vc: FriendsListViewController = (nav.viewControllers[0] as? FriendsListViewController)! + let vc: FriendsListViewController = /*segue.destinationViewController as! FriendsListViewController */(nav.viewControllers[0] as? FriendsListViewController)! vc.setData(self.friendData, requst: self.requestData, party: self.partyData, user: self.userData) } } @@ -149,7 +156,23 @@ class HomeScreenViewController: UIViewController, PartyServiceManagerDelegate { */ } - +/* +extension HomeScreenViewController: UITabBarControllerDelegate { + func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) { + if viewController .isKindOfClass(SettingsTableViewController) { + + let vc: SettingsTableViewController = (viewController as? SettingsTableViewController)! + vc.setData(self.userData, prty: self.partyData, frends: self.friendData, request: self.requestData) + + }else if(viewController .isKindOfClass(FriendsListViewController)){ + + let vc: FriendsListViewController = (viewController as? FriendsListViewController)! + vc.setData(self.friendData, requst: self.requestData, party: self.partyData, user: self.userData) + + } + } +} +*/ extension HomeScreenViewController: PartyServiceManagerDelegate { func foundPeer() { if(self.firstTimeBrowsing == true){ diff --git a/GetHip/HomeTabController.swift b/GetHip/HomeTabController.swift new file mode 100644 index 0000000..761f006 --- /dev/null +++ b/GetHip/HomeTabController.swift @@ -0,0 +1,120 @@ +// +// HomeTabController.swift +// GetHip +// +// Created by Okechi on 4/2/16. +// Copyright (c) 2016 Kroleo. All rights reserved. +// + +import UIKit + +class HomeTabController: UITabBarController { + + var usrDataManager: UserParseDataSource! + var frndDataManager: FriendDataSource! + var friendData: [FriendData] = [] + var requestData: [FriendData] = [] + var userData: [UserParseData] = [] + let partyData = PartyServiceManager() + var firstTime: Bool = true + private var firstTimeBrowsing: Bool = true + //@IBOutlet weak var CreateAPartyBtn: UIButton! + + + //async data update methods + func refreshFriendData(notification:NSNotification){ + + let friendInfo = self.frndDataManager.getFriends() + + for pendingFriend in friendInfo { + if pendingFriend.status == "pending"{ + self.requestData.append(pendingFriend) + }else{ + self.friendData.append(pendingFriend) + } + } + + //start browsing for peers + self.partyData.setBrowser() + self.partyData.startBrowser() + + //self.partyData.delegate = self + self.firstTime = false + + + } + + func refreshUserData(notification:NSNotification){ + + self.userData = self.usrDataManager.getUser() + + if(self.firstTime == true){ + self.partyData.setPeerID((self.userData[0].displayName)) + self.partyData.initializeSession() + + //start peer-to-peer advertising + self.partyData.setAdvertiser() + self.partyData.startListening() + + //start browsing for peers + //self.partyData.setBrowser() + //self.partyData.startBrowser() + //self.firstTime = false + } + + self.frndDataManager = FriendDataSource() + } + + func loadID(notification: NSNotification){ + self.performSegueWithIdentifier("InviteFriendsSegue", sender: nil) + } + + + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + self.view.backgroundColor = UIColor.whiteColor() + //CreateAPartyBtn.layer.cornerRadius = 5 + //CreateAPartyBtn.layer.borderWidth = 1 + //self.tabBarController?.delegate = self + //self.navigationController?.navigationBarHidden = true + + NSNotificationCenter.defaultCenter().addObserver(self, selector: "loadID:", name: "gotDisplayID", object: nil) + + NSNotificationCenter.defaultCenter().addObserver(self, selector: "refreshFriendData:", name: "refreshTableView", object: nil) + + NSNotificationCenter.defaultCenter().addObserver(self, selector: "refreshUserData:", name: "refreshSettingsView", object: nil) + + self.userData = [] + self.friendData = [] + dispatch_async(dispatch_get_main_queue(), { + self.usrDataManager = UserParseDataSource() + //self.frndDataManager = FriendDataSource() + + }) + } + + override func viewWillAppear(animated: Bool) { + + + } + + override func didReceiveMemoryWarning() { + super.didReceiveMemoryWarning() + // Dispose of any resources that can be recreated. + } + + /* + // MARK: - Navigation + + // In a storyboard-based application, you will often want to do a little preparation before navigation + override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { + // Get the new view controller using segue.destinationViewController. + // Pass the selected object to the new view controller. + } + */ + +} + diff --git a/GetHip/Images-3.xcassets/Tab Icons/FriendsTab.imageset/Contents.json b/GetHip/Images-3.xcassets/Tab Icons/FriendsTab.imageset/Contents.json new file mode 100644 index 0000000..0d4643c --- /dev/null +++ b/GetHip/Images-3.xcassets/Tab Icons/FriendsTab.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "Friends@2x.png" + }, + { + "idiom" : "universal", + "scale" : "3x", + "filename" : "Friends@3x.png" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/GetHip/Images-3.xcassets/Tab Icons/FriendsTab.imageset/Friends@2x.png b/GetHip/Images-3.xcassets/Tab Icons/FriendsTab.imageset/Friends@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4879246ea6275749237828127b1146fe099e2860 GIT binary patch literal 1763 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�e1oYsokrfM~Tt%^&If&U!N&)-NmU#>IFZ}*si2| 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 literal 0 HcmV?d00001 diff --git a/GetHip/Images-3.xcassets/Tab Icons/SettingsTab.imageset/Contents.json b/GetHip/Images-3.xcassets/Tab Icons/SettingsTab.imageset/Contents.json new file mode 100644 index 0000000..159af7b --- /dev/null +++ b/GetHip/Images-3.xcassets/Tab Icons/SettingsTab.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x", + "filename" : "Settings@2x.png" + }, + { + "idiom" : "universal", + "scale" : "3x", + "filename" : "Settings@3x.png" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/GetHip/Images-3.xcassets/Tab Icons/SettingsTab.imageset/Settings@2x.png b/GetHip/Images-3.xcassets/Tab Icons/SettingsTab.imageset/Settings@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f8ef5901799773a736dcda5d6d231472765490a0 GIT binary patch literal 2362 zcmV-A3B~q_P)Px-^hrcPRA>d=n0u_(bs5Jy0U}5shiRe-a>PqkUSJxz09Q7JTBBmCbv>=ER-4t- z8vRj2vzuluD_yQ~Dyy`tWtoO%Q`0nSnO$@w90(%N1cdNHlD%HP^L^~Y!SD6=J;xL8 z?fv`Qp6B^IpX>Aa{(4?8vUnlg9SD2jRJa>%$+(?#pTjgp^auDK_)HG}P5q6~$=PSn z&q(qHJhcAgkr?&Zk?4dzj?DUbn)JQUZM_4!x|88-cp(&h@ZL^tANX0p7+l%aIb)fS zwJWnMN2b;4kvdPVqF6JS?DhKuHJh^9kljnD&59-i_eNd}_pjl|tW0*GKquNlwm|gR zCL_a{u#PX!D%Z&zkMMfvmb@Px4a-n<80GE>*fsV3I0m+geyn*T+rd-tYUtx5I{p&*aWKU}6g~u9 zjgTt}Ro?a?_fzt3g9pGAQz-lhhTP-ie~^?PB|i_gf;V6#2KgBI*JM`R0sn;I#GT|1 zgGa$D;LsIucT9qLcsUJWD^hhn2c5(d;6pIlR+0DUiO;~Ockoq?pnAEOL(9LQMz=!C zDP~YeS9BZYn51yzZ`6Gmz7&>WJ_1+3Eim*=cS3LesJo8*WSAly{AwDUtVTE#t++g% zB)>4n%6`;;4Te*uK25&|Pk~L~!)g({4W@S8MQ6i2q=Ua3A$_Zjv(Si6&#R#AnS2ml z1KqZ5;k6k01@x`|>Iz1^AHwei73B94F`jzHG~!u49FBIJii5kLK6@WbgpIHit(d*W zTc=Ua^_4u+8!~^r4^FIaVowc2RSf>Cdp3=lk}uF(5dz@b>2 zZ@1~3@p*G*+|S7>p{dROi){JbU=(rS_rVFU6g{O9{}b?by&0g_o4?AhPn|3F59;|~nhDIR2)>_B) zSkzJ9>N6`^pN`yZFdd+ISJrL$XSfXxZNG}TN?R7WMT!1-WHUy|sUZv`*H$||Tc_f)WGO#MwJug?1`=%gY&6fS`=_$uLPf8=Ag{E&Q= z$wF-KyZ3Zbo%A#C8mRL=Rl@<(kHa$bBM>@n-zISKegd^)sG1AQ@LdF=Uv)M@FFyY} zI3M=I`EU&EU>v`Ogiy*${XBIG7eR;DL2djMYP%^6cRQiB40UBN+&bVq|D)as?Zo8S zq&gY!)?Nz-pc7&$?}DD&BAiO&otZ#C>6KZ&X>u`&XG7z?=YJb4!qGI&fqigRlKO!) z7K-g~ikVl!n2p8cJ!4JbG11m8*fHMJP^M>058t|ZDm&;;B(}!7HK)PAS~7Oj6wbJ~ zA3oN}b@$_C>LiM=Jy@#u`!wR~6P2kByf>-n)>+S``1@ee^{~-MX zZ0*EWC#yZ-CDRtdR@iQ8H{HoS8rzy!GG=#!jhS+{tCRW=ueVtFw5?7)9otq1ZmbTZ z+dk^*q^mRG<4K49Ctk-+$eu*T$BF3ntLwl)Go9Zp-gb{B6?c$#)gp{VIzZih&{$ps zPjNpsQ*LP?EwKvfx(nU~)7zC|2Zq0o zLPJ*c+u09$KCEKp-`uVJ*I~d% zhz9=zjkBW_GjPlgE`9aoX+&v+L(zH!YRLE)mk8NW3!lnf!1`>27!PaXEHpGAm%}og zj==5k5_njdaE*39alZps!k1OhGdhId3o6L(B{GYeczJCnf6`tOgB4zWzOCa(*y)q- zEAR-|6mw9#7RCx{*O2v2n1_$h5QFw;PRtW5t6zwK;Y(vaCuhSHy%c^1qqC5WvZ-H3 z%b-W6489LO4r zIEKPHu{V`;buhRsMfQ|B%m7I;fK%XYRFR_SO`Ca=!NU>>fdA?)VKr1eWE zY|C^WAf1&q4oBWgqaRlNY}AK`p@Z^L%7gE0Wp2$Ac#itRse3n^@*HiWqRKPtpl&Mg zW@~07*qoM6N<$g4_F`vj6}9 literal 0 HcmV?d00001 diff --git a/GetHip/Images-3.xcassets/Tab Icons/SettingsTab.imageset/Settings@3x.png b/GetHip/Images-3.xcassets/Tab Icons/SettingsTab.imageset/Settings@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..29afed17e2ef1af9a46bb207b79b9d93ff721dd4 GIT binary patch literal 3683 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 BEHD57 literal 0 HcmV?d00001 diff --git a/GetHip/Info.plist b/GetHip/Info.plist index 39b7897..70b8d19 100644 --- a/GetHip/Info.plist +++ b/GetHip/Info.plist @@ -35,7 +35,7 @@ CFBundleVersion - 2 + 3 FacebookAppID 1166375230058840 FacebookDisplayName diff --git a/GetHip/LoginController.swift b/GetHip/LoginController.swift index d7e9027..87fe011 100644 --- a/GetHip/LoginController.swift +++ b/GetHip/LoginController.swift @@ -19,7 +19,7 @@ class LoginController: UIViewController, PFLogInViewControllerDelegate, UITextFi @IBAction func loginBtnPressed(sender: UIButton){ //check if user logging in with email - if(contains(self.userEmailField.text!, "@")){ + if(contains(self.userEmailField.text!, "@") ){ let predicate: NSPredicate = NSPredicate(format: "(email = %@)", argumentArray: [self.userEmailField.text!]) var userQuery: PFQuery = PFQuery(className: "_User", predicate: predicate) @@ -32,10 +32,14 @@ class LoginController: UIViewController, PFLogInViewControllerDelegate, UITextFi PFUser.logInWithUsernameInBackground(object!.objectForKey("username") as! String, password: self.password.text!, block: { (user, error) -> Void in - if(user != nil){ - self.performSegueWithIdentifier("LoginToHomeSegue", sender: self) + if(user != nil || error == nil){ + //self.performSegueWithIdentifier("LoginToHomeSegue", sender: self) + let storyboard = UIStoryboard(name: "Main", bundle: nil) + let tabBarController = storyboard.instantiateViewControllerWithIdentifier("TabControllerVC") as! UITabBarController + let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate + appDelegate.window?.rootViewController = tabBarController }else{ - var alert = UIAlertController(title: "Invalid Login", message: "Your username/email or password is incorrect!", preferredStyle: .Alert) + var alert = UIAlertController(title: "Invalid Login", message: "Invalid email or password", preferredStyle: .Alert) alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)})) self.presentViewController(alert, animated: true, completion: nil) @@ -44,6 +48,10 @@ class LoginController: UIViewController, PFLogInViewControllerDelegate, UITextFi }) }) }else{ + let alert = UIAlertController(title: "Invalid Login", message: "Invalid email or password", preferredStyle: .Alert) + alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)})) + self.presentViewController(alert, animated: true, completion: nil) + /* PFUser.logInWithUsernameInBackground(userEmailField.text!, password: password.text!, block: { (user, error) -> Void in @@ -58,13 +66,13 @@ class LoginController: UIViewController, PFLogInViewControllerDelegate, UITextFi self.presentViewController(alert, animated: true, completion: nil) } }else{ - let alert = UIAlertController(title: "Network Error", message: error?.description, preferredStyle: .Alert) + let alert = UIAlertController(title: "Invalid Login", message: "Your username/email or password is incorrect!", preferredStyle: .Alert) alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)})) self.presentViewController(alert, animated: true, completion: nil) } - }) + })*/ } } @@ -73,7 +81,9 @@ class LoginController: UIViewController, PFLogInViewControllerDelegate, UITextFi self.performSegueWithIdentifier("signUpSegue", sender: self) } - + @IBAction func forgotPassBtn(sender: UIButton){ + self.performSegueWithIdentifier("ForgotPassSegue", sender: self) + } override func viewDidLoad() { super.viewDidLoad() @@ -85,6 +95,10 @@ class LoginController: UIViewController, PFLogInViewControllerDelegate, UITextFi presentLoggedInAlert() }*/ + let tapGesture = UITapGestureRecognizer(target: self, action: Selector("hideKeyboard")) + tapGesture.cancelsTouchesInView = true + self.view.addGestureRecognizer(tapGesture) + self.userEmailField.delegate = self self.password.delegate = self @@ -95,6 +109,10 @@ class LoginController: UIViewController, PFLogInViewControllerDelegate, UITextFi + } + + func hideKeyboard() { + self.view.endEditing(true) } override func didReceiveMemoryWarning() { diff --git a/GetHip/Main.storyboard b/GetHip/Main.storyboard index e4ea74b..18a2afd 100644 --- a/GetHip/Main.storyboard +++ b/GetHip/Main.storyboard @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@ - + @@ -72,6 +72,9 @@ + + + @@ -90,6 +93,7 @@ + @@ -110,6 +114,9 @@ + + + @@ -120,11 +127,12 @@ - + + @@ -140,48 +148,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -237,7 +262,8 @@ - + + @@ -245,11 +271,13 @@ + + @@ -293,7 +321,7 @@ - + @@ -501,17 +529,17 @@ - + - + - @@ -933,6 +982,7 @@ + @@ -943,6 +993,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -960,7 +1032,7 @@ - + @@ -969,11 +1041,11 @@ - + - + @@ -1111,6 +1183,7 @@ + @@ -1132,10 +1205,11 @@ - + + @@ -1158,17 +1232,29 @@ - + - - + + + - + @@ -1176,7 +1262,7 @@ - + @@ -1191,14 +1277,14 @@ - + - - @@ -1738,18 +1812,6 @@ - - - - - - - + + + + + + + @@ -1832,11 +1906,11 @@ - + - + @@ -1978,7 +2052,7 @@ - +