فهرست منبع

new Intro/login Created by Philippe Weidmann

marinofaggiana 5 سال پیش
والد
کامیت
47fc75f543
61فایلهای تغییر یافته به همراه346 افزوده شده و 2273 حذف شده
  1. 22 22
      Nextcloud.xcodeproj/project.pbxproj
  2. 44 21
      iOSClient/AppDelegate.m
  3. 0 318
      iOSClient/Brand/HC/HCEditProfile.swift
  4. 0 137
      iOSClient/Brand/HC/HCTrial.storyboard
  5. 0 123
      iOSClient/Brand/HC/HCTrial.swift
  6. 0 47
      iOSClient/Brand/Intro/CCIntro.h
  7. 0 378
      iOSClient/Brand/Intro/CCIntro.m
  8. 0 124
      iOSClient/Brand/Intro/HCIntroPage1.xib
  9. 0 162
      iOSClient/Brand/Intro/HCIntroPage2.xib
  10. 0 191
      iOSClient/Brand/Intro/HCIntroPage3.xib
  11. 0 517
      iOSClient/Brand/Intro/HCIntroPage4.xib
  12. 111 0
      iOSClient/Brand/Intro/Intro.storyboard
  13. 0 118
      iOSClient/Brand/Intro/IntroView.xib
  14. 138 0
      iOSClient/Brand/Intro/IntroViewController.swift
  15. 3 9
      iOSClient/Login/CCLogin.m
  16. 7 27
      iOSClient/Login/CCLogin.storyboard
  17. 21 17
      iOSClient/Login/NCLoginWeb.swift
  18. 0 2
      iOSClient/Main/CCSplit.h
  19. 0 60
      iOSClient/Main/CCSplit.m
  20. BIN
      iOSClient/Supporting Files/af.lproj/Localizable.strings
  21. BIN
      iOSClient/Supporting Files/ar.lproj/Localizable.strings
  22. BIN
      iOSClient/Supporting Files/ast.lproj/Localizable.strings
  23. BIN
      iOSClient/Supporting Files/az.lproj/Localizable.strings
  24. BIN
      iOSClient/Supporting Files/be.lproj/Localizable.strings
  25. BIN
      iOSClient/Supporting Files/bg_BG.lproj/Localizable.strings
  26. BIN
      iOSClient/Supporting Files/bn_BD.lproj/Localizable.strings
  27. BIN
      iOSClient/Supporting Files/bs.lproj/Localizable.strings
  28. BIN
      iOSClient/Supporting Files/cy_GB.lproj/Localizable.strings
  29. BIN
      iOSClient/Supporting Files/el.lproj/Localizable.strings
  30. BIN
      iOSClient/Supporting Files/eo.lproj/Localizable.strings
  31. BIN
      iOSClient/Supporting Files/es-AR.lproj/Localizable.strings
  32. BIN
      iOSClient/Supporting Files/et_EE.lproj/Localizable.strings
  33. BIN
      iOSClient/Supporting Files/eu.lproj/Localizable.strings
  34. BIN
      iOSClient/Supporting Files/fa.lproj/Localizable.strings
  35. BIN
      iOSClient/Supporting Files/fi-FI.lproj/Localizable.strings
  36. BIN
      iOSClient/Supporting Files/he.lproj/Localizable.strings
  37. BIN
      iOSClient/Supporting Files/hy.lproj/Localizable.strings
  38. BIN
      iOSClient/Supporting Files/ia.lproj/Localizable.strings
  39. BIN
      iOSClient/Supporting Files/id.lproj/Localizable.strings
  40. BIN
      iOSClient/Supporting Files/km.lproj/Localizable.strings
  41. BIN
      iOSClient/Supporting Files/kn.lproj/Localizable.strings
  42. BIN
      iOSClient/Supporting Files/lb.lproj/Localizable.strings
  43. BIN
      iOSClient/Supporting Files/lt_LT.lproj/Localizable.strings
  44. BIN
      iOSClient/Supporting Files/lv.lproj/Localizable.strings
  45. BIN
      iOSClient/Supporting Files/mk.lproj/Localizable.strings
  46. BIN
      iOSClient/Supporting Files/mn.lproj/Localizable.strings
  47. BIN
      iOSClient/Supporting Files/ms_MY.lproj/Localizable.strings
  48. BIN
      iOSClient/Supporting Files/nn_NO.lproj/Localizable.strings
  49. BIN
      iOSClient/Supporting Files/oc.lproj/Localizable.strings
  50. BIN
      iOSClient/Supporting Files/ro.lproj/Localizable.strings
  51. BIN
      iOSClient/Supporting Files/si_LK.lproj/Localizable.strings
  52. BIN
      iOSClient/Supporting Files/sl.lproj/Localizable.strings
  53. BIN
      iOSClient/Supporting Files/sq.lproj/Localizable.strings
  54. BIN
      iOSClient/Supporting Files/sr@latin.lproj/Localizable.strings
  55. BIN
      iOSClient/Supporting Files/ta_LK.lproj/Localizable.strings
  56. BIN
      iOSClient/Supporting Files/th_TH.lproj/Localizable.strings
  57. BIN
      iOSClient/Supporting Files/ug.lproj/Localizable.strings
  58. BIN
      iOSClient/Supporting Files/uk.lproj/Localizable.strings
  59. BIN
      iOSClient/Supporting Files/ur_PK.lproj/Localizable.strings
  60. BIN
      iOSClient/Supporting Files/vi.lproj/Localizable.strings
  61. BIN
      iOSClient/Supporting Files/zh_HK.lproj/Localizable.strings

+ 22 - 22
Nextcloud.xcodeproj/project.pbxproj

@@ -7,10 +7,6 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
-		375CF03E238282B8000F2B53 /* IntroCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 375CF03C238282B7000F2B53 /* IntroCollectionViewCell.swift */; };
-		375CF03F238282B8000F2B53 /* IntroCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 375CF03D238282B7000F2B53 /* IntroCollectionViewCell.xib */; };
-		379DC949237EF4DD008EC025 /* IntroView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 379DC948237EF4DD008EC025 /* IntroView.swift */; };
-		379DC94B237EF4EB008EC025 /* IntroView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 379DC94A237EF4EB008EC025 /* IntroView.xib */; };
 		F700222C1EC479840080073F /* Custom.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F700222B1EC479840080073F /* Custom.xcassets */; };
 		F700222D1EC479840080073F /* Custom.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F700222B1EC479840080073F /* Custom.xcassets */; };
 		F70022B31EC4C9100080073F /* OCActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = F70022671EC4C9100080073F /* OCActivity.m */; };
@@ -210,6 +206,10 @@
 		F745B251222D871800346520 /* QRCodeReader.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F745B250222D871800346520 /* QRCodeReader.framework */; };
 		F745B253222D88AE00346520 /* NCLoginQRCode.swift in Sources */ = {isa = PBXBuildFile; fileRef = F745B252222D88AE00346520 /* NCLoginQRCode.swift */; };
 		F747BA1F22354D2000971601 /* NCCreateFormUploadVoiceNote.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F747BA1E22354D2000971601 /* NCCreateFormUploadVoiceNote.storyboard */; };
+		F749C10B23C4A5340027D966 /* IntroCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F749C10723C4A5330027D966 /* IntroCollectionViewCell.swift */; };
+		F749C10C23C4A5340027D966 /* IntroViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F749C10823C4A5330027D966 /* IntroViewController.swift */; };
+		F749C10D23C4A5340027D966 /* Intro.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F749C10923C4A5330027D966 /* Intro.storyboard */; };
+		F749C10E23C4A5340027D966 /* IntroCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F749C10A23C4A5340027D966 /* IntroCollectionViewCell.xib */; };
 		F749E4E91DC1FB38009BA2FD /* Share.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = F7CE8AFB1DC1F8D8009CAE48 /* Share.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
 		F74AFCE922E8B025003DE61F /* FSCalendar.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F74AFCE822E8B024003DE61F /* FSCalendar.framework */; };
 		F74C4FBB2328C3C200A23E25 /* OpenSSL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F74C4FBA2328C3C100A23E25 /* OpenSSL.framework */; };
@@ -656,10 +656,6 @@
 		08EA97451E6554FC004C83FA /* FirebaseCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseCore.framework; sourceTree = "<group>"; };
 		08EA97461E6554FC004C83FA /* FirebaseInstanceID.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseInstanceID.framework; sourceTree = "<group>"; };
 		08EA97471E6554FC004C83FA /* GoogleToolboxForMac.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GoogleToolboxForMac.framework; sourceTree = "<group>"; };
-		375CF03C238282B7000F2B53 /* IntroCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntroCollectionViewCell.swift; sourceTree = "<group>"; };
-		375CF03D238282B7000F2B53 /* IntroCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = IntroCollectionViewCell.xib; sourceTree = "<group>"; };
-		379DC948237EF4DD008EC025 /* IntroView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntroView.swift; sourceTree = "<group>"; };
-		379DC94A237EF4EB008EC025 /* IntroView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = IntroView.xib; sourceTree = "<group>"; };
 		F700222B1EC479840080073F /* Custom.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Custom.xcassets; sourceTree = "<group>"; };
 		F70022661EC4C9100080073F /* OCActivity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCActivity.h; sourceTree = "<group>"; };
 		F70022671EC4C9100080073F /* OCActivity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OCActivity.m; sourceTree = "<group>"; };
@@ -871,6 +867,10 @@
 		F747BA1E22354D2000971601 /* NCCreateFormUploadVoiceNote.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = NCCreateFormUploadVoiceNote.storyboard; sourceTree = "<group>"; };
 		F7496B81208F5651004B299C /* iOSClient.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = iOSClient.plist; sourceTree = "<group>"; };
 		F7496B83208F5652004B299C /* Share.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Share.plist; sourceTree = "<group>"; };
+		F749C10723C4A5330027D966 /* IntroCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IntroCollectionViewCell.swift; sourceTree = "<group>"; };
+		F749C10823C4A5330027D966 /* IntroViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IntroViewController.swift; sourceTree = "<group>"; };
+		F749C10923C4A5330027D966 /* Intro.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Intro.storyboard; sourceTree = "<group>"; };
+		F749C10A23C4A5340027D966 /* IntroCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IntroCollectionViewCell.xib; sourceTree = "<group>"; };
 		F74AFCE822E8B024003DE61F /* FSCalendar.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FSCalendar.framework; path = Carthage/Build/iOS/FSCalendar.framework; sourceTree = "<group>"; };
 		F74C4FBA2328C3C100A23E25 /* OpenSSL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenSSL.framework; path = Carthage/Build/iOS/OpenSSL.framework; sourceTree = "<group>"; };
 		F74D3DBD1BAC1941000BAE4B /* OCNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCNetworking.h; sourceTree = "<group>"; };
@@ -1662,10 +1662,10 @@
 			isa = PBXGroup;
 			children = (
 				F710E80F1EF95C9C00DC2427 /* ImagesIntro.xcassets */,
-				379DC948237EF4DD008EC025 /* IntroView.swift */,
-				375CF03C238282B7000F2B53 /* IntroCollectionViewCell.swift */,
-				375CF03D238282B7000F2B53 /* IntroCollectionViewCell.xib */,
-				379DC94A237EF4EB008EC025 /* IntroView.xib */,
+				F749C10923C4A5330027D966 /* Intro.storyboard */,
+				F749C10723C4A5330027D966 /* IntroCollectionViewCell.swift */,
+				F749C10A23C4A5340027D966 /* IntroCollectionViewCell.xib */,
+				F749C10823C4A5330027D966 /* IntroViewController.swift */,
 			);
 			path = Intro;
 			sourceTree = "<group>";
@@ -3090,7 +3090,6 @@
 			buildActionMask = 2147483647;
 			files = (
 				F79728D422F96F2E003CACA7 /* NCShareLinkFolderMenuView.xib in Resources */,
-				375CF03F238282B8000F2B53 /* IntroCollectionViewCell.xib in Resources */,
 				F760F78421F21F61006B1A73 /* ColorCollectionViewCell.xib in Resources */,
 				F7362A1F220C853A005101B5 /* LaunchScreen.storyboard in Resources */,
 				F75ADF451DC75FFE008A7347 /* CCLogin.storyboard in Resources */,
@@ -3101,7 +3100,6 @@
 				F7F54CF51E5B14C700E19C62 /* PlayButtonOverlayLarge@2x.png in Resources */,
 				F77D49A91DC238E500CDC568 /* loading.gif in Resources */,
 				F77444F622281649000D5EB0 /* NCGridMediaCell.xib in Resources */,
-				379DC94B237EF4EB008EC025 /* IntroView.xib in Resources */,
 				F78ACD4421903CF20088454D /* NCListCell.xib in Resources */,
 				F78ACD4621903D010088454D /* NCGridCell.xib in Resources */,
 				F7F54CF91E5B14C700E19C62 /* PlayButtonOverlayLargeTap@3x.png in Resources */,
@@ -3154,6 +3152,7 @@
 				F760F78621F21F61006B1A73 /* LaunchScreen.storyboard in Resources */,
 				F7381EE5218218C9000B1560 /* NCOffline.storyboard in Resources */,
 				F769453E22E9E97E000A798A /* NCShareUserMenuView.xib in Resources */,
+				F749C10E23C4A5340027D966 /* IntroCollectionViewCell.xib in Resources */,
 				F7F54CF11E5B14C700E19C62 /* ImageSelectedSmallOn.png in Resources */,
 				F723B3DD22FC6D1D00301EFE /* NCShareCommentsCell.xib in Resources */,
 				F760F77C21F21F61006B1A73 /* StickersViewController.xib in Resources */,
@@ -3165,6 +3164,7 @@
 				F7F54CEE1E5B14C700E19C62 /* ImageSelectedSmallOff.png in Resources */,
 				F787704F22E7019900F287A9 /* NCShareLinkCell.xib in Resources */,
 				F760F79721F21F61006B1A73 /* StickerCollectionViewCell.xib in Resources */,
+				F749C10D23C4A5340027D966 /* Intro.storyboard in Resources */,
 				F747BA1F22354D2000971601 /* NCCreateFormUploadVoiceNote.storyboard in Resources */,
 				F73B4EF31F470D9100BBEE4B /* GB2312Freq.tab in Resources */,
 				F7B2DEF11F976859007CF4D2 /* english.txt in Resources */,
@@ -3445,7 +3445,6 @@
 				F73B4F0D1F470D9100BBEE4B /* nsLatin1Prober.cpp in Sources */,
 				F77B0DF51D118A16002130FE /* CCUtility.m in Sources */,
 				F762CB071EACB66200B38484 /* XLFormOptionsObject.m in Sources */,
-				375CF03E238282B8000F2B53 /* IntroCollectionViewCell.swift in Sources */,
 				F7C525A01E3B48B700FFE02C /* CCNotification.swift in Sources */,
 				F7F54D0E1E5B14C800E19C62 /* UIImage+MWPhotoBrowser.m in Sources */,
 				F7F54D091E5B14C800E19C62 /* MWPhoto.m in Sources */,
@@ -3508,6 +3507,7 @@
 				F758B460212C56A400515F55 /* ScanCollectionView.swift in Sources */,
 				F762CB021EACB66200B38484 /* XLFormSliderCell.m in Sources */,
 				F78ACD52219046DC0088454D /* NCSectionHeaderFooter.swift in Sources */,
+				F749C10C23C4A5340027D966 /* IntroViewController.swift in Sources */,
 				F77B0E1B1D118A16002130FE /* CCGraphics.m in Sources */,
 				F70022CB1EC4C9100080073F /* OCSharedDto.m in Sources */,
 				F7CA1ED320E7E3FE002CC65E /* PKStopDownloadButton.m in Sources */,
@@ -3600,6 +3600,7 @@
 				F754EECC21772B6100BB1CDF /* SectionHeader.swift in Sources */,
 				F7B174C822FAC0A8000B7579 /* AppDelegate.m in Sources */,
 				F73CC0751E813DFF006E3047 /* BKPasscodeViewController.m in Sources */,
+				F749C10B23C4A5340027D966 /* IntroCollectionViewCell.swift in Sources */,
 				F7DBC37F23325E2E001A85BA /* NCXMLGetAppPasswordParser.m in Sources */,
 				F750374D1DBFA91A008FB480 /* ALView+PureLayout.m in Sources */,
 				F7381EE1218218C9000B1560 /* NCOffline.swift in Sources */,
@@ -3656,7 +3657,6 @@
 				F7E0E1DC22327885006B0911 /* NCAudioRecorderViewController.swift in Sources */,
 				F70CAE3A1F8CF31A008125FD /* NCEndToEndEncryption.m in Sources */,
 				F7AE00F5230D5F9E007ACF8A /* NCLoginWeb.swift in Sources */,
-				379DC949237EF4DD008EC025 /* IntroView.swift in Sources */,
 				F73B4F0C1F470D9100BBEE4B /* nsHebrewProber.cpp in Sources */,
 				F762CAFB1EACB66200B38484 /* XLFormDatePickerCell.m in Sources */,
 				F762CB0F1EACB66200B38484 /* NSObject+XLFormAdditions.m in Sources */,
@@ -3809,7 +3809,7 @@
 				CODE_SIGN_ENTITLEMENTS = iOSClient/Brand/Share.entitlements;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				CURRENT_PROJECT_VERSION = 3;
+				CURRENT_PROJECT_VERSION = 4;
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -3853,7 +3853,7 @@
 				CODE_SIGN_ENTITLEMENTS = iOSClient/Brand/Share.entitlements;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				CURRENT_PROJECT_VERSION = 3;
+				CURRENT_PROJECT_VERSION = 4;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -3903,7 +3903,7 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 3;
+				CURRENT_PROJECT_VERSION = 4;
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -3953,7 +3953,7 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 3;
+				CURRENT_PROJECT_VERSION = 4;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -3995,7 +3995,7 @@
 				CODE_SIGN_ENTITLEMENTS = iOSClient/Brand/iOSClient.entitlements;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				CURRENT_PROJECT_VERSION = 3;
+				CURRENT_PROJECT_VERSION = 4;
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				ENABLE_BITCODE = YES;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -4042,7 +4042,7 @@
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				COPY_PHASE_STRIP = NO;
-				CURRENT_PROJECT_VERSION = 3;
+				CURRENT_PROJECT_VERSION = 4;
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
 				ENABLE_BITCODE = YES;
 				FRAMEWORK_SEARCH_PATHS = (

+ 44 - 21
iOSClient/AppDelegate.m

@@ -167,6 +167,22 @@ PKPushRegistry *pushRegistry;
         }
     }
     
+    if ([NCBrandOptions sharedInstance].disable_intro) {
+        [CCUtility setIntro:YES];
+        
+        if (self.activeAccount.length == 0) {
+            [self openLoginView:nil selector:k_intro_login openLoginWeb:false];
+        }
+    } else {
+        if ([CCUtility getIntro] == NO) {
+            UIViewController *introViewController = [[UIStoryboard storyboardWithName:@"Intro" bundle:[NSBundle mainBundle]] instantiateInitialViewController];
+            
+            UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController: introViewController];
+            self.window.rootViewController = navController;
+            [self.window makeKeyAndVisible];
+        }
+    }
+
     return YES;
 }
 
@@ -306,18 +322,14 @@ PKPushRegistry *pushRegistry;
 
 - (void)openLoginView:(UIViewController *)viewController selector:(NSInteger)selector openLoginWeb:(BOOL)openLoginWeb
 {
-    @synchronized (self) {
-
         // use appConfig [MDM]
         if ([NCBrandOptions sharedInstance].use_configuration) {
             
             if (!(_appConfigView.isViewLoaded && _appConfigView.view.window)) {
             
                 self.appConfigView = [[UIStoryboard storyboardWithName:@"CCLogin" bundle:nil] instantiateViewControllerWithIdentifier:@"NCAppConfigView"];
-                            
-                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
-                    [viewController presentViewController:self.appConfigView animated:YES completion:nil];
-                });
+                
+                [self showLoginViewController:self.appConfigView forContext:viewController];
             }
         
             return;
@@ -331,9 +343,7 @@ PKPushRegistry *pushRegistry;
                 self.activeLoginWeb = [[UIStoryboard storyboardWithName:@"CCLogin" bundle:nil] instantiateViewControllerWithIdentifier:@"NCLoginWeb"];
                 self.activeLoginWeb.urlBase = [[NCBrandOptions sharedInstance] loginBaseUrl];
 
-                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
-                    [viewController presentViewController:self.activeLoginWeb animated:YES completion:nil];
-                });
+                [self showLoginViewController:self.activeLoginWeb forContext:viewController];
             }
             
             return;
@@ -352,9 +362,7 @@ PKPushRegistry *pushRegistry;
                     self.activeLoginWeb.urlBase = self.activeUrl;
                 }
                 
-                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
-                    [viewController presentViewController:self.activeLoginWeb animated:YES completion:nil];
-                });
+               [self showLoginViewController:self.activeLoginWeb forContext:viewController];
             }
             
         } else if ([NCBrandOptions sharedInstance].disable_intro && [NCBrandOptions sharedInstance].disable_request_login_url) {
@@ -362,9 +370,7 @@ PKPushRegistry *pushRegistry;
             self.activeLoginWeb = [[UIStoryboard storyboardWithName:@"CCLogin" bundle:nil] instantiateViewControllerWithIdentifier:@"NCLoginWeb"];
             self.activeLoginWeb.urlBase = [[NCBrandOptions sharedInstance] loginBaseUrl];
             
-            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
-                [viewController presentViewController:self.activeLoginWeb animated:YES completion:nil];
-            });
+            [self showLoginViewController:self.activeLoginWeb forContext:viewController];
             
         } else if (openLoginWeb) {
             
@@ -372,9 +378,7 @@ PKPushRegistry *pushRegistry;
                 self.activeLoginWeb = [[UIStoryboard storyboardWithName:@"CCLogin" bundle:nil] instantiateViewControllerWithIdentifier:@"NCLoginWeb"];
                 self.activeLoginWeb.urlBase = self.activeUrl;
 
-                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
-                    [viewController presentViewController:self.activeLoginWeb animated:YES completion:nil];
-                });
+                [self showLoginViewController:self.activeLoginWeb forContext:viewController];
             }
             
         } else {
@@ -383,11 +387,30 @@ PKPushRegistry *pushRegistry;
                 
                 _activeLogin = [[UIStoryboard storyboardWithName:@"CCLogin" bundle:nil] instantiateViewControllerWithIdentifier:@"CCLoginNextcloud"];
                 
-                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
-                    [viewController presentViewController:_activeLogin animated:YES completion:nil];
-                });
+                [self showLoginViewController:_activeLogin forContext:viewController];
             }
         }
+}
+
+-(void)showLoginViewController:(UIViewController *)viewController forContext:(UIViewController *)contextViewController
+{
+    if (contextViewController == NULL) {
+        UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
+        navController.navigationBar.tintColor = NCBrandColor.sharedInstance.customerText;
+        navController.navigationBar.barTintColor = NCBrandColor.sharedInstance.customer;
+        self.window.rootViewController = navController;
+        [self.window makeKeyAndVisible];
+        
+    } else if ([contextViewController isKindOfClass:[UINavigationController class]]) {
+        UINavigationController *navController = ((UINavigationController *)contextViewController);
+        [navController pushViewController:viewController animated:true];
+        
+    } else {
+        UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
+        navController.modalPresentationStyle = UIModalPresentationFullScreen;
+        navController.navigationBar.tintColor = NCBrandColor.sharedInstance.customerText;
+        navController.navigationBar.barTintColor = NCBrandColor.sharedInstance.customer;
+        [contextViewController presentViewController:navController animated:true completion:nil];
     }
 }
 

+ 0 - 318
iOSClient/Brand/HC/HCEditProfile.swift

@@ -1,318 +0,0 @@
-//
-//  HCEditProfile.swift
-//  Nextcloud iOS
-//
-//  Created by Marino Faggiana on 17/04/19.
-//  Copyright (c) 2019 Marino Faggiana. All rights reserved.
-//
-//  Author Marino Faggiana <marino.faggiana@nextcloud.com>
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-
-import Foundation
-
-class HCEditProfile: XLFormViewController {
-    
-    let appDelegate = UIApplication.shared.delegate as! AppDelegate
-    var tableAccount: tableAccount!
-
-    required init(coder aDecoder: NSCoder) {
-        super.init(coder: aDecoder)
-    }
-    
-    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
-        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
-    }
-        
-    func initializeForm() {
-        
-        let form : XLFormDescriptor = XLFormDescriptor() as XLFormDescriptor
-        form.rowNavigationOptions = XLFormRowNavigationOptions.stopDisableRow
-        
-        var section : XLFormSectionDescriptor
-        var row : XLFormRowDescriptor
-
-        tableAccount = NCManageDatabase.sharedInstance.getAccountActive()
-        
-        section = XLFormSectionDescriptor.formSection()
-        form.addFormSection(section)
-        
-        row = XLFormRowDescriptor(tag: "userfullname", rowType: XLFormRowDescriptorTypeText, title: NSLocalizedString("_user_full_name_", comment: ""))
-        row.cellConfig["textLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.textAlignment"] = NSTextAlignment.right.rawValue
-        row.cellConfig["imageView.image"] = CCGraphics.changeThemingColorImage(UIImage.init(named: "user"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon)
-        row.value = tableAccount.displayName
-        if row.value == nil { row.value = "" }
-        section.addFormRow(row)
-
-        row = XLFormRowDescriptor(tag: "useraddress", rowType: XLFormRowDescriptorTypeText, title: NSLocalizedString("_user_address_", comment: ""))
-        row.cellConfig["textLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.textAlignment"] = NSTextAlignment.right.rawValue
-        row.cellConfig["imageView.image"] = CCGraphics.changeThemingColorImage(UIImage.init(named: "address"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon)
-        row.value = tableAccount.address
-        if row.value == nil { row.value = "" }
-        section.addFormRow(row)
-        
-        row = XLFormRowDescriptor(tag: "usercity", rowType: XLFormRowDescriptorTypeText, title: NSLocalizedString("_user_city_", comment: ""))
-        row.cellConfig["textLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.textAlignment"] = NSTextAlignment.right.rawValue
-        row.cellConfig["imageView.image"] = CCGraphics.changeThemingColorImage(UIImage.init(named: "city"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon)
-        row.value = tableAccount.city
-        if row.value == nil { row.value = "" }
-        section.addFormRow(row)
-        
-        row = XLFormRowDescriptor(tag: "userzip", rowType: XLFormRowDescriptorTypeZipCode, title: NSLocalizedString("_user_zip_", comment: ""))
-        row.cellConfig["textLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.textAlignment"] = NSTextAlignment.right.rawValue
-        row.cellConfig["imageView.image"] = CCGraphics.changeThemingColorImage(UIImage.init(named: "cityzip"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon)
-        row.value = tableAccount.zip
-        if row.value == nil { row.value = "" }
-        section.addFormRow(row)
-        
-        row = XLFormRowDescriptor(tag: "usercountry", rowType: XLFormRowDescriptorTypeSelectorPickerView, title: NSLocalizedString("_user_country_", comment: ""))
-        row.cellConfig["textLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["detailTextLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["imageView.image"] = CCGraphics.changeThemingColorImage(UIImage.init(named: "country"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon)
-        var locales = [String]()
-        for localeCode in NSLocale.isoCountryCodes {
-            let countryName = (Locale.current as NSLocale).displayName(forKey: .countryCode, value: localeCode) ?? ""
-            if localeCode == tableAccount.country {
-                row.value = countryName
-            }
-            locales.append(countryName)
-        }
-        row.selectorOptions = locales.sorted()
-        if row.value == nil { row.value = "" }
-        section.addFormRow(row)
-        
-        row = XLFormRowDescriptor(tag: "userphone", rowType: XLFormRowDescriptorTypePhone, title: NSLocalizedString("_user_phone_", comment: ""))
-        row.cellConfig["textLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.textAlignment"] = NSTextAlignment.right.rawValue
-        row.cellConfig["imageView.image"] = CCGraphics.changeThemingColorImage(UIImage.init(named: "phone"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon)
-        row.value = tableAccount.phone
-        if row.value == nil { row.value = "" }
-        section.addFormRow(row)
-        
-        row = XLFormRowDescriptor(tag: "useremail", rowType: XLFormRowDescriptorTypeEmail, title: NSLocalizedString("_user_email_", comment: ""))
-        row.cellConfig["textLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.textAlignment"] = NSTextAlignment.right.rawValue
-        row.cellConfig["imageView.image"] = CCGraphics.changeThemingColorImage(UIImage.init(named: "email"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon)
-        row.value = tableAccount.email
-        if row.value == nil { row.value = "" }
-        section.addFormRow(row)
-        
-        row = XLFormRowDescriptor(tag: "userweb", rowType: XLFormRowDescriptorTypeEmail, title: NSLocalizedString("_user_web_", comment: ""))
-        row.cellConfig["textLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.textAlignment"] = NSTextAlignment.right.rawValue
-        row.cellConfig["imageView.image"] = CCGraphics.changeThemingColorImage(UIImage.init(named: "web"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon)
-        row.value = tableAccount.webpage
-        if row.value == nil { row.value = "" }
-        section.addFormRow(row)
-        
-        row = XLFormRowDescriptor(tag: "usertwitter", rowType: XLFormRowDescriptorTypeTwitter, title: NSLocalizedString("_user_twitter_", comment: ""))
-        row.cellConfig["textLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.textAlignment"] = NSTextAlignment.right.rawValue
-        row.cellConfig["imageView.image"] = CCGraphics.changeThemingColorImage(UIImage.init(named: "twitter"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon)
-        row.value = tableAccount.twitter
-        if row.value == nil { row.value = "" }
-        section.addFormRow(row)
-        
-        row = XLFormRowDescriptor(tag: "userbusinesstype", rowType: XLFormRowDescriptorTypeMultipleSelector, title: NSLocalizedString("_user_businesstype_", comment: ""))
-        row.cellConfig["textLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["detailTextLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["imageView.image"] = CCGraphics.changeThemingColorImage(UIImage.init(named: "businesstype"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon)
-        row.selectorOptions = ["ARCHITECT", "BRICKLAYER", "CARPENTER", "ELECTRICIAN", "INSTALLER", "PAINTER", "PLUMBER", "ROOFER", "STOVEBUILDER","STUCCOER", "WINDOWBUILDER", "OTHER"]
-        row.value = tableAccount.businessType.components(separatedBy: ",")
-        if row.value == nil { row.value = "" }
-        section.addFormRow(row)
-        
-        row = XLFormRowDescriptor(tag: "userbusinesssize", rowType: XLFormRowDescriptorTypeSelectorPickerView, title: NSLocalizedString("_user_businesssize_", comment: ""))
-        row.cellConfig["textLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["detailTextLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["imageView.image"] = CCGraphics.changeThemingColorImage(UIImage.init(named: "users"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon)
-        row.selectorOptions = ["1-4", "5-9", "10-19", "20-49", "50-99", "100-249", "250-499", "500-999", "1000+"];
-        row.value = tableAccount.businessSize;
-        section.addFormRow(row)
-        
-        row = XLFormRowDescriptor(tag: "userrole", rowType: XLFormRowDescriptorTypeSelectorPickerView, title: NSLocalizedString("_user_role_", comment: ""))
-        row.cellConfig["textLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["detailTextLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["imageView.image"] = CCGraphics.changeThemingColorImage(UIImage.init(named: "role"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon)
-        row.selectorOptions = [NSLocalizedString("_user_owner_", comment: ""),NSLocalizedString("_user_employee_", comment: ""),NSLocalizedString("_user_contractor_", comment: "")];
-        if tableAccount.role == "owner" { row.value = NSLocalizedString("_user_owner_", comment: "") }
-        else if tableAccount.role == "employee" { row.value = NSLocalizedString("_user_employee_", comment: "") }
-        else if tableAccount.role == "contractor" { row.value = NSLocalizedString("_user_contractor_", comment: "") }
-        else { row.value = "" }
-        section.addFormRow(row)
-        
-        row = XLFormRowDescriptor(tag: "usercompany", rowType: XLFormRowDescriptorTypeText, title: NSLocalizedString("_user_company_", comment: ""))
-        row.cellConfig["textLabel.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.font"] = UIFont.systemFont(ofSize: 15.0)
-        row.cellConfig["textField.textAlignment"] = NSTextAlignment.right.rawValue
-        row.cellConfig["imageView.image"] = CCGraphics.changeThemingColorImage(UIImage.init(named: "company"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon)
-        row.value = tableAccount.company
-        if row.value == nil { row.value = "" }
-        section.addFormRow(row)
-        
-        self.form = form
-    }
-    
-    override func formRowDescriptorValueHasChanged(_ formRow: XLFormRowDescriptor!, oldValue: Any!, newValue: Any!) {
-        super.formRowDescriptorValueHasChanged(formRow, oldValue: oldValue, newValue: newValue)
-        
-    }
-    
-    // MARK: - View Life Cycle
-    
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        
-        self.navigationItem.title = NSLocalizedString("_user_editprofile_", comment: "")
-
-        self.navigationController?.navigationBar.isTranslucent = false
-        self.navigationController?.navigationBar.barTintColor = NCBrandColor.sharedInstance.brand
-        self.navigationController?.navigationBar.tintColor = NCBrandColor.sharedInstance.brandText
-        self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.foregroundColor: NCBrandColor.sharedInstance.brandText]
-        
-        self.navigationController?.interactivePopGestureRecognizer?.isEnabled = false
-        
-        self.navigationItem.setHidesBackButton(true, animated: false)
-        self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: NSLocalizedString("_save_", comment: ""), style: UIBarButtonItem.Style.plain, target: self, action: #selector(save))
-        self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: NSLocalizedString("_cancel_", comment: ""), style: UIBarButtonItem.Style.plain, target: self, action: #selector(cancel))
-       
-        self.tableView.separatorStyle = UITableViewCell.SeparatorStyle.none
-        self.tableView.backgroundColor = NCBrandColor.sharedInstance.backgroundView
-        self.tableView.showsVerticalScrollIndicator = false
-    
-        initializeForm()
-    }
-
-    @objc func cancel() {
-        self.navigationController?.popViewController(animated: true)
-        self.navigationController?.interactivePopGestureRecognizer?.isEnabled = true
-    }
-    
-    @objc func save() {
-        
-        NCUtility.sharedInstance.startActivityIndicator(view: self.view, bottom: 0)
-        
-        // Full name
-        if self.form.formRow(withTag: "userfullname")?.value == nil {
-            tableAccount.displayName = ""
-        } else {
-            tableAccount.displayName = self.form.formRow(withTag: "userfullname")?.value as! String
-        }
-
-        // Address
-        if self.form.formRow(withTag: "useraddress")?.value == nil {
-            tableAccount.address = ""
-        } else {
-            tableAccount.address = self.form.formRow(withTag: "useraddress")?.value as! String
-        }
-        
-        // City
-        if self.form.formRow(withTag: "usercity")?.value == nil {
-            tableAccount.city = ""
-        } else {
-            tableAccount.city = self.form.formRow(withTag: "usercity")?.value as! String
-        }
-        
-        // Zip
-        if self.form.formRow(withTag: "userzip")?.value == nil {
-            tableAccount.zip = ""
-        } else {
-            tableAccount.zip = self.form.formRow(withTag: "userzip")?.value as! String
-        }
-        
-        let countryNameRow = self.form.formRow(withTag: "usercountry")!.value as? String
-        for localeCode in NSLocale.isoCountryCodes {
-            let countryName = (Locale.current as NSLocale).displayName(forKey: .countryCode, value: localeCode) ?? ""
-            if countryNameRow == countryName {
-                tableAccount.country = localeCode
-                break
-            }
-        }
-        
-        // Phone
-        if self.form.formRow(withTag: "userphone")?.value == nil {
-            tableAccount.phone = ""
-        } else {
-            tableAccount.phone = self.form.formRow(withTag: "userphone")?.value as! String
-        }
-        
-        // Email
-        if self.form.formRow(withTag: "useremail")?.value == nil {
-            tableAccount.email = ""
-        } else {
-            tableAccount.email = self.form.formRow(withTag: "useremail")?.value as! String
-        }
-        
-        // Web
-        if self.form.formRow(withTag: "userweb")?.value == nil {
-            tableAccount.webpage = ""
-        } else {
-            tableAccount.webpage = self.form.formRow(withTag: "userweb")?.value as! String
-        }
-        
-        // Twitter
-        if self.form.formRow(withTag: "usertwitter")?.value == nil {
-            tableAccount.twitter = ""
-        } else {
-            tableAccount.twitter = self.form.formRow(withTag: "usertwitter")?.value as! String
-        }
-        
-        // Company
-        if self.form.formRow(withTag: "usercompany")?.value == nil {
-            tableAccount.company = ""
-        } else {
-            tableAccount.company = self.form.formRow(withTag: "usercompany")?.value as! String
-        }
-        
-        tableAccount.businessSize = self.form.formRow(withTag: "userbusinesssize")!.value as! String
-       
-        let roleRow = self.form.formRow(withTag: "userrole")!.value as! String
-        switch roleRow {
-        case NSLocalizedString("_user_owner_", comment: ""): tableAccount.role = "owner"
-        case NSLocalizedString("_user_employee_", comment: ""): tableAccount.role = "employee"
-        case NSLocalizedString("_user_contractor_", comment: ""): tableAccount.role = "contractor"
-        default: break
-        }
-        
-        let businesstypeArray = self.form.formRow(withTag: "userbusinesstype")!.value
-        tableAccount.businessType = (businesstypeArray as! [String]).joined(separator: ",")
-        if tableAccount.businessType.first == "," {
-           tableAccount.businessType.removeFirst()
-        }
-        
-        OCNetworking.sharedManager()?.putHCUserProfile(withAccount: appDelegate.activeAccount, serverUrl: appDelegate.activeUrl, address: tableAccount.address, businesssize: tableAccount.businessSize, businesstype: tableAccount.businessType, city: tableAccount.city, company: tableAccount.company, country: tableAccount.country, displayname: tableAccount.displayName, email: tableAccount.email, phone: tableAccount.phone, role_: tableAccount.role, twitter: tableAccount.twitter, website: tableAccount.webpage, zip: tableAccount.zip, completion: { (account, message, errorCode) in
-            if errorCode == 0 && account == self.appDelegate.activeAccount {
-                NCManageDatabase.sharedInstance.updateAccount(self.tableAccount)
-                self.navigationController?.popViewController(animated: true)
-                self.navigationController?.interactivePopGestureRecognizer?.isEnabled = true
-            } else if errorCode != 0 {
-                NCContentPresenter.shared.messageNotification("_error_", description: message, delay: TimeInterval(k_dismissAfterSecond), type: NCContentPresenter.messageType.error, errorCode: errorCode)
-            }
-            NCUtility.sharedInstance.stopActivityIndicator()
-        })
-    }
-}

+ 0 - 137
iOSClient/Brand/HC/HCTrial.storyboard

@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="W7Z-1w-RqI">
-    <device id="retina6_1" orientation="portrait">
-        <adaptation id="fullscreen"/>
-    </device>
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
-        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <scenes>
-        <!--Trial-->
-        <scene sceneID="mAE-mF-HRX">
-            <objects>
-                <viewController id="W7Z-1w-RqI" customClass="HCTrial" customModule="HandwerkCloud" customModuleProvider="target" sceneMemberID="viewController">
-                    <view key="view" contentMode="scaleToFill" id="bfO-12-Qa2">
-                        <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iSZ-gT-Nob" userLabel="ViewLogo">
-                                <rect key="frame" x="0.0" y="-1" width="414" height="124"/>
-                                <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="124" id="vc7-lt-wOO"/>
-                                </constraints>
-                            </view>
-                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="logo" translatesAutoresizingMaskIntoConstraints="NO" id="rd1-h0-uka">
-                                <rect key="frame" x="87" y="44" width="240" height="80"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="80" id="WfD-3k-EBW"/>
-                                    <constraint firstAttribute="width" constant="240" id="uSe-P6-QrY"/>
-                                </constraints>
-                            </imageView>
-                            <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="TITLE" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xOh-vB-ooy" userLabel="title">
-                                <rect key="frame" x="20" y="149" width="374" height="23"/>
-                                <fontDescription key="fontDescription" type="boldSystem" pointSize="19"/>
-                                <nil key="textColor"/>
-                                <nil key="highlightedColor"/>
-                            </label>
-                            <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" verticalCompressionResistancePriority="751" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" editable="NO" text="text" textAlignment="natural" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="I68-za-y7t">
-                                <rect key="frame" x="20" y="424" width="374" height="338"/>
-                                <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                                <fontDescription key="fontDescription" type="system" pointSize="18"/>
-                                <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
-                            </textView>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0f6-TI-C1a">
-                                <rect key="frame" x="0.0" y="792" width="414" height="70"/>
-                                <subviews>
-                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="kTn-ro-wKy" userLabel="purchase">
-                                        <rect key="frame" x="20" y="15" width="150" height="40"/>
-                                        <color key="backgroundColor" red="1" green="0.5" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="40" id="Y5p-eT-AyV"/>
-                                            <constraint firstAttribute="width" constant="150" id="qEr-a4-uqx"/>
-                                        </constraints>
-                                        <fontDescription key="fontDescription" type="system" pointSize="18"/>
-                                        <state key="normal" title="purchase">
-                                            <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                                        </state>
-                                        <connections>
-                                            <action selector="purchaseButtonTapped:" destination="W7Z-1w-RqI" eventType="touchUpInside" id="MYP-Eo-uQp"/>
-                                        </connections>
-                                    </button>
-                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9v6-PK-VGv" userLabel="continue">
-                                        <rect key="frame" x="244" y="15" width="150" height="40"/>
-                                        <color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="40" id="FLK-SD-cDb"/>
-                                            <constraint firstAttribute="width" constant="150" id="Sqh-66-j7c"/>
-                                        </constraints>
-                                        <state key="normal" title="continue">
-                                            <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                                        </state>
-                                        <connections>
-                                            <action selector="continueButtonTapped:" destination="W7Z-1w-RqI" eventType="touchUpInside" id="1CV-qn-Q1u"/>
-                                        </connections>
-                                    </button>
-                                </subviews>
-                                <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                                <constraints>
-                                    <constraint firstItem="kTn-ro-wKy" firstAttribute="leading" secondItem="0f6-TI-C1a" secondAttribute="leading" constant="20" id="ONj-v7-LpI"/>
-                                    <constraint firstItem="9v6-PK-VGv" firstAttribute="centerY" secondItem="0f6-TI-C1a" secondAttribute="centerY" id="RXE-Zd-lAY"/>
-                                    <constraint firstAttribute="height" constant="70" id="jbg-ca-wVK"/>
-                                    <constraint firstAttribute="trailing" secondItem="9v6-PK-VGv" secondAttribute="trailing" constant="20" id="llo-lE-93F"/>
-                                    <constraint firstItem="kTn-ro-wKy" firstAttribute="centerY" secondItem="0f6-TI-C1a" secondAttribute="centerY" id="rfe-cN-UUv"/>
-                                </constraints>
-                            </view>
-                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Cvh-w5-91I">
-                                <rect key="frame" x="107" y="174" width="200" height="200"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="200" id="28E-VP-EE4"/>
-                                    <constraint firstAttribute="width" constant="200" id="ogy-XL-ein"/>
-                                </constraints>
-                            </imageView>
-                        </subviews>
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                        <constraints>
-                            <constraint firstItem="I68-za-y7t" firstAttribute="leading" secondItem="N8Z-hD-26L" secondAttribute="leading" constant="20" id="2FU-Eh-oEc"/>
-                            <constraint firstItem="rd1-h0-uka" firstAttribute="centerX" secondItem="N8Z-hD-26L" secondAttribute="centerX" id="410-d0-S3c"/>
-                            <constraint firstItem="iSZ-gT-Nob" firstAttribute="leading" secondItem="N8Z-hD-26L" secondAttribute="leading" id="9ZR-lL-uyL"/>
-                            <constraint firstItem="xOh-vB-ooy" firstAttribute="leading" secondItem="N8Z-hD-26L" secondAttribute="leading" constant="20" id="B2A-1T-Kcx"/>
-                            <constraint firstItem="Cvh-w5-91I" firstAttribute="top" secondItem="rd1-h0-uka" secondAttribute="bottom" constant="50" id="CvE-sn-Iww"/>
-                            <constraint firstItem="rd1-h0-uka" firstAttribute="top" secondItem="N8Z-hD-26L" secondAttribute="top" id="EOs-4X-tqw"/>
-                            <constraint firstItem="N8Z-hD-26L" firstAttribute="trailing" secondItem="I68-za-y7t" secondAttribute="trailing" constant="20" id="FOw-Be-3va"/>
-                            <constraint firstItem="N8Z-hD-26L" firstAttribute="trailing" secondItem="xOh-vB-ooy" secondAttribute="trailing" constant="20" id="GAQ-gV-Gvt"/>
-                            <constraint firstItem="xOh-vB-ooy" firstAttribute="top" secondItem="rd1-h0-uka" secondAttribute="bottom" constant="25" id="JGH-An-NBZ"/>
-                            <constraint firstItem="0f6-TI-C1a" firstAttribute="top" secondItem="I68-za-y7t" secondAttribute="bottom" constant="30" id="PpB-wN-Ak4"/>
-                            <constraint firstItem="Cvh-w5-91I" firstAttribute="centerX" secondItem="N8Z-hD-26L" secondAttribute="centerX" id="S13-Gw-aUl"/>
-                            <constraint firstItem="iSZ-gT-Nob" firstAttribute="top" secondItem="N8Z-hD-26L" secondAttribute="top" constant="-45" id="be2-EY-olS"/>
-                            <constraint firstItem="I68-za-y7t" firstAttribute="top" secondItem="Cvh-w5-91I" secondAttribute="bottom" constant="50" id="idX-DZ-x3V"/>
-                            <constraint firstItem="0f6-TI-C1a" firstAttribute="leading" secondItem="N8Z-hD-26L" secondAttribute="leading" id="lHh-Gp-0QT"/>
-                            <constraint firstItem="N8Z-hD-26L" firstAttribute="trailing" secondItem="iSZ-gT-Nob" secondAttribute="trailing" id="nRg-rS-Z3X"/>
-                            <constraint firstItem="0f6-TI-C1a" firstAttribute="bottom" secondItem="N8Z-hD-26L" secondAttribute="bottom" id="tg0-zV-lP2"/>
-                            <constraint firstItem="N8Z-hD-26L" firstAttribute="trailing" secondItem="0f6-TI-C1a" secondAttribute="trailing" id="vfG-WP-N2B"/>
-                        </constraints>
-                        <viewLayoutGuide key="safeArea" id="N8Z-hD-26L"/>
-                    </view>
-                    <connections>
-                        <outlet property="continueButton" destination="9v6-PK-VGv" id="FPf-yf-n0H"/>
-                        <outlet property="imageTimer" destination="Cvh-w5-91I" id="g5b-lq-M3K"/>
-                        <outlet property="purchaseButton" destination="kTn-ro-wKy" id="fwV-Dz-quQ"/>
-                        <outlet property="purchaseLeadingConstraint" destination="ONj-v7-LpI" id="cqW-7T-4G0"/>
-                        <outlet property="textView" destination="I68-za-y7t" id="T2F-Id-nKI"/>
-                        <outlet property="titleLabel" destination="xOh-vB-ooy" id="z1S-WG-TBb"/>
-                        <outlet property="viewLogo" destination="iSZ-gT-Nob" id="r8J-lr-3TU"/>
-                    </connections>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="bPd-fi-3ye" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="108.69565217391305" y="20.758928571428569"/>
-        </scene>
-    </scenes>
-    <resources>
-        <image name="logo" width="454" height="89"/>
-    </resources>
-</document>

+ 0 - 123
iOSClient/Brand/HC/HCTrial.swift

@@ -1,123 +0,0 @@
-//
-//  HCTrial.swift
-//  HandwerkCloud
-//
-//  Created by Marino Faggiana on 28/04/2019.
-//  Copyright © 2019 TWS. All rights reserved.
-//
-
-import Foundation
-
-class HCTrial: UIViewController {
-    
-    @objc var account: tableAccount?
-    let appDelegate = UIApplication.shared.delegate as! AppDelegate
-
-    @IBOutlet weak var viewLogo: UIView!
-    @IBOutlet weak var titleLabel: UILabel!
-    @IBOutlet weak var imageTimer: UIImageView!
-    @IBOutlet weak var textView: UITextView!
-    @IBOutlet weak var purchaseButton: UIButton!
-    @IBOutlet weak var continueButton: UIButton!
-    @IBOutlet weak var purchaseLeadingConstraint: NSLayoutConstraint!
-
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        
-        let language = Locale.current.languageCode
-
-        view.backgroundColor = NCBrandColor.sharedInstance.brand
-        viewLogo.backgroundColor = NCBrandColor.sharedInstance.brand
-        //titleLabel.text = "HANDWERKCLOUD TRIAL"
-        
-        purchaseButton.layer.cornerRadius = 20
-        purchaseButton.clipsToBounds = true
-        purchaseButton.backgroundColor = UIColor.white //NCBrandColor.sharedInstance.brand
-        purchaseButton.setTitleColor(NCBrandColor.sharedInstance.brand, for: .normal)
-
-        purchaseButton.setTitle(NSLocalizedString("_purchase_", comment: ""), for: UIControl.State.normal)
-        
-        continueButton.layer.cornerRadius = 20
-        continueButton.clipsToBounds = true
-        continueButton.layer.borderWidth = 1
-        continueButton.layer.borderColor = UIColor.white.cgColor //NCBrandColor.sharedInstance.brand.cgColor
-        continueButton.backgroundColor = .clear
-        continueButton.setTitle(NSLocalizedString("_continue_", comment: ""), for: UIControl.State.normal)
-        
-        guard let account = account else {
-            return
-        }
-        
-        // Expired
-        
-        if account.hcNextGroupExpirationGroupExpired || account.hcTrialExpired {
-            
-            //let numberOfDays: Int = Int(account.hcAccountRemoveRemainingSec) / (24*3600)
-            
-            imageTimer.image = CCGraphics.changeThemingColorImage(UIImage(named: "timeroff"), width: 200, height: 200, color: .white)!
-            continueButton.isHidden = true
-            purchaseLeadingConstraint.constant = (self.view.bounds.width/2) - 75
-            
-            if language == "de" {
-                textView.text = "Vielen Dank, dass Sie sich für HandwerkCloud entschieden haben. Ihr Testzeitraum ist abgelaufen. Um HandwerkCloud weiterhin nutzen zu können, tippen Sie auf \"Kaufen\" oder besuchen Sie unsere Webseite."
-                //\n\nYot have \(numberOfDays) days remaining before your account and files are removed from HadwerkCloud."
-            } else if language == "it" {
-                textView.text = "Grazie per aver provato HandwerkCloud, il tuo periodo di prova è scaduto.\n\nPer continuare a utilizzare HandwerkCloud tocca il pulsante di acquisto o visita il sito Web."
-                //\n\nYot have \(numberOfDays) giorni rimanenti prima che il tuo account e i tuoi file siano rimossi da HadwerkCloud."
-            } else {
-                textView.text = "Thank you for trying HandwerkCloud, your trial has now expired.\n\nTo continue using HandwerkCloud tap the purchase button or visit the website."
-                //\n\nYot have \(numberOfDays) days remaining before your account and files are removed from HadwerkCloud."
-            }
-        }
-        
-        // Trial
-        
-        else if account.hcIsTrial {
-            
-            let numberOfDays: Int = Int(account.hcTrialRemainingSec) / (24*3600)
-            
-            imageTimer.image = CCGraphics.changeThemingColorImage(UIImage(named: "timer"), width: 200, height: 200, color: .white)!
-            textView.textAlignment = NSTextAlignment.center
-            purchaseLeadingConstraint.constant = 20
-            
-            if language == "de" {
-                if numberOfDays > 1 {
-                    textView.text = "Ihr Testzeitraum läuft in \(numberOfDays) Tagen ab."
-                } else {
-                    textView.text = "Ihr Testzeitraum läuft in 1 Tag ab."
-                }
-            } else if language == "it" {
-                if numberOfDays > 1 {
-                    textView.text = "Hai ancora \(numberOfDays) giorni rimasti di prova."
-                } else {
-                    textView.text = "Hai ancora 1 giorno rimasto di prova."
-                }
-            } else {
-                if numberOfDays > 1 {
-                    textView.text = "Yot have \(numberOfDays) days left in your trial."
-                } else {
-                    textView.text = "Yot have 1 day left in your trial."
-                }
-            }
-        }
-        
-        
-    }
-    
-    @IBAction func purchaseButtonTapped(_ sender: AnyObject) {
-
-        guard let capabilities = NCManageDatabase.sharedInstance.getCapabilites(account: appDelegate.activeAccount) else {
-            return
-        }
-        
-        if let url = URL(string: capabilities.HCShopUrl) {
-            UIApplication.shared.open(url, options: [:])
-        }
-
-        dismiss(animated: true, completion: nil)
-    }
-    
-    @IBAction func continueButtonTapped(_ sender: AnyObject) {
-        dismiss(animated: true, completion: nil)
-    }
-}

+ 0 - 47
iOSClient/Brand/Intro/CCIntro.h

@@ -1,47 +0,0 @@
-//
-//  CCIntro.h
-//  Nextcloud iOS
-//
-//  Created by Marino Faggiana on 05/11/15.
-//  Copyright (c) 2017 Marino Faggiana. All rights reserved.
-//
-//  Author Marino Faggiana <marino.faggiana@nextcloud.com>
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-
-#import <UIKit/UIKit.h>
-#import <EAIntroView/EAIntroView.h>
-
-#import "CCUtility.h"
-
-@protocol CCIntroDelegate;
-
-@interface CCIntro : UIView <EAIntroDelegate>
-
-- (id)initWithDelegate:(id <CCIntroDelegate>)delegate delegateView:(UIView *)delegateView;
-
-@property (nonatomic, strong) EAIntroView *intro;
-@property (nonatomic, weak) id <CCIntroDelegate> delegate;
-@property (nonatomic, strong) UIView *rootView;
-
-- (void)show;
-
-@end
-
-@protocol CCIntroDelegate <NSObject>
-
-- (void)introFinishSelector:(NSInteger)selector;
-
-@end

+ 0 - 378
iOSClient/Brand/Intro/CCIntro.m

@@ -1,378 +0,0 @@
-//
-//  CCIntro.m
-//  Nextcloud iOS
-//
-//  Created by Marino Faggiana on 05/11/15.
-//  Copyright (c) 2017 Marino Faggiana. All rights reserved.
-//
-//  Author Marino Faggiana <marino.faggiana@nextcloud.com>
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-
-#import "CCIntro.h"
-#import "AppDelegate.h"
-#import "NCBridgeSwift.h"
-#import <QuartzCore/QuartzCore.h>
-
-@interface CCIntro ()
-{
-    int safeAreaBottom;
-    int selector;
-    
-    NSMutableArray *professions;
-    EAIntroPage *page4;
-}
-@end
-
-@implementation CCIntro
-
-- (id)initWithDelegate:(id <CCIntroDelegate>)delegate delegateView:(UIView *)delegateView
-{
-    self = [super init];
-    
-    if (self) {
-        self.delegate = delegate;
-        self.rootView = delegateView;
-        
-        professions = [NSMutableArray new];
-    }
-
-    return self;
-}
-
-- (UIStatusBarStyle)preferredStatusBarStyle
-{
-    return UIStatusBarStyleLightContent;
-}
-
-- (void)introWillFinish:(EAIntroView *)introView wasSkipped:(BOOL)wasSkipped
-{
-    [self.delegate introFinishSelector:selector];
-}
-
-- (void)introDidFinish:(EAIntroView *)introView wasSkipped:(BOOL)wasSkipped
-{
-}
-
-- (void)show
-{
-    [self showIntro];
-}
-
-- (void)showIntro
-{
-    NSString *language = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0];
-
-    // SafeArea
-    
-    if (@available(iOS 11, *)) {
-        UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
-        if (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight) {
-            safeAreaBottom = [UIApplication sharedApplication].delegate.window.safeAreaInsets.right;
-        } else {
-            safeAreaBottom = [UIApplication sharedApplication].delegate.window.safeAreaInsets.bottom;
-        }
-    }
-    
-    // Pages
-    
-    EAIntroPage *page1 = [EAIntroPage pageWithCustomViewFromNibNamed:@"HCIntroPage1"];
-    UILabel *titlePage1 = (UILabel *)[page1.customView viewWithTag:1];
-    UILabel *label1Page1 = (UILabel *)[page1.customView viewWithTag:2];
-    UILabel *label2Page1 = (UILabel *)[page1.customView viewWithTag:3];
-    UILabel *label3Page1 = (UILabel *)[page1.customView viewWithTag:4];
-    UILabel *label4Page1 = (UILabel *)[page1.customView viewWithTag:5];
-
-    if ([language isEqualToString:@"de"]) {
-        titlePage1.text = @"HERZLICH WILLKOMMEN ZU IHRER PERSÖNLICHEN HANDWERKCLOUD!";
-        label1Page1.text = @"Sparen Sie effektiv Zeit in der Verwaltung und Organisation";
-        label2Page1.text = @"Die Daten in Ihrer Cloud sind immer und überall erreichbar";
-        label3Page1.text = @"Ihr Verwaltungsaufwand sinkt, während Ihre Effizienz steigt";
-        label4Page1.text = @"Bei Fragen unterstützen wir Sie jederzeit gerne";
-    } else if ([language isEqualToString:@"it"]) {
-        titlePage1.text = @"BENVENUTO SU HANDWERKCLOUD!";
-        label1Page1.text = @"Risparmia tempo in amministrazione e organizzazione";
-        label2Page1.text = @"I tuoi dati cloud sono disponibili ovunque e in qualsiasi momento";
-        label3Page1.text = @"Riduci le abbondanti attività amministrative e aumenta la produttività";
-        label4Page1.text = @"In caso di domande, saremo lieti di supportarti in qualsiasi momento";
-    } else {
-        titlePage1.text = @"WELCOME TO HANDWERKCLOUD!";
-        label1Page1.text = @"Save time in administration and organization";
-        label2Page1.text = @"Your cloud data is available anywhere and anytime";
-        label3Page1.text = @"Reduce abundant administrative tasks and increase your productivity";
-        label4Page1.text = @"If you have any questions, we‘ll be happy to support you at any time";
-    }
-    
-    EAIntroPage *page2 = [EAIntroPage pageWithCustomViewFromNibNamed:@"HCIntroPage2"];
-    UILabel *titlePage2 = (UILabel *)[page2.customView viewWithTag:1];
-    UILabel *label1Page2 = (UILabel *)[page2.customView viewWithTag:2];
-    UILabel *label2Page2 = (UILabel *)[page2.customView viewWithTag:3];
-    UILabel *label3Page2 = (UILabel *)[page2.customView viewWithTag:4];
-    UILabel *label4Page2 = (UILabel *)[page2.customView viewWithTag:5];
-    UILabel *label5Page2 = (UILabel *)[page2.customView viewWithTag:6];
-    UILabel *label6Page2 = (UILabel *)[page2.customView viewWithTag:7];
-
-    if ([language isEqualToString:@"de"]) {
-        titlePage2.text = @"DIE APP, DIE IHR HANDWERK VERSTEHT";
-        label1Page2.text = @"Zeitmanagement, Projektmanagement";
-        label2Page2.text = @"Digitales Aufmass";
-        label3Page2.text = @"Bestandswesen";
-        label4Page2.text = @"Datenverwaltung, Belegerfassung & -erkennung";
-        label5Page2.text = @"Kalender, Einsatzplanung";
-        label6Page2.text = @"Und vieles mehr";
-    } else if ([language isEqualToString:@"it"]) {
-        titlePage2.text = @"L' APP PER IL TUO ARTIGIANATO";
-        label1Page2.text = @"Gestione del tempo, gestione del progetto";
-        label2Page2.text = @"Misurazione fotometrica";
-        label3Page2.text = @"Gestione delle scorte";
-        label4Page2.text = @"Gestione dei dati";
-        label5Page2.text = @"Calendario, pianificazione delle risorse";
-        label6Page2.text = @"E molto di più";
-    } else {
-        titlePage2.text = @"THE APP FOR YOUR CRAFTSMANSHIP";
-        label1Page2.text = @"Time management, project management";
-        label2Page2.text = @"Photometric measurement";
-        label3Page2.text = @"Inventory management";
-        label4Page2.text = @"Data management";
-        label5Page2.text = @"Calendar, resource planning";
-        label6Page2.text = @"And a lot more";
-    }
-    
-    EAIntroPage *page3 = [EAIntroPage pageWithCustomViewFromNibNamed:@"HCIntroPage3"];
-    UILabel *titlePage3 = (UILabel *)[page3.customView viewWithTag:1];
-    UIView *viewPage3 = (UIView *)[page3.customView viewWithTag:2];
-    UILabel *label1Page3 = (UILabel *)[page3.customView viewWithTag:3];
-
-    viewPage3.backgroundColor = [[NCBrandColor sharedInstance] customer];
-    if ([language isEqualToString:@"de"]) {
-        titlePage3.text = @"FÜR ALLE GENAU DIE PASSENDE LÖSUNG";
-        label1Page3.text = @"Wählen Sie im nächsten Schritt Ihren Beruf aus, damit wir Ihnen personalisierte und genau auf Ihre Branche abgestimmte Inhalte zur Verfügung stellen können";
-    } else if ([language isEqualToString:@"it"]) {
-        titlePage3.text = @"LA SOLUZIONE PERFETTA PER TE";
-        label1Page3.text = @"Nella pagina successiva, scegli la tua professione in modo che possiamo fornirti contenuti personalizzati per il tuo settore";
-    } else {
-        titlePage3.text = @"THE PERFECT SOLUTION FOR YOU";
-        label1Page3.text = @"On the next page, please choose your profession so that we can provide you with personalised content for your industry";
-    }
-
-    page4 = [EAIntroPage pageWithCustomViewFromNibNamed:@"HCIntroPage4"];
-    
-    UILabel *titlePage4 = (UILabel *)[page4.customView viewWithTag:1];
-    if ([language isEqualToString:@"de"]) {
-        titlePage4.text = @"Wählen Sie Ihren Beruf";
-    } else if ([language isEqualToString:@"it"]) {
-        titlePage4.text = @"Scegli la tua professione";
-    } else {
-        titlePage4.text = @"Choose your profession";
-    }
-    
-    UIButton *buttonLogin = (UIButton *)[page4.customView viewWithTag:2];
-    buttonLogin.layer.cornerRadius = 20;
-    buttonLogin.clipsToBounds = YES;
-    [buttonLogin setTitle:NSLocalizedString(@"_ok_", nil) forState:UIControlStateNormal];
-    buttonLogin.backgroundColor = [[NCBrandColor sharedInstance] customer];
-    [buttonLogin addTarget:self action:@selector(login:) forControlEvents:UIControlEventTouchUpInside];
-
-    for(int tag = 100; tag < 1300; tag = tag + 100) {
-        
-        UIView *view = (UIView *)[page4.customView viewWithTag:tag];
-        view.layer.borderWidth = 1.0f;
-        view.layer.borderColor = [[NCBrandColor sharedInstance] brand].CGColor;
-        view.layer.cornerRadius = 10;
-        UILabel *label = (UILabel *)[page4.customView viewWithTag:tag+2];
-        label.text = [self returnProfession:tag language:language];
-        UIButton *button = (UIButton *)[page4.customView viewWithTag:tag+3];
-        [button addTarget:self action:@selector(selectProfession:) forControlEvents:UIControlEventTouchUpInside];
-    }
-    
-    // INTRO
-    
-    self.intro = [[EAIntroView alloc] initWithFrame:self.rootView.bounds andPages:@[page1,page2,page3,page4]];
-    //self.intro.bgImage = [UIImage imageNamed:@"introBackground"];
-    
-    self.intro.tapToNext = NO;
-    self.intro.pageControlY = safeAreaBottom + 40;
-    self.intro.pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
-    self.intro.pageControl.currentPageIndicatorTintColor = [[NCBrandColor sharedInstance] brand];
-    self.intro.pageControl.backgroundColor = [UIColor whiteColor];
-    self.intro.swipeToExit = NO ;
-    self.intro.skipButton = nil ;
-    self.intro.swipeToExit = NO;
-    
-    [self.intro setDelegate:self];
-    [self.intro showInView:self.rootView animateDuration:0];
-}
-
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark ===== Action =====
-#pragma --------------------------------------------------------------------------------------------
-
-- (IBAction)selectProfession:(UIButton *)sender
-{
-    NSInteger tag = sender.tag-3;
-    NSString *imageColor;
-    NSString *profession = [self returnProfession:tag language:@"en"];
-    
-    UIView *view = (UIView *)[page4.customView viewWithTag:tag];
-    UIImageView *imageView = (UIImageView *)[page4.customView viewWithTag:tag+1];
-    UILabel *label = (UILabel *)[page4.customView viewWithTag:tag+2];
-    
-    switch (tag) {
-        case 100:
-            imageColor = @"introCarpenter";
-            break;
-        case 200:
-            imageColor = @"introStovebuilder";
-            break;
-        case 300:
-            imageColor = @"introWindowbuilder";
-            break;
-        case 400:
-            imageColor = @"introInstaller";
-            break;
-        case 500:
-            imageColor = @"introElectrician";
-            break;
-        case 600:
-            imageColor = @"introPainter";
-            break;
-        case 700:
-            imageColor = @"introFlasher";
-            break;
-        case 800:
-            imageColor = @"introBricklayer";
-            break;
-        case 900:
-            imageColor = @"introRoofer";
-            break;
-        case 1000:
-            imageColor = @"introStuccoer";
-            break;
-        case 1100:
-            imageColor = @"introArchitect";
-            break;
-        case 1200:
-            imageColor = @"introOther";
-            break;
-        default:
-            break;
-    }
-    
-    if ([professions containsObject:profession]) {
-        [professions removeObject:profession];
-        view.backgroundColor = [UIColor clearColor];
-        label.textColor = [UIColor blackColor];
-        imageView.image = [UIImage imageNamed:imageColor];
-    } else {
-        [professions addObject:profession];
-        view.backgroundColor = [[NCBrandColor sharedInstance] brand];
-        label.textColor = [UIColor whiteColor];
-        imageView.image = [UIImage imageNamed:[imageColor stringByAppendingString:@"White"]];
-    }
-}
-
-- (IBAction)login:(UIButton *)sender
-{
-    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
-    
-    if (professions.count > 0) {
-        NSString *professionsString = [[professions componentsJoinedByString:@","] stringByReplacingOccurrencesOfString:@" " withString:@""];
-        [CCUtility setHCBusinessType:professionsString];
-        selector = k_intro_login;
-        [self.intro hideWithFadeOutDuration:0.7];
-    } else {
-        UILabel *titlePage4 = (UILabel *)[page4.customView viewWithTag:1];
-        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"_error_", nil) message:titlePage4.text preferredStyle:UIAlertControllerStyleAlert];
-        UIAlertAction *okAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"_ok_", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { }];
-        
-        [alertController addAction:okAction];
-        [appDelegate.window.rootViewController presentViewController:alertController animated:YES completion:nil];
-    }
-}
-
-- (void)host:(id)sender
-{
-    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
-    
-    NCBrowserWeb *browserWebVC = [[UIStoryboard storyboardWithName:@"NCBrowserWeb" bundle:nil] instantiateInitialViewController];
-    
-    browserWebVC.urlBase = [NCBrandOptions sharedInstance].linkLoginHost;
-    
-    [appDelegate.window.rootViewController presentViewController:browserWebVC animated:YES completion:nil];
-}
-
-- (NSString *)returnProfession:(NSInteger)tag language:(NSString *)language
-{
-    if ([language isEqualToString:@"de"]) {
-        if (tag == 100) return @"SCHREINER";
-        if (tag == 200) return @"OFENBAUER";
-        if (tag == 300) return @"FENSTERBAUER";
-        if (tag == 400) return @"INSTALLATEUR";
-        if (tag == 500) return @"ELEKTRIKER";
-        if (tag == 600) return @"MALER";
-        if (tag == 700) return @"FLASCHNER";
-        if (tag == 800) return @"MAURER";
-        if (tag == 900) return @"DACHDECKER";
-        if (tag == 1000) return @"STUCKATEUR";
-        if (tag == 1100) return @"ARCHITEKT";
-        if (tag == 1200) return @"SONSTIGES";
-    } else if ([language isEqualToString:@"it"]) {
-        if (tag == 100) return @"FALEGNAME";
-        if (tag == 200) return @"CAMINETTI";
-        if (tag == 300) return @"SERRAMENTI";
-        if (tag == 400) return @"INSTALLATORE";
-        if (tag == 500) return @"ELETTRICISTA";
-        if (tag == 600) return @"PITTORE";
-        if (tag == 700) return @"IDRAULICO";
-        if (tag == 800) return @"MURATORE";
-        if (tag == 900) return @"RIPARA TETTI";
-        if (tag == 1000) return @"STUCCATORE";
-        if (tag == 1100) return @"ARCHITETTO";
-        if (tag == 1200) return @"ALTRO";
-    } else {
-        if (tag == 100) return @"CARPENTER";
-        if (tag == 200) return @"STOVE BUILDER";
-        if (tag == 300) return @"WINDOW BUILDER";
-        if (tag == 400) return @"INSTALLER";
-        if (tag == 500) return @"ELECTRICIAN";
-        if (tag == 600) return @"PAINTER";
-        if (tag == 700) return @"PLUMBER";
-        if (tag == 800) return @"BRICK LAYER";
-        if (tag == 900) return @"ROOFER";
-        if (tag == 1000) return @"STUCCOER";
-        if (tag == 1100) return @"ARCHITECT";
-        if (tag == 1200) return @"OTHER";
-    }
-
-    return nil;
-}
-
-- (void)didStartLoading
-{
-}
-
-- (void)didReceiveServerRedirectForProvisionalNavigationWithUrl:(NSURL *)url
-{
-}
-
-- (void)didFinishLoadingWithSuccess:(BOOL)success url:(NSURL *)url
-{
-}
-
-- (void)webDismiss
-{
-}
-
-@end

+ 0 - 124
iOSClient/Brand/Intro/HCIntroPage1.xib

@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
-    <device id="retina4_7" orientation="portrait">
-        <adaptation id="fullscreen"/>
-    </device>
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
-        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
-        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <view contentMode="scaleToFill" id="iN0-l3-epB">
-            <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-            <subviews>
-                <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="IntroLogo" translatesAutoresizingMaskIntoConstraints="NO" id="uNZ-QO-lP2">
-                    <rect key="frame" x="0.0" y="40" width="375" height="50"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="50" id="OaH-Wu-GWz"/>
-                    </constraints>
-                </imageView>
-                <label opaque="NO" userInteractionEnabled="NO" tag="1" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="L3q-XE-osU">
-                    <rect key="frame" x="20" y="120" width="335" height="23"/>
-                    <fontDescription key="fontDescription" type="boldSystem" pointSize="19"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introTimesaving" translatesAutoresizingMaskIntoConstraints="NO" id="Rz3-ci-0lr">
-                    <rect key="frame" x="20" y="168" width="80" height="80"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="80" id="5Qc-Eu-U9W"/>
-                        <constraint firstAttribute="width" constant="80" id="LLQ-0q-AmN"/>
-                    </constraints>
-                </imageView>
-                <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introAvailability" translatesAutoresizingMaskIntoConstraints="NO" id="ad1-vR-xaH">
-                    <rect key="frame" x="20" y="263" width="80" height="80"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="80" id="I5Q-H9-m6c"/>
-                        <constraint firstAttribute="width" constant="80" id="O8d-Kv-mPt"/>
-                    </constraints>
-                </imageView>
-                <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introEconomical" translatesAutoresizingMaskIntoConstraints="NO" id="UBC-B3-eLR">
-                    <rect key="frame" x="20" y="358" width="80" height="80"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="80" id="EO2-pb-9BD"/>
-                        <constraint firstAttribute="width" constant="80" id="wC8-RJ-vov"/>
-                    </constraints>
-                </imageView>
-                <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introSupport" translatesAutoresizingMaskIntoConstraints="NO" id="sLj-S1-CIc">
-                    <rect key="frame" x="20" y="453" width="80" height="80"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="80" id="1NH-LX-IZ1"/>
-                        <constraint firstAttribute="width" constant="80" id="u3b-vl-IpW"/>
-                    </constraints>
-                </imageView>
-                <label opaque="NO" userInteractionEnabled="NO" tag="2" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jWp-JY-ttm">
-                    <rect key="frame" x="120" y="199" width="205" height="18"/>
-                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <label opaque="NO" userInteractionEnabled="NO" tag="3" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="3" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QIj-1q-AwA">
-                    <rect key="frame" x="120" y="294" width="235" height="18"/>
-                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <label opaque="NO" userInteractionEnabled="NO" tag="4" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="4" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sRL-d7-b8K">
-                    <rect key="frame" x="120" y="389" width="235" height="18"/>
-                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <label opaque="NO" userInteractionEnabled="NO" tag="5" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="5" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WkP-vj-cwH">
-                    <rect key="frame" x="120" y="484" width="235" height="18"/>
-                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-            </subviews>
-            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-            <constraints>
-                <constraint firstItem="Rz3-ci-0lr" firstAttribute="firstBaseline" secondItem="L3q-XE-osU" secondAttribute="baseline" constant="30" id="7BW-m7-uHT"/>
-                <constraint firstItem="ad1-vR-xaH" firstAttribute="top" secondItem="Rz3-ci-0lr" secondAttribute="bottom" constant="15" id="8PN-o8-Ggx"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="jWp-JY-ttm" secondAttribute="trailing" constant="50" id="CMJ-Ci-Eei"/>
-                <constraint firstItem="sLj-S1-CIc" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="20" id="FyX-fX-Iit"/>
-                <constraint firstItem="WkP-vj-cwH" firstAttribute="centerY" secondItem="sLj-S1-CIc" secondAttribute="centerY" id="G6I-gr-ZO7"/>
-                <constraint firstItem="L3q-XE-osU" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="20" id="GZq-FZ-w17"/>
-                <constraint firstItem="UBC-B3-eLR" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="20" id="GmR-S0-NxO"/>
-                <constraint firstItem="sLj-S1-CIc" firstAttribute="top" secondItem="UBC-B3-eLR" secondAttribute="bottom" constant="15" id="IYc-lG-8We"/>
-                <constraint firstItem="uNZ-QO-lP2" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="JAO-sq-byA"/>
-                <constraint firstItem="jWp-JY-ttm" firstAttribute="centerY" secondItem="Rz3-ci-0lr" secondAttribute="centerY" id="JpS-Qk-G9T"/>
-                <constraint firstItem="QIj-1q-AwA" firstAttribute="centerY" secondItem="ad1-vR-xaH" secondAttribute="centerY" id="OdZ-5z-SNO"/>
-                <constraint firstItem="QIj-1q-AwA" firstAttribute="leading" secondItem="ad1-vR-xaH" secondAttribute="trailing" constant="20" id="SEE-P2-3ji"/>
-                <constraint firstItem="L3q-XE-osU" firstAttribute="top" secondItem="uNZ-QO-lP2" secondAttribute="bottom" constant="30" id="UH2-j8-7bV"/>
-                <constraint firstItem="ad1-vR-xaH" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="20" id="VoA-a1-QR2"/>
-                <constraint firstItem="sRL-d7-b8K" firstAttribute="leading" secondItem="UBC-B3-eLR" secondAttribute="trailing" constant="20" id="Zzc-1S-Voc"/>
-                <constraint firstItem="WkP-vj-cwH" firstAttribute="leading" secondItem="sLj-S1-CIc" secondAttribute="trailing" constant="20" id="ceC-Lv-rna"/>
-                <constraint firstItem="UBC-B3-eLR" firstAttribute="top" secondItem="ad1-vR-xaH" secondAttribute="bottom" constant="15" id="ciO-bJ-vvj"/>
-                <constraint firstItem="Rz3-ci-0lr" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="20" id="e10-VW-5DV"/>
-                <constraint firstItem="sRL-d7-b8K" firstAttribute="centerY" secondItem="UBC-B3-eLR" secondAttribute="centerY" id="gzx-P7-4On"/>
-                <constraint firstItem="jWp-JY-ttm" firstAttribute="leading" secondItem="Rz3-ci-0lr" secondAttribute="trailing" constant="20" id="hYt-Sh-5uL"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="uNZ-QO-lP2" secondAttribute="trailing" id="hsb-fQ-Vbz"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="QIj-1q-AwA" secondAttribute="trailing" constant="20" id="rcP-Z3-hiC"/>
-                <constraint firstItem="uNZ-QO-lP2" firstAttribute="top" secondItem="vUN-kp-3ea" secondAttribute="top" constant="20" id="thh-1V-qXI"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="WkP-vj-cwH" secondAttribute="trailing" constant="20" id="u3S-Fg-XXv"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="L3q-XE-osU" secondAttribute="trailing" constant="20" id="wyf-Yc-CDW"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="sRL-d7-b8K" secondAttribute="trailing" constant="20" id="zdR-Wc-VIu"/>
-            </constraints>
-            <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
-            <point key="canvasLocation" x="39.200000000000003" y="46.326836581709152"/>
-        </view>
-    </objects>
-    <resources>
-        <image name="IntroLogo" width="925" height="207"/>
-        <image name="introAvailability" width="300" height="300"/>
-        <image name="introEconomical" width="300" height="300"/>
-        <image name="introSupport" width="300" height="300"/>
-        <image name="introTimesaving" width="300" height="300"/>
-    </resources>
-</document>

+ 0 - 162
iOSClient/Brand/Intro/HCIntroPage2.xib

@@ -1,162 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
-    <device id="retina4_7" orientation="portrait">
-        <adaptation id="fullscreen"/>
-    </device>
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
-        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
-        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <view contentMode="scaleToFill" id="iN0-l3-epB">
-            <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-            <subviews>
-                <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="IntroLogo" translatesAutoresizingMaskIntoConstraints="NO" id="uNZ-QO-lP2">
-                    <rect key="frame" x="0.0" y="40" width="375" height="50"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="50" id="OaH-Wu-GWz"/>
-                    </constraints>
-                </imageView>
-                <label opaque="NO" userInteractionEnabled="NO" tag="1" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="L3q-XE-osU">
-                    <rect key="frame" x="20" y="120" width="335" height="23"/>
-                    <fontDescription key="fontDescription" type="boldSystem" pointSize="19"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introTimemanagement" translatesAutoresizingMaskIntoConstraints="NO" id="Rz3-ci-0lr">
-                    <rect key="frame" x="20" y="168" width="80" height="80"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="80" id="5Qc-Eu-U9W"/>
-                        <constraint firstAttribute="width" constant="80" id="LLQ-0q-AmN"/>
-                    </constraints>
-                </imageView>
-                <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introImagemeterapp" translatesAutoresizingMaskIntoConstraints="NO" id="ad1-vR-xaH">
-                    <rect key="frame" x="20" y="248" width="80" height="80"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="80" id="I5Q-H9-m6c"/>
-                        <constraint firstAttribute="width" constant="80" id="O8d-Kv-mPt"/>
-                    </constraints>
-                </imageView>
-                <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introInventory" translatesAutoresizingMaskIntoConstraints="NO" id="UBC-B3-eLR">
-                    <rect key="frame" x="20" y="328" width="80" height="80"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="80" id="EO2-pb-9BD"/>
-                        <constraint firstAttribute="width" constant="80" id="wC8-RJ-vov"/>
-                    </constraints>
-                </imageView>
-                <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introDocumentmanagement" translatesAutoresizingMaskIntoConstraints="NO" id="sLj-S1-CIc">
-                    <rect key="frame" x="20" y="408" width="80" height="80"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="80" id="1NH-LX-IZ1"/>
-                        <constraint firstAttribute="width" constant="80" id="u3b-vl-IpW"/>
-                    </constraints>
-                </imageView>
-                <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introCalendar" translatesAutoresizingMaskIntoConstraints="NO" id="E5a-15-noK">
-                    <rect key="frame" x="20" y="488" width="80" height="80"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="80" id="LAM-l3-R5W"/>
-                        <constraint firstAttribute="height" constant="80" id="NAm-gb-8g7"/>
-                    </constraints>
-                </imageView>
-                <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introPlus" translatesAutoresizingMaskIntoConstraints="NO" id="8q8-cB-t08">
-                    <rect key="frame" x="40" y="583" width="40" height="40"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="40" id="Kyi-wa-ea2"/>
-                        <constraint firstAttribute="height" constant="40" id="gas-eg-q4o"/>
-                    </constraints>
-                </imageView>
-                <label opaque="NO" userInteractionEnabled="NO" tag="2" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jWp-JY-ttm">
-                    <rect key="frame" x="120" y="199" width="205" height="18"/>
-                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <label opaque="NO" userInteractionEnabled="NO" tag="3" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="3" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QIj-1q-AwA">
-                    <rect key="frame" x="120" y="279" width="235" height="18"/>
-                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <label opaque="NO" userInteractionEnabled="NO" tag="4" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="4" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sRL-d7-b8K">
-                    <rect key="frame" x="120" y="359" width="235" height="18"/>
-                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <label opaque="NO" userInteractionEnabled="NO" tag="5" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="5" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WkP-vj-cwH">
-                    <rect key="frame" x="120" y="439" width="235" height="18"/>
-                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <label opaque="NO" userInteractionEnabled="NO" tag="6" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="6" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hU9-6x-YTU">
-                    <rect key="frame" x="120" y="519" width="235" height="18"/>
-                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <label opaque="NO" userInteractionEnabled="NO" tag="7" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="7" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GDy-sy-4Ha">
-                    <rect key="frame" x="120" y="594" width="235" height="18"/>
-                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-            </subviews>
-            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-            <constraints>
-                <constraint firstItem="Rz3-ci-0lr" firstAttribute="firstBaseline" secondItem="L3q-XE-osU" secondAttribute="baseline" constant="30" id="7BW-m7-uHT"/>
-                <constraint firstItem="E5a-15-noK" firstAttribute="top" secondItem="sLj-S1-CIc" secondAttribute="bottom" id="7dr-z9-Zsp"/>
-                <constraint firstItem="ad1-vR-xaH" firstAttribute="top" secondItem="Rz3-ci-0lr" secondAttribute="bottom" id="8PN-o8-Ggx"/>
-                <constraint firstItem="8q8-cB-t08" firstAttribute="top" secondItem="E5a-15-noK" secondAttribute="bottom" constant="15" id="9lW-Pk-YKN"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="jWp-JY-ttm" secondAttribute="trailing" constant="50" id="CMJ-Ci-Eei"/>
-                <constraint firstItem="sLj-S1-CIc" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="20" id="FyX-fX-Iit"/>
-                <constraint firstItem="WkP-vj-cwH" firstAttribute="centerY" secondItem="sLj-S1-CIc" secondAttribute="centerY" id="G6I-gr-ZO7"/>
-                <constraint firstItem="L3q-XE-osU" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="20" id="GZq-FZ-w17"/>
-                <constraint firstItem="UBC-B3-eLR" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="20" id="GmR-S0-NxO"/>
-                <constraint firstItem="sLj-S1-CIc" firstAttribute="top" secondItem="UBC-B3-eLR" secondAttribute="bottom" id="IYc-lG-8We"/>
-                <constraint firstItem="uNZ-QO-lP2" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="JAO-sq-byA"/>
-                <constraint firstItem="jWp-JY-ttm" firstAttribute="centerY" secondItem="Rz3-ci-0lr" secondAttribute="centerY" id="JpS-Qk-G9T"/>
-                <constraint firstItem="QIj-1q-AwA" firstAttribute="centerY" secondItem="ad1-vR-xaH" secondAttribute="centerY" id="OdZ-5z-SNO"/>
-                <constraint firstItem="QIj-1q-AwA" firstAttribute="leading" secondItem="ad1-vR-xaH" secondAttribute="trailing" constant="20" id="SEE-P2-3ji"/>
-                <constraint firstItem="L3q-XE-osU" firstAttribute="top" secondItem="uNZ-QO-lP2" secondAttribute="bottom" constant="30" id="UH2-j8-7bV"/>
-                <constraint firstItem="GDy-sy-4Ha" firstAttribute="leading" secondItem="8q8-cB-t08" secondAttribute="trailing" constant="40" id="VCl-ga-wJa"/>
-                <constraint firstItem="ad1-vR-xaH" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="20" id="VoA-a1-QR2"/>
-                <constraint firstItem="sRL-d7-b8K" firstAttribute="leading" secondItem="UBC-B3-eLR" secondAttribute="trailing" constant="20" id="Zzc-1S-Voc"/>
-                <constraint firstItem="8q8-cB-t08" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="40" id="bjb-Fk-dkN"/>
-                <constraint firstItem="WkP-vj-cwH" firstAttribute="leading" secondItem="sLj-S1-CIc" secondAttribute="trailing" constant="20" id="ceC-Lv-rna"/>
-                <constraint firstItem="UBC-B3-eLR" firstAttribute="top" secondItem="ad1-vR-xaH" secondAttribute="bottom" id="ciO-bJ-vvj"/>
-                <constraint firstItem="E5a-15-noK" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="20" id="dMZ-Vp-1MX"/>
-                <constraint firstItem="Rz3-ci-0lr" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="20" id="e10-VW-5DV"/>
-                <constraint firstItem="sRL-d7-b8K" firstAttribute="centerY" secondItem="UBC-B3-eLR" secondAttribute="centerY" id="gzx-P7-4On"/>
-                <constraint firstItem="jWp-JY-ttm" firstAttribute="leading" secondItem="Rz3-ci-0lr" secondAttribute="trailing" constant="20" id="hYt-Sh-5uL"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="uNZ-QO-lP2" secondAttribute="trailing" id="hsb-fQ-Vbz"/>
-                <constraint firstItem="GDy-sy-4Ha" firstAttribute="centerY" secondItem="8q8-cB-t08" secondAttribute="centerY" id="lCG-Qs-edv"/>
-                <constraint firstItem="hU9-6x-YTU" firstAttribute="leading" secondItem="E5a-15-noK" secondAttribute="trailing" constant="20" id="op1-XE-3MK"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="QIj-1q-AwA" secondAttribute="trailing" constant="20" id="rcP-Z3-hiC"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="GDy-sy-4Ha" secondAttribute="trailing" constant="20" id="seQ-ic-i81"/>
-                <constraint firstItem="uNZ-QO-lP2" firstAttribute="top" secondItem="vUN-kp-3ea" secondAttribute="top" constant="20" id="thh-1V-qXI"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="WkP-vj-cwH" secondAttribute="trailing" constant="20" id="u3S-Fg-XXv"/>
-                <constraint firstItem="hU9-6x-YTU" firstAttribute="centerY" secondItem="E5a-15-noK" secondAttribute="centerY" id="vhs-a8-6Bb"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="L3q-XE-osU" secondAttribute="trailing" constant="20" id="wyf-Yc-CDW"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="hU9-6x-YTU" secondAttribute="trailing" constant="20" id="xES-yq-hVJ"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="sRL-d7-b8K" secondAttribute="trailing" constant="20" id="zdR-Wc-VIu"/>
-            </constraints>
-            <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
-            <point key="canvasLocation" x="39.200000000000003" y="46.326836581709152"/>
-        </view>
-    </objects>
-    <resources>
-        <image name="IntroLogo" width="925" height="207"/>
-        <image name="introCalendar" width="300" height="300"/>
-        <image name="introDocumentmanagement" width="300" height="300"/>
-        <image name="introImagemeterapp" width="300" height="300"/>
-        <image name="introInventory" width="300" height="300"/>
-        <image name="introPlus" width="300" height="300"/>
-        <image name="introTimemanagement" width="300" height="300"/>
-    </resources>
-</document>

+ 0 - 191
iOSClient/Brand/Intro/HCIntroPage3.xib

@@ -1,191 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
-    <device id="retina4_7" orientation="portrait">
-        <adaptation id="fullscreen"/>
-    </device>
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
-        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
-        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <view contentMode="scaleToFill" id="iN0-l3-epB">
-            <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-            <subviews>
-                <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="IntroLogo" translatesAutoresizingMaskIntoConstraints="NO" id="uNZ-QO-lP2">
-                    <rect key="frame" x="0.0" y="40" width="375" height="50"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="50" id="OaH-Wu-GWz"/>
-                    </constraints>
-                </imageView>
-                <label opaque="NO" userInteractionEnabled="NO" tag="1" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="L3q-XE-osU">
-                    <rect key="frame" x="20" y="120" width="335" height="23"/>
-                    <fontDescription key="fontDescription" type="boldSystem" pointSize="19"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <view tag="2" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kAX-vz-FzP">
-                    <rect key="frame" x="37.5" y="193" width="300" height="100"/>
-                    <subviews>
-                        <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introCarpenterWhite" translatesAutoresizingMaskIntoConstraints="NO" id="lTr-6p-Fze">
-                            <rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="50" id="bdi-en-wWh"/>
-                                <constraint firstAttribute="width" constant="50" id="eaf-gI-5JI"/>
-                            </constraints>
-                        </imageView>
-                        <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introPainterWhite" translatesAutoresizingMaskIntoConstraints="NO" id="X0P-Qp-BGf">
-                            <rect key="frame" x="50" y="0.0" width="50" height="50"/>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="50" id="ink-6r-jKX"/>
-                                <constraint firstAttribute="height" constant="50" id="qIl-Rn-gNW"/>
-                            </constraints>
-                        </imageView>
-                        <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introStovebuilderWhite" translatesAutoresizingMaskIntoConstraints="NO" id="LLY-xG-RZd">
-                            <rect key="frame" x="100" y="0.0" width="50" height="50"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="50" id="69D-XZ-A3j"/>
-                                <constraint firstAttribute="width" constant="50" id="xek-eK-2fT"/>
-                            </constraints>
-                        </imageView>
-                        <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introRooferWhite" translatesAutoresizingMaskIntoConstraints="NO" id="hMk-rN-kcK">
-                            <rect key="frame" x="150" y="0.0" width="50" height="50"/>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="50" id="p8N-eW-AEB"/>
-                                <constraint firstAttribute="height" constant="50" id="uqJ-4t-IFw"/>
-                            </constraints>
-                        </imageView>
-                        <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introElectricianWhite" translatesAutoresizingMaskIntoConstraints="NO" id="uuN-T2-ioD">
-                            <rect key="frame" x="200" y="0.0" width="50" height="50"/>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="50" id="8Iz-1b-aUd"/>
-                                <constraint firstAttribute="height" constant="50" id="vPY-E5-xa4"/>
-                            </constraints>
-                        </imageView>
-                        <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introFlasherWhite" translatesAutoresizingMaskIntoConstraints="NO" id="yMh-d7-4Td">
-                            <rect key="frame" x="250" y="0.0" width="50" height="50"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="50" id="8sZ-58-lxU"/>
-                                <constraint firstAttribute="width" constant="50" id="wae-52-rfX"/>
-                            </constraints>
-                        </imageView>
-                        <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introInstallerWhite" translatesAutoresizingMaskIntoConstraints="NO" id="ZQv-iZ-J33">
-                            <rect key="frame" x="0.0" y="50" width="50" height="50"/>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="50" id="N2R-7e-nle"/>
-                                <constraint firstAttribute="height" constant="50" id="STm-IZ-KEs"/>
-                            </constraints>
-                        </imageView>
-                        <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introArchitectWhite" translatesAutoresizingMaskIntoConstraints="NO" id="3VH-Gh-Uz4">
-                            <rect key="frame" x="50" y="50" width="50" height="50"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="50" id="MfN-O1-Ywn"/>
-                                <constraint firstAttribute="width" constant="50" id="nor-sl-Dbo"/>
-                            </constraints>
-                        </imageView>
-                        <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="IntroFacadeBuilderWhite" translatesAutoresizingMaskIntoConstraints="NO" id="rRC-gL-9F2">
-                            <rect key="frame" x="100" y="50" width="50" height="50"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="50" id="fsq-YV-ax1"/>
-                                <constraint firstAttribute="width" constant="50" id="k4i-lz-Q0A"/>
-                            </constraints>
-                        </imageView>
-                        <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introWindowbuilderWhite" translatesAutoresizingMaskIntoConstraints="NO" id="LtV-mT-TNi">
-                            <rect key="frame" x="150" y="50" width="50" height="50"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="50" id="ClF-um-COG"/>
-                                <constraint firstAttribute="width" constant="50" id="Wx8-Tp-dXS"/>
-                            </constraints>
-                        </imageView>
-                        <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introBricklayerWhite" translatesAutoresizingMaskIntoConstraints="NO" id="Ex7-sT-EaJ">
-                            <rect key="frame" x="200" y="50" width="50" height="50"/>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="50" id="Pn2-kx-aau"/>
-                                <constraint firstAttribute="height" constant="50" id="a6q-WL-yar"/>
-                            </constraints>
-                        </imageView>
-                        <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introStuccoerWhite" translatesAutoresizingMaskIntoConstraints="NO" id="4Gc-cX-dbg">
-                            <rect key="frame" x="250" y="50" width="50" height="50"/>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="50" id="7WO-w0-JdR"/>
-                                <constraint firstAttribute="height" constant="50" id="fvF-uC-AdC"/>
-                            </constraints>
-                        </imageView>
-                    </subviews>
-                    <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                    <constraints>
-                        <constraint firstItem="Ex7-sT-EaJ" firstAttribute="top" secondItem="uuN-T2-ioD" secondAttribute="bottom" id="2U1-1G-JhE"/>
-                        <constraint firstItem="lTr-6p-Fze" firstAttribute="leading" secondItem="kAX-vz-FzP" secondAttribute="leading" id="2ml-pA-g0Q"/>
-                        <constraint firstAttribute="height" constant="100" id="3ut-xK-39h"/>
-                        <constraint firstItem="hMk-rN-kcK" firstAttribute="leading" secondItem="LLY-xG-RZd" secondAttribute="trailing" id="6nh-m7-VAl"/>
-                        <constraint firstItem="4Gc-cX-dbg" firstAttribute="leading" secondItem="Ex7-sT-EaJ" secondAttribute="trailing" id="72c-9b-N4D"/>
-                        <constraint firstItem="X0P-Qp-BGf" firstAttribute="leading" secondItem="lTr-6p-Fze" secondAttribute="trailing" id="7wk-eD-N6S"/>
-                        <constraint firstItem="uuN-T2-ioD" firstAttribute="top" secondItem="kAX-vz-FzP" secondAttribute="top" id="BNS-UZ-ZM6"/>
-                        <constraint firstItem="LtV-mT-TNi" firstAttribute="leading" secondItem="rRC-gL-9F2" secondAttribute="trailing" id="HJ5-84-Ukd"/>
-                        <constraint firstAttribute="width" constant="300" id="Jw3-iD-WRy"/>
-                        <constraint firstItem="LLY-xG-RZd" firstAttribute="top" secondItem="kAX-vz-FzP" secondAttribute="top" id="M6j-Vl-9EH"/>
-                        <constraint firstItem="4Gc-cX-dbg" firstAttribute="top" secondItem="yMh-d7-4Td" secondAttribute="bottom" id="dBT-tu-HzX"/>
-                        <constraint firstItem="rRC-gL-9F2" firstAttribute="top" secondItem="LLY-xG-RZd" secondAttribute="bottom" id="dSu-2H-hjb"/>
-                        <constraint firstItem="ZQv-iZ-J33" firstAttribute="top" secondItem="lTr-6p-Fze" secondAttribute="bottom" id="eYp-AC-7un"/>
-                        <constraint firstItem="lTr-6p-Fze" firstAttribute="top" secondItem="kAX-vz-FzP" secondAttribute="top" id="ep7-UT-crz"/>
-                        <constraint firstItem="yMh-d7-4Td" firstAttribute="leading" secondItem="uuN-T2-ioD" secondAttribute="trailing" id="frG-LB-dTB"/>
-                        <constraint firstItem="rRC-gL-9F2" firstAttribute="leading" secondItem="3VH-Gh-Uz4" secondAttribute="trailing" id="gFV-vT-Oj4"/>
-                        <constraint firstItem="uuN-T2-ioD" firstAttribute="leading" secondItem="hMk-rN-kcK" secondAttribute="trailing" id="hpz-ue-Xfi"/>
-                        <constraint firstItem="X0P-Qp-BGf" firstAttribute="top" secondItem="kAX-vz-FzP" secondAttribute="top" id="j9G-Ul-EAx"/>
-                        <constraint firstItem="yMh-d7-4Td" firstAttribute="top" secondItem="kAX-vz-FzP" secondAttribute="top" id="nB4-EJ-dpC"/>
-                        <constraint firstItem="hMk-rN-kcK" firstAttribute="top" secondItem="kAX-vz-FzP" secondAttribute="top" id="opK-eM-92i"/>
-                        <constraint firstItem="3VH-Gh-Uz4" firstAttribute="top" secondItem="X0P-Qp-BGf" secondAttribute="bottom" id="q98-3s-w8I"/>
-                        <constraint firstItem="3VH-Gh-Uz4" firstAttribute="leading" secondItem="ZQv-iZ-J33" secondAttribute="trailing" id="rZb-1G-d98"/>
-                        <constraint firstItem="ZQv-iZ-J33" firstAttribute="leading" secondItem="kAX-vz-FzP" secondAttribute="leading" id="wrU-J3-uXC"/>
-                        <constraint firstItem="LtV-mT-TNi" firstAttribute="top" secondItem="hMk-rN-kcK" secondAttribute="bottom" id="yHB-nP-S1u"/>
-                        <constraint firstItem="Ex7-sT-EaJ" firstAttribute="leading" secondItem="LtV-mT-TNi" secondAttribute="trailing" id="yeg-hj-cne"/>
-                        <constraint firstItem="LLY-xG-RZd" firstAttribute="leading" secondItem="X0P-Qp-BGf" secondAttribute="trailing" id="zaX-ga-4rW"/>
-                    </constraints>
-                </view>
-                <label opaque="NO" userInteractionEnabled="NO" tag="3" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="3" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OZd-YG-5Mb">
-                    <rect key="frame" x="37.5" y="343" width="300" height="18"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="300" id="2gK-Yd-iiB"/>
-                    </constraints>
-                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-            </subviews>
-            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-            <constraints>
-                <constraint firstItem="L3q-XE-osU" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="20" id="GZq-FZ-w17"/>
-                <constraint firstItem="uNZ-QO-lP2" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="JAO-sq-byA"/>
-                <constraint firstItem="kAX-vz-FzP" firstAttribute="top" secondItem="L3q-XE-osU" secondAttribute="bottom" constant="50" id="Q2O-Dd-uWi"/>
-                <constraint firstItem="L3q-XE-osU" firstAttribute="top" secondItem="uNZ-QO-lP2" secondAttribute="bottom" constant="30" id="UH2-j8-7bV"/>
-                <constraint firstItem="OZd-YG-5Mb" firstAttribute="centerX" secondItem="vUN-kp-3ea" secondAttribute="centerX" id="aV5-3b-SoO"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="uNZ-QO-lP2" secondAttribute="trailing" id="hsb-fQ-Vbz"/>
-                <constraint firstItem="kAX-vz-FzP" firstAttribute="centerX" secondItem="vUN-kp-3ea" secondAttribute="centerX" id="min-LK-Hwv"/>
-                <constraint firstItem="uNZ-QO-lP2" firstAttribute="top" secondItem="vUN-kp-3ea" secondAttribute="top" constant="20" id="thh-1V-qXI"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="L3q-XE-osU" secondAttribute="trailing" constant="20" id="wyf-Yc-CDW"/>
-                <constraint firstItem="OZd-YG-5Mb" firstAttribute="top" secondItem="LtV-mT-TNi" secondAttribute="bottom" constant="50" id="yIe-Su-KEa"/>
-            </constraints>
-            <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
-            <point key="canvasLocation" x="39.200000000000003" y="46.326836581709152"/>
-        </view>
-    </objects>
-    <resources>
-        <image name="IntroFacadeBuilderWhite" width="300" height="300"/>
-        <image name="IntroLogo" width="925" height="207"/>
-        <image name="introArchitectWhite" width="300" height="300"/>
-        <image name="introBricklayerWhite" width="300" height="300"/>
-        <image name="introCarpenterWhite" width="300" height="300"/>
-        <image name="introElectricianWhite" width="300" height="300"/>
-        <image name="introFlasherWhite" width="300" height="300"/>
-        <image name="introInstallerWhite" width="300" height="300"/>
-        <image name="introPainterWhite" width="300" height="300"/>
-        <image name="introRooferWhite" width="300" height="300"/>
-        <image name="introStovebuilderWhite" width="300" height="300"/>
-        <image name="introStuccoerWhite" width="300" height="300"/>
-        <image name="introWindowbuilderWhite" width="300" height="300"/>
-    </resources>
-</document>

+ 0 - 517
iOSClient/Brand/Intro/HCIntroPage4.xib

@@ -1,517 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
-    <device id="retina6_5" orientation="portrait">
-        <adaptation id="fullscreen"/>
-    </device>
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
-        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
-        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <view contentMode="scaleToFill" id="iN0-l3-epB">
-            <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
-            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-            <subviews>
-                <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="IntroLogo" translatesAutoresizingMaskIntoConstraints="NO" id="uNZ-QO-lP2">
-                    <rect key="frame" x="0.0" y="64" width="414" height="50"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="50" id="OaH-Wu-GWz"/>
-                    </constraints>
-                </imageView>
-                <label opaque="NO" userInteractionEnabled="NO" tag="1" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="L3q-XE-osU">
-                    <rect key="frame" x="20" y="144" width="374" height="18"/>
-                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                    <nil key="textColor"/>
-                    <nil key="highlightedColor"/>
-                </label>
-                <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Tus-bY-bsK">
-                    <rect key="frame" x="42" y="172" width="330" height="590"/>
-                    <subviews>
-                        <view tag="100" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="zsI-NK-toL" userLabel="Carpenter">
-                            <rect key="frame" x="10" y="10" width="150" height="80"/>
-                            <subviews>
-                                <imageView userInteractionEnabled="NO" tag="101" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introCarpenter" translatesAutoresizingMaskIntoConstraints="NO" id="xH4-9a-Eg9">
-                                    <rect key="frame" x="50" y="0.0" width="50" height="50"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="50" id="Ou1-6q-VRQ"/>
-                                        <constraint firstAttribute="width" constant="50" id="g8n-pM-jmy"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="102" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="100" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="M04-58-m0X">
-                                    <rect key="frame" x="62.333333333333336" y="60" width="25.333333333333336" height="18"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <button opaque="NO" tag="103" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="rMf-sT-PDD">
-                                    <rect key="frame" x="0.0" y="0.0" width="150" height="80"/>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstItem="xH4-9a-Eg9" firstAttribute="top" secondItem="zsI-NK-toL" secondAttribute="top" id="AAS-lf-7eN"/>
-                                <constraint firstAttribute="width" constant="150" id="R0y-hb-Lpb"/>
-                                <constraint firstAttribute="trailing" secondItem="rMf-sT-PDD" secondAttribute="trailing" id="VZQ-mY-dkX"/>
-                                <constraint firstAttribute="height" constant="80" id="aiZ-2M-BRW"/>
-                                <constraint firstAttribute="bottom" secondItem="rMf-sT-PDD" secondAttribute="bottom" id="fnY-3Z-kfw"/>
-                                <constraint firstItem="M04-58-m0X" firstAttribute="centerX" secondItem="zsI-NK-toL" secondAttribute="centerX" id="iFT-1u-z9S"/>
-                                <constraint firstItem="rMf-sT-PDD" firstAttribute="top" secondItem="zsI-NK-toL" secondAttribute="top" id="lJc-oM-EDS"/>
-                                <constraint firstItem="M04-58-m0X" firstAttribute="top" secondItem="xH4-9a-Eg9" secondAttribute="bottom" constant="10" id="uGe-B4-oag"/>
-                                <constraint firstItem="rMf-sT-PDD" firstAttribute="leading" secondItem="zsI-NK-toL" secondAttribute="leading" id="waJ-Ff-XeU"/>
-                                <constraint firstItem="xH4-9a-Eg9" firstAttribute="centerX" secondItem="zsI-NK-toL" secondAttribute="centerX" id="zw0-Dt-4Yu"/>
-                            </constraints>
-                        </view>
-                        <view tag="200" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eVp-e5-9d7" userLabel="Stove Builder">
-                            <rect key="frame" x="170" y="10" width="150" height="80"/>
-                            <subviews>
-                                <imageView userInteractionEnabled="NO" tag="201" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introStovebuilder" translatesAutoresizingMaskIntoConstraints="NO" id="U3w-IT-cpq">
-                                    <rect key="frame" x="50" y="0.0" width="50" height="50"/>
-                                    <constraints>
-                                        <constraint firstAttribute="width" constant="50" id="OFn-IB-jRS"/>
-                                        <constraint firstAttribute="height" constant="50" id="aKf-K6-Juv"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="202" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="200" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6lj-OJ-yii">
-                                    <rect key="frame" x="61.333333333333321" y="60" width="27.333333333333336" height="18"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <button opaque="NO" tag="203" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gEM-th-lS6">
-                                    <rect key="frame" x="0.0" y="0.0" width="150" height="80"/>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="80" id="C9f-2w-g3D"/>
-                                <constraint firstItem="U3w-IT-cpq" firstAttribute="centerX" secondItem="eVp-e5-9d7" secondAttribute="centerX" id="CbJ-xJ-dcb"/>
-                                <constraint firstAttribute="trailing" secondItem="gEM-th-lS6" secondAttribute="trailing" id="FcY-Yp-Lbg"/>
-                                <constraint firstItem="gEM-th-lS6" firstAttribute="leading" secondItem="eVp-e5-9d7" secondAttribute="leading" id="GdB-yY-SIR"/>
-                                <constraint firstItem="6lj-OJ-yii" firstAttribute="centerX" secondItem="eVp-e5-9d7" secondAttribute="centerX" id="Tn3-yi-BRG"/>
-                                <constraint firstAttribute="bottom" secondItem="gEM-th-lS6" secondAttribute="bottom" id="m1H-JT-c3u"/>
-                                <constraint firstAttribute="width" constant="150" id="q9n-DI-uV0"/>
-                                <constraint firstItem="gEM-th-lS6" firstAttribute="top" secondItem="eVp-e5-9d7" secondAttribute="top" id="vow-gP-YfN"/>
-                                <constraint firstItem="6lj-OJ-yii" firstAttribute="top" secondItem="U3w-IT-cpq" secondAttribute="bottom" constant="10" id="xvw-vc-UIx"/>
-                                <constraint firstItem="U3w-IT-cpq" firstAttribute="top" secondItem="eVp-e5-9d7" secondAttribute="top" id="yVh-np-yiF"/>
-                            </constraints>
-                        </view>
-                        <view tag="300" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dDA-Tv-EY3" userLabel="Window Builder">
-                            <rect key="frame" x="10" y="120" width="150" height="80"/>
-                            <subviews>
-                                <imageView userInteractionEnabled="NO" tag="301" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introWindowbuilder" translatesAutoresizingMaskIntoConstraints="NO" id="tDm-AX-flb">
-                                    <rect key="frame" x="50" y="0.0" width="50" height="50"/>
-                                    <constraints>
-                                        <constraint firstAttribute="width" constant="50" id="YE5-qP-ruc"/>
-                                        <constraint firstAttribute="height" constant="50" id="h4S-tH-iSi"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="302" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="300" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kcg-my-5Dc">
-                                    <rect key="frame" x="61.333333333333321" y="60" width="27.666666666666664" height="18"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <button opaque="NO" tag="303" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="lRn-GJ-fUx">
-                                    <rect key="frame" x="0.0" y="0.0" width="150" height="80"/>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstItem="lRn-GJ-fUx" firstAttribute="top" secondItem="dDA-Tv-EY3" secondAttribute="top" id="DN9-Ga-Zsk"/>
-                                <constraint firstAttribute="bottom" secondItem="lRn-GJ-fUx" secondAttribute="bottom" id="JEP-A6-aDd"/>
-                                <constraint firstItem="kcg-my-5Dc" firstAttribute="top" secondItem="tDm-AX-flb" secondAttribute="bottom" constant="10" id="JTl-FJ-h2c"/>
-                                <constraint firstAttribute="height" constant="80" id="L9Q-Qg-V2O"/>
-                                <constraint firstItem="kcg-my-5Dc" firstAttribute="centerX" secondItem="dDA-Tv-EY3" secondAttribute="centerX" id="Nsg-xU-4nT"/>
-                                <constraint firstItem="tDm-AX-flb" firstAttribute="centerX" secondItem="dDA-Tv-EY3" secondAttribute="centerX" id="Omh-IL-cLj"/>
-                                <constraint firstItem="lRn-GJ-fUx" firstAttribute="leading" secondItem="dDA-Tv-EY3" secondAttribute="leading" id="dF9-ip-WHM"/>
-                                <constraint firstItem="tDm-AX-flb" firstAttribute="top" secondItem="dDA-Tv-EY3" secondAttribute="top" id="e0c-CI-M0S"/>
-                                <constraint firstAttribute="trailing" secondItem="lRn-GJ-fUx" secondAttribute="trailing" id="jgW-oZ-BYa"/>
-                                <constraint firstAttribute="width" constant="150" id="ygk-dz-I8l"/>
-                            </constraints>
-                        </view>
-                        <view tag="400" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EnR-PU-fpf" userLabel="Installer">
-                            <rect key="frame" x="170" y="120" width="150" height="80"/>
-                            <subviews>
-                                <imageView userInteractionEnabled="NO" tag="401" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introInstaller" translatesAutoresizingMaskIntoConstraints="NO" id="RZL-Yl-Xqa">
-                                    <rect key="frame" x="50" y="0.0" width="50" height="50"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="50" id="T4d-Mm-CGr"/>
-                                        <constraint firstAttribute="width" constant="50" id="TcZ-VV-Ns2"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="402" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="400" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gXa-1g-GKh">
-                                    <rect key="frame" x="61" y="60" width="28" height="18"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <button opaque="NO" tag="403" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="RU9-Lj-Cbl">
-                                    <rect key="frame" x="0.0" y="0.0" width="150" height="80"/>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstItem="RU9-Lj-Cbl" firstAttribute="leading" secondItem="EnR-PU-fpf" secondAttribute="leading" id="9S0-qs-gBR"/>
-                                <constraint firstAttribute="height" constant="80" id="9rx-Br-YEX"/>
-                                <constraint firstAttribute="width" constant="150" id="N0m-OZ-vpy"/>
-                                <constraint firstItem="gXa-1g-GKh" firstAttribute="top" secondItem="RZL-Yl-Xqa" secondAttribute="bottom" constant="10" id="XCS-Uv-Vit"/>
-                                <constraint firstItem="RZL-Yl-Xqa" firstAttribute="top" secondItem="EnR-PU-fpf" secondAttribute="top" id="Y2g-M6-V6V"/>
-                                <constraint firstItem="RZL-Yl-Xqa" firstAttribute="centerX" secondItem="EnR-PU-fpf" secondAttribute="centerX" id="ex6-4j-mCa"/>
-                                <constraint firstAttribute="bottom" secondItem="RU9-Lj-Cbl" secondAttribute="bottom" id="fC6-Gl-Apt"/>
-                                <constraint firstItem="gXa-1g-GKh" firstAttribute="centerX" secondItem="EnR-PU-fpf" secondAttribute="centerX" id="g8U-3D-D5I"/>
-                                <constraint firstItem="RU9-Lj-Cbl" firstAttribute="top" secondItem="EnR-PU-fpf" secondAttribute="top" id="njK-Cf-Adm"/>
-                                <constraint firstAttribute="trailing" secondItem="RU9-Lj-Cbl" secondAttribute="trailing" id="xaM-hl-Lus"/>
-                            </constraints>
-                        </view>
-                        <view tag="500" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UC4-Yy-Qld" userLabel="Electrician">
-                            <rect key="frame" x="10" y="230" width="150" height="80"/>
-                            <subviews>
-                                <imageView userInteractionEnabled="NO" tag="501" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introElectrician" translatesAutoresizingMaskIntoConstraints="NO" id="0bI-rF-oyJ">
-                                    <rect key="frame" x="50" y="0.0" width="50" height="50"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="50" id="3eh-d1-Pr7"/>
-                                        <constraint firstAttribute="width" constant="50" id="NAA-9u-Zi1"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="502" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="500" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FMz-eB-ucs">
-                                    <rect key="frame" x="61.333333333333321" y="60" width="27.666666666666664" height="18"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <button opaque="NO" tag="503" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="koj-TR-Fhr">
-                                    <rect key="frame" x="0.0" y="0.0" width="150" height="80"/>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstItem="koj-TR-Fhr" firstAttribute="leading" secondItem="UC4-Yy-Qld" secondAttribute="leading" id="3u8-mX-ctX"/>
-                                <constraint firstAttribute="width" constant="150" id="ERq-JL-qu5"/>
-                                <constraint firstAttribute="bottom" secondItem="koj-TR-Fhr" secondAttribute="bottom" id="IQn-WL-CLj"/>
-                                <constraint firstItem="koj-TR-Fhr" firstAttribute="top" secondItem="UC4-Yy-Qld" secondAttribute="top" id="T03-yA-prd"/>
-                                <constraint firstAttribute="trailing" secondItem="koj-TR-Fhr" secondAttribute="trailing" id="Ua7-D4-ELC"/>
-                                <constraint firstItem="FMz-eB-ucs" firstAttribute="centerX" secondItem="UC4-Yy-Qld" secondAttribute="centerX" id="Vdt-bQ-Tk4"/>
-                                <constraint firstItem="FMz-eB-ucs" firstAttribute="top" secondItem="0bI-rF-oyJ" secondAttribute="bottom" constant="10" id="We8-He-SF9"/>
-                                <constraint firstItem="0bI-rF-oyJ" firstAttribute="top" secondItem="UC4-Yy-Qld" secondAttribute="top" id="amQ-6H-9fK"/>
-                                <constraint firstItem="0bI-rF-oyJ" firstAttribute="centerX" secondItem="UC4-Yy-Qld" secondAttribute="centerX" id="tSV-2O-WUi"/>
-                                <constraint firstAttribute="height" constant="80" id="zPY-Yi-LSh"/>
-                            </constraints>
-                        </view>
-                        <view tag="600" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jC4-QD-kVY" userLabel="Painter">
-                            <rect key="frame" x="170" y="230" width="150" height="80"/>
-                            <subviews>
-                                <imageView userInteractionEnabled="NO" tag="601" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introPainter" translatesAutoresizingMaskIntoConstraints="NO" id="zpS-6C-XQ2">
-                                    <rect key="frame" x="50" y="0.0" width="50" height="50"/>
-                                    <constraints>
-                                        <constraint firstAttribute="width" constant="50" id="ROY-Tk-vtS"/>
-                                        <constraint firstAttribute="height" constant="50" id="gaP-Sq-wFd"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="602" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="600" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zaY-3P-hCa">
-                                    <rect key="frame" x="61" y="60" width="28" height="18"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <button opaque="NO" tag="603" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="as1-hu-cNk">
-                                    <rect key="frame" x="0.0" y="0.0" width="150" height="80"/>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstAttribute="trailing" secondItem="as1-hu-cNk" secondAttribute="trailing" id="1dt-18-xr0"/>
-                                <constraint firstItem="zpS-6C-XQ2" firstAttribute="top" secondItem="jC4-QD-kVY" secondAttribute="top" id="3rB-YQ-N3p"/>
-                                <constraint firstAttribute="bottom" secondItem="as1-hu-cNk" secondAttribute="bottom" id="9gI-Oh-G3M"/>
-                                <constraint firstItem="as1-hu-cNk" firstAttribute="top" secondItem="jC4-QD-kVY" secondAttribute="top" id="PWN-6B-Ay8"/>
-                                <constraint firstAttribute="width" constant="150" id="VgD-WO-8aT"/>
-                                <constraint firstItem="zaY-3P-hCa" firstAttribute="centerX" secondItem="jC4-QD-kVY" secondAttribute="centerX" id="Wru-5m-hv0"/>
-                                <constraint firstItem="zaY-3P-hCa" firstAttribute="top" secondItem="zpS-6C-XQ2" secondAttribute="bottom" constant="10" id="fK2-am-55U"/>
-                                <constraint firstAttribute="height" constant="80" id="hT6-xj-PGa"/>
-                                <constraint firstItem="zpS-6C-XQ2" firstAttribute="centerX" secondItem="jC4-QD-kVY" secondAttribute="centerX" id="hmk-k3-KpP"/>
-                                <constraint firstItem="as1-hu-cNk" firstAttribute="leading" secondItem="jC4-QD-kVY" secondAttribute="leading" id="w74-0V-w2L"/>
-                            </constraints>
-                        </view>
-                        <view tag="700" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="veR-hL-WZW" userLabel="Flasher">
-                            <rect key="frame" x="10" y="340" width="150" height="80"/>
-                            <subviews>
-                                <imageView userInteractionEnabled="NO" tag="701" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introFlasher" translatesAutoresizingMaskIntoConstraints="NO" id="wcb-Dc-9HO">
-                                    <rect key="frame" x="50" y="0.0" width="50" height="50"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="50" id="PYD-1n-p6F"/>
-                                        <constraint firstAttribute="width" constant="50" id="pzh-eC-0RA"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="702" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="700" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IMG-6R-UEJ">
-                                    <rect key="frame" x="61.666666666666664" y="60" width="26.666666666666664" height="18"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <button opaque="NO" tag="703" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9kb-DB-bse">
-                                    <rect key="frame" x="0.0" y="0.0" width="150" height="80"/>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstAttribute="bottom" secondItem="9kb-DB-bse" secondAttribute="bottom" id="CWh-lo-Hg1"/>
-                                <constraint firstItem="wcb-Dc-9HO" firstAttribute="centerX" secondItem="veR-hL-WZW" secondAttribute="centerX" id="Fta-aK-3EX"/>
-                                <constraint firstItem="wcb-Dc-9HO" firstAttribute="top" secondItem="veR-hL-WZW" secondAttribute="top" id="NNT-t6-xEz"/>
-                                <constraint firstItem="IMG-6R-UEJ" firstAttribute="top" secondItem="wcb-Dc-9HO" secondAttribute="bottom" constant="10" id="SVR-AU-meL"/>
-                                <constraint firstItem="9kb-DB-bse" firstAttribute="top" secondItem="veR-hL-WZW" secondAttribute="top" id="Vi2-Fx-Jr5"/>
-                                <constraint firstAttribute="height" constant="80" id="XDd-do-vWI"/>
-                                <constraint firstItem="9kb-DB-bse" firstAttribute="leading" secondItem="veR-hL-WZW" secondAttribute="leading" id="YF0-mj-pJm"/>
-                                <constraint firstItem="IMG-6R-UEJ" firstAttribute="centerX" secondItem="veR-hL-WZW" secondAttribute="centerX" id="dAp-hQ-uUy"/>
-                                <constraint firstAttribute="width" constant="150" id="fD0-Ou-Te3"/>
-                                <constraint firstAttribute="trailing" secondItem="9kb-DB-bse" secondAttribute="trailing" id="yxV-mh-7g7"/>
-                            </constraints>
-                        </view>
-                        <view tag="800" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jkR-rK-2lN" userLabel="Brick Layer">
-                            <rect key="frame" x="170" y="340" width="150" height="80"/>
-                            <subviews>
-                                <imageView userInteractionEnabled="NO" tag="801" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introBricklayer" translatesAutoresizingMaskIntoConstraints="NO" id="NdS-uX-Enk">
-                                    <rect key="frame" x="50" y="0.0" width="50" height="50"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="50" id="6hE-oi-YMm"/>
-                                        <constraint firstAttribute="width" constant="50" id="yQF-KL-nbX"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="802" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="800" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="N8a-qB-A8v">
-                                    <rect key="frame" x="61" y="60" width="28" height="18"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <button opaque="NO" tag="803" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PXf-Ap-tjd">
-                                    <rect key="frame" x="0.0" y="0.0" width="150" height="80"/>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstItem="N8a-qB-A8v" firstAttribute="top" secondItem="NdS-uX-Enk" secondAttribute="bottom" constant="10" id="3g5-hF-EZk"/>
-                                <constraint firstAttribute="trailing" secondItem="PXf-Ap-tjd" secondAttribute="trailing" id="4bm-9k-0ug"/>
-                                <constraint firstAttribute="bottom" secondItem="PXf-Ap-tjd" secondAttribute="bottom" id="6fx-iY-gUn"/>
-                                <constraint firstAttribute="width" constant="150" id="FGV-gH-Wpj"/>
-                                <constraint firstItem="PXf-Ap-tjd" firstAttribute="top" secondItem="jkR-rK-2lN" secondAttribute="top" id="Qpn-y7-s27"/>
-                                <constraint firstItem="NdS-uX-Enk" firstAttribute="centerX" secondItem="jkR-rK-2lN" secondAttribute="centerX" id="TJy-If-05c"/>
-                                <constraint firstItem="NdS-uX-Enk" firstAttribute="top" secondItem="jkR-rK-2lN" secondAttribute="top" id="V6n-od-W6B"/>
-                                <constraint firstItem="PXf-Ap-tjd" firstAttribute="leading" secondItem="jkR-rK-2lN" secondAttribute="leading" id="cEj-zA-A4H"/>
-                                <constraint firstAttribute="height" constant="80" id="dzx-Po-yCa"/>
-                                <constraint firstItem="N8a-qB-A8v" firstAttribute="centerX" secondItem="jkR-rK-2lN" secondAttribute="centerX" id="rET-2L-Qji"/>
-                            </constraints>
-                        </view>
-                        <view tag="900" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QrS-iH-Eq7" userLabel="Roofer">
-                            <rect key="frame" x="10" y="450" width="150" height="80"/>
-                            <subviews>
-                                <imageView userInteractionEnabled="NO" tag="901" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introRoofer" translatesAutoresizingMaskIntoConstraints="NO" id="qVr-xO-wli">
-                                    <rect key="frame" x="50" y="0.0" width="50" height="50"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="50" id="Eac-md-SnC"/>
-                                        <constraint firstAttribute="width" constant="50" id="mWa-KZ-t0i"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="902" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="900" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DQF-2n-eRe">
-                                    <rect key="frame" x="61" y="60" width="28" height="18"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <button opaque="NO" tag="903" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ZRn-em-i8u">
-                                    <rect key="frame" x="0.0" y="0.0" width="150" height="80"/>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstItem="qVr-xO-wli" firstAttribute="top" secondItem="QrS-iH-Eq7" secondAttribute="top" id="3Y6-lu-Vhc"/>
-                                <constraint firstAttribute="trailing" secondItem="ZRn-em-i8u" secondAttribute="trailing" id="Dm8-DA-zfU"/>
-                                <constraint firstAttribute="height" constant="80" id="Fqh-xz-To4"/>
-                                <constraint firstAttribute="bottom" secondItem="ZRn-em-i8u" secondAttribute="bottom" id="Otx-ZK-ghy"/>
-                                <constraint firstItem="DQF-2n-eRe" firstAttribute="centerX" secondItem="QrS-iH-Eq7" secondAttribute="centerX" id="YPN-Zy-vn4"/>
-                                <constraint firstItem="ZRn-em-i8u" firstAttribute="top" secondItem="QrS-iH-Eq7" secondAttribute="top" id="eH6-qF-Ow1"/>
-                                <constraint firstItem="ZRn-em-i8u" firstAttribute="leading" secondItem="QrS-iH-Eq7" secondAttribute="leading" id="mTa-Fk-ORD"/>
-                                <constraint firstItem="DQF-2n-eRe" firstAttribute="top" secondItem="qVr-xO-wli" secondAttribute="bottom" constant="10" id="n1d-6k-UCO"/>
-                                <constraint firstAttribute="width" constant="150" id="o1L-e0-mhn"/>
-                                <constraint firstItem="qVr-xO-wli" firstAttribute="centerX" secondItem="QrS-iH-Eq7" secondAttribute="centerX" id="pdn-7Y-s1M"/>
-                            </constraints>
-                        </view>
-                        <view tag="1000" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="k5S-5G-fXj" userLabel="Stuccoer">
-                            <rect key="frame" x="170" y="450" width="150" height="80"/>
-                            <subviews>
-                                <imageView userInteractionEnabled="NO" tag="1001" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introStuccoer" translatesAutoresizingMaskIntoConstraints="NO" id="leA-te-gDM">
-                                    <rect key="frame" x="50" y="0.0" width="50" height="50"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="50" id="1HX-gt-Skj"/>
-                                        <constraint firstAttribute="width" constant="50" id="q4V-Bu-zQv"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="1002" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1000" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9Zk-DI-qQZ">
-                                    <rect key="frame" x="57.666666666666686" y="60" width="34.666666666666657" height="18"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <button opaque="NO" tag="1003" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="IGv-Cd-3S1">
-                                    <rect key="frame" x="0.0" y="0.0" width="150" height="80"/>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstItem="leA-te-gDM" firstAttribute="centerX" secondItem="k5S-5G-fXj" secondAttribute="centerX" id="EeT-8o-qzp"/>
-                                <constraint firstItem="IGv-Cd-3S1" firstAttribute="top" secondItem="k5S-5G-fXj" secondAttribute="top" id="H7d-mi-6Kw"/>
-                                <constraint firstItem="9Zk-DI-qQZ" firstAttribute="top" secondItem="leA-te-gDM" secondAttribute="bottom" constant="10" id="R77-yS-sPG"/>
-                                <constraint firstItem="IGv-Cd-3S1" firstAttribute="leading" secondItem="k5S-5G-fXj" secondAttribute="leading" id="bQZ-lH-zTw"/>
-                                <constraint firstAttribute="width" constant="150" id="dHP-uO-gbz"/>
-                                <constraint firstItem="9Zk-DI-qQZ" firstAttribute="centerX" secondItem="k5S-5G-fXj" secondAttribute="centerX" id="g5z-KF-tW7"/>
-                                <constraint firstAttribute="trailing" secondItem="IGv-Cd-3S1" secondAttribute="trailing" id="k5z-uP-G8b"/>
-                                <constraint firstAttribute="bottom" secondItem="IGv-Cd-3S1" secondAttribute="bottom" id="kZP-yI-ch3"/>
-                                <constraint firstAttribute="height" constant="80" id="pzv-a8-wfL"/>
-                                <constraint firstItem="leA-te-gDM" firstAttribute="top" secondItem="k5S-5G-fXj" secondAttribute="top" id="rB3-NL-XMo"/>
-                            </constraints>
-                        </view>
-                        <view tag="1100" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bhB-gG-6My" userLabel="Architect">
-                            <rect key="frame" x="10" y="560" width="150" height="80"/>
-                            <subviews>
-                                <imageView userInteractionEnabled="NO" tag="1101" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introArchitect" translatesAutoresizingMaskIntoConstraints="NO" id="BDr-Cu-hRe">
-                                    <rect key="frame" x="50" y="0.0" width="50" height="50"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="50" id="Ipt-nx-LYw"/>
-                                        <constraint firstAttribute="width" constant="50" id="UjJ-Aa-txg"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="1102" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1100" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="G7Q-OU-mtZ">
-                                    <rect key="frame" x="59" y="60" width="32" height="18"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <button opaque="NO" tag="1103" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1eD-A4-8cK">
-                                    <rect key="frame" x="0.0" y="0.0" width="150" height="80"/>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="150" id="5EC-WO-Kuy"/>
-                                <constraint firstItem="1eD-A4-8cK" firstAttribute="leading" secondItem="bhB-gG-6My" secondAttribute="leading" id="6qh-mm-VRa"/>
-                                <constraint firstAttribute="bottom" secondItem="1eD-A4-8cK" secondAttribute="bottom" id="9Pv-43-7ZJ"/>
-                                <constraint firstItem="BDr-Cu-hRe" firstAttribute="centerX" secondItem="bhB-gG-6My" secondAttribute="centerX" id="OGN-RC-l45"/>
-                                <constraint firstAttribute="height" constant="80" id="PGw-gQ-5gG"/>
-                                <constraint firstItem="G7Q-OU-mtZ" firstAttribute="top" secondItem="BDr-Cu-hRe" secondAttribute="bottom" constant="10" id="YNT-St-lb6"/>
-                                <constraint firstAttribute="trailing" secondItem="1eD-A4-8cK" secondAttribute="trailing" id="kU3-6W-dvW"/>
-                                <constraint firstItem="1eD-A4-8cK" firstAttribute="top" secondItem="bhB-gG-6My" secondAttribute="top" id="tGD-BH-PaC"/>
-                                <constraint firstItem="BDr-Cu-hRe" firstAttribute="top" secondItem="bhB-gG-6My" secondAttribute="top" id="uDl-Fo-Sy5"/>
-                                <constraint firstItem="G7Q-OU-mtZ" firstAttribute="centerX" secondItem="bhB-gG-6My" secondAttribute="centerX" id="vdq-27-IHc"/>
-                            </constraints>
-                        </view>
-                        <view tag="1200" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="WC8-6r-YcP" userLabel="Other">
-                            <rect key="frame" x="170" y="560" width="150" height="80"/>
-                            <subviews>
-                                <imageView userInteractionEnabled="NO" tag="1201" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="introOther" translatesAutoresizingMaskIntoConstraints="NO" id="GpQ-qY-oxj">
-                                    <rect key="frame" x="50" y="0.0" width="50" height="50"/>
-                                    <constraints>
-                                        <constraint firstAttribute="width" constant="50" id="Avc-iZ-Ggn"/>
-                                        <constraint firstAttribute="height" constant="50" id="UqR-rj-qkW"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" tag="1202" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1200" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vwG-jF-Rr8">
-                                    <rect key="frame" x="58" y="60" width="34.333333333333343" height="18"/>
-                                    <fontDescription key="fontDescription" type="system" pointSize="15"/>
-                                    <nil key="textColor"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <button opaque="NO" tag="1203" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2j0-eu-sZM">
-                                    <rect key="frame" x="0.0" y="0.0" width="150" height="80"/>
-                                </button>
-                            </subviews>
-                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstItem="GpQ-qY-oxj" firstAttribute="top" secondItem="WC8-6r-YcP" secondAttribute="top" id="4AR-XV-LOB"/>
-                                <constraint firstItem="2j0-eu-sZM" firstAttribute="top" secondItem="WC8-6r-YcP" secondAttribute="top" id="68b-qC-dec"/>
-                                <constraint firstItem="vwG-jF-Rr8" firstAttribute="centerX" secondItem="WC8-6r-YcP" secondAttribute="centerX" id="SVw-ew-Zb5"/>
-                                <constraint firstItem="GpQ-qY-oxj" firstAttribute="centerX" secondItem="WC8-6r-YcP" secondAttribute="centerX" id="VaI-rC-x4U"/>
-                                <constraint firstAttribute="width" constant="150" id="XPo-c3-rWW"/>
-                                <constraint firstItem="vwG-jF-Rr8" firstAttribute="top" secondItem="GpQ-qY-oxj" secondAttribute="bottom" constant="10" id="ZTU-5a-LwD"/>
-                                <constraint firstAttribute="height" constant="80" id="cvu-ty-fpD"/>
-                                <constraint firstAttribute="bottom" secondItem="2j0-eu-sZM" secondAttribute="bottom" id="eYp-NH-yGE"/>
-                                <constraint firstAttribute="trailing" secondItem="2j0-eu-sZM" secondAttribute="trailing" id="lq4-l0-DQF"/>
-                                <constraint firstItem="2j0-eu-sZM" firstAttribute="leading" secondItem="WC8-6r-YcP" secondAttribute="leading" id="wSW-ce-z7I"/>
-                            </constraints>
-                        </view>
-                    </subviews>
-                    <constraints>
-                        <constraint firstItem="2j0-eu-sZM" firstAttribute="top" secondItem="IGv-Cd-3S1" secondAttribute="bottom" constant="30" id="5H3-2c-yTv"/>
-                        <constraint firstAttribute="trailing" secondItem="eVp-e5-9d7" secondAttribute="trailing" id="Bz8-nz-jCH"/>
-                        <constraint firstItem="9kb-DB-bse" firstAttribute="top" secondItem="koj-TR-Fhr" secondAttribute="bottom" constant="30" id="C8P-GS-Nw7"/>
-                        <constraint firstItem="zsI-NK-toL" firstAttribute="leading" secondItem="Tus-bY-bsK" secondAttribute="leading" constant="10" id="G8F-1k-49E"/>
-                        <constraint firstItem="gEM-th-lS6" firstAttribute="top" secondItem="Tus-bY-bsK" secondAttribute="top" constant="10" id="H52-7m-o7X"/>
-                        <constraint firstItem="2j0-eu-sZM" firstAttribute="leading" secondItem="1eD-A4-8cK" secondAttribute="trailing" constant="10" id="L1d-cF-drP"/>
-                        <constraint firstItem="as1-hu-cNk" firstAttribute="leading" secondItem="koj-TR-Fhr" secondAttribute="trailing" constant="10" id="Lzs-hN-fME"/>
-                        <constraint firstItem="RU9-Lj-Cbl" firstAttribute="top" secondItem="gEM-th-lS6" secondAttribute="bottom" constant="30" id="Nio-1W-JFt"/>
-                        <constraint firstItem="lRn-GJ-fUx" firstAttribute="leading" secondItem="Tus-bY-bsK" secondAttribute="leading" constant="10" id="Tgo-6O-vZg"/>
-                        <constraint firstItem="1eD-A4-8cK" firstAttribute="leading" secondItem="Tus-bY-bsK" secondAttribute="leading" constant="10" id="Y5L-bU-QFh"/>
-                        <constraint firstItem="IGv-Cd-3S1" firstAttribute="leading" secondItem="ZRn-em-i8u" secondAttribute="trailing" constant="10" id="YdW-3H-VSo"/>
-                        <constraint firstItem="RU9-Lj-Cbl" firstAttribute="leading" secondItem="lRn-GJ-fUx" secondAttribute="trailing" constant="10" id="bWS-w5-bdM"/>
-                        <constraint firstItem="jC4-QD-kVY" firstAttribute="top" secondItem="RU9-Lj-Cbl" secondAttribute="bottom" constant="30" id="biL-0P-OSu"/>
-                        <constraint firstItem="koj-TR-Fhr" firstAttribute="top" secondItem="lRn-GJ-fUx" secondAttribute="bottom" constant="30" id="dPP-kh-v0I"/>
-                        <constraint firstItem="lRn-GJ-fUx" firstAttribute="top" secondItem="rMf-sT-PDD" secondAttribute="bottom" constant="30" id="fYf-UP-INq"/>
-                        <constraint firstItem="zsI-NK-toL" firstAttribute="top" secondItem="Tus-bY-bsK" secondAttribute="top" constant="10" id="g4a-OU-eaj"/>
-                        <constraint firstAttribute="width" constant="330" id="i1M-Ah-uDn"/>
-                        <constraint firstItem="koj-TR-Fhr" firstAttribute="leading" secondItem="Tus-bY-bsK" secondAttribute="leading" constant="10" id="jNo-vD-Fgg"/>
-                        <constraint firstItem="1eD-A4-8cK" firstAttribute="top" secondItem="ZRn-em-i8u" secondAttribute="bottom" constant="30" id="kcM-vT-yR4"/>
-                        <constraint firstItem="ZRn-em-i8u" firstAttribute="top" secondItem="9kb-DB-bse" secondAttribute="bottom" constant="30" id="r0b-SD-He1"/>
-                        <constraint firstItem="9kb-DB-bse" firstAttribute="leading" secondItem="Tus-bY-bsK" secondAttribute="leading" constant="10" id="ttr-OU-qOG"/>
-                        <constraint firstItem="PXf-Ap-tjd" firstAttribute="top" secondItem="as1-hu-cNk" secondAttribute="bottom" constant="30" id="uDw-BZ-2AV"/>
-                        <constraint firstItem="IGv-Cd-3S1" firstAttribute="top" secondItem="PXf-Ap-tjd" secondAttribute="bottom" constant="30" id="uSM-Do-kPP"/>
-                        <constraint firstItem="PXf-Ap-tjd" firstAttribute="leading" secondItem="9kb-DB-bse" secondAttribute="trailing" constant="10" id="w2G-hr-23M"/>
-                        <constraint firstAttribute="bottom" secondItem="bhB-gG-6My" secondAttribute="bottom" constant="20" id="w2V-F2-TAl"/>
-                        <constraint firstItem="gEM-th-lS6" firstAttribute="leading" secondItem="zsI-NK-toL" secondAttribute="trailing" constant="10" id="wcg-sm-PJI"/>
-                        <constraint firstItem="ZRn-em-i8u" firstAttribute="leading" secondItem="Tus-bY-bsK" secondAttribute="leading" constant="10" id="yrC-Ml-z8T"/>
-                    </constraints>
-                </scrollView>
-                <button opaque="NO" tag="2" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="KtV-cK-vby">
-                    <rect key="frame" x="57" y="772" width="300" height="40"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="40" id="Vgk-lg-Dzn"/>
-                        <constraint firstAttribute="width" constant="300" id="dzh-KL-QpK"/>
-                    </constraints>
-                    <state key="normal" title="Login">
-                        <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                    </state>
-                </button>
-            </subviews>
-            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-            <constraints>
-                <constraint firstItem="Tus-bY-bsK" firstAttribute="centerX" secondItem="vUN-kp-3ea" secondAttribute="centerX" id="6Rq-ia-b8e"/>
-                <constraint firstItem="KtV-cK-vby" firstAttribute="centerX" secondItem="vUN-kp-3ea" secondAttribute="centerX" id="Fah-PR-5TJ"/>
-                <constraint firstItem="L3q-XE-osU" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="20" id="GZq-FZ-w17"/>
-                <constraint firstItem="uNZ-QO-lP2" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="JAO-sq-byA"/>
-                <constraint firstItem="L3q-XE-osU" firstAttribute="top" secondItem="uNZ-QO-lP2" secondAttribute="bottom" constant="30" id="UH2-j8-7bV"/>
-                <constraint firstItem="KtV-cK-vby" firstAttribute="top" secondItem="Tus-bY-bsK" secondAttribute="bottom" constant="10" id="gJh-bk-4U8"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="uNZ-QO-lP2" secondAttribute="trailing" id="hsb-fQ-Vbz"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="bottom" secondItem="Tus-bY-bsK" secondAttribute="bottom" constant="100" id="k2L-eW-QbO"/>
-                <constraint firstItem="Tus-bY-bsK" firstAttribute="top" secondItem="L3q-XE-osU" secondAttribute="bottom" constant="10" id="l0I-Aq-jvv"/>
-                <constraint firstItem="uNZ-QO-lP2" firstAttribute="top" secondItem="vUN-kp-3ea" secondAttribute="top" constant="20" id="thh-1V-qXI"/>
-                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="L3q-XE-osU" secondAttribute="trailing" constant="20" id="wyf-Yc-CDW"/>
-            </constraints>
-            <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
-            <point key="canvasLocation" x="36.231884057971016" y="97.767857142857139"/>
-        </view>
-    </objects>
-    <resources>
-        <image name="IntroLogo" width="925" height="207"/>
-        <image name="introArchitect" width="300" height="300"/>
-        <image name="introBricklayer" width="300" height="300"/>
-        <image name="introCarpenter" width="300" height="300"/>
-        <image name="introElectrician" width="300" height="300"/>
-        <image name="introFlasher" width="300" height="300"/>
-        <image name="introInstaller" width="300" height="300"/>
-        <image name="introOther" width="300" height="300"/>
-        <image name="introPainter" width="300" height="300"/>
-        <image name="introRoofer" width="300" height="300"/>
-        <image name="introStovebuilder" width="300" height="300"/>
-        <image name="introStuccoer" width="300" height="300"/>
-        <image name="introWindowbuilder" width="300" height="300"/>
-    </resources>
-</document>

+ 111 - 0
iOSClient/Brand/Intro/Intro.storyboard

@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="QS9-pa-PcE">
+    <device id="retina6_1" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <scenes>
+        <!--Intro View Controller-->
+        <scene sceneID="f2b-bc-1G0">
+            <objects>
+                <viewController id="QS9-pa-PcE" customClass="IntroViewController" customModule="Nextcloud" customModuleProvider="target" sceneMemberID="viewController">
+                    <view key="view" contentMode="scaleToFill" id="Xnz-EW-9gg">
+                        <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" pagingEnabled="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="o6I-qu-IDh">
+                                <rect key="frame" x="8" y="104" width="398" height="398"/>
+                                <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                <constraints>
+                                    <constraint firstAttribute="width" secondItem="o6I-qu-IDh" secondAttribute="height" multiplier="1:1" priority="750" id="N8S-l1-3ac"/>
+                                </constraints>
+                                <collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="VRH-dG-Ra1">
+                                    <size key="itemSize" width="0.0" height="0.0"/>
+                                    <size key="headerReferenceSize" width="0.0" height="0.0"/>
+                                    <size key="footerReferenceSize" width="0.0" height="0.0"/>
+                                    <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
+                                </collectionViewFlowLayout>
+                            </collectionView>
+                            <pageControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" numberOfPages="3" translatesAutoresizingMaskIntoConstraints="NO" id="Eu1-Gv-7Jx">
+                                <rect key="frame" x="187.5" y="510" width="39" height="10"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="10" id="6xY-X5-z4w"/>
+                                    <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="10" id="HuN-3g-bM7"/>
+                                </constraints>
+                            </pageControl>
+                            <button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Yyc-bK-mqW">
+                                <rect key="frame" x="72" y="584" width="270" height="40"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="40" id="h0h-Pp-A9q"/>
+                                    <constraint firstAttribute="width" constant="270" id="mXS-9b-u5o"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" pointSize="16"/>
+                                <state key="normal" title="Login"/>
+                                <connections>
+                                    <action selector="login:" destination="QS9-pa-PcE" eventType="touchUpInside" id="Lb4-EV-uT9"/>
+                                </connections>
+                            </button>
+                            <button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="N4X-JQ-1c1">
+                                <rect key="frame" x="72" y="632" width="270" height="40"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="40" id="Z1i-8h-Kkj"/>
+                                    <constraint firstAttribute="width" constant="270" id="ski-k5-xeL"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                <state key="normal" title="Signup"/>
+                                <connections>
+                                    <action selector="signup:" destination="QS9-pa-PcE" eventType="touchUpInside" id="wKo-W5-MBd"/>
+                                </connections>
+                            </button>
+                            <button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Z5d-gx-rTR">
+                                <rect key="frame" x="72" y="832" width="270" height="30"/>
+                                <constraints>
+                                    <constraint firstAttribute="width" constant="270" id="rtc-VW-fLA"/>
+                                    <constraint firstAttribute="height" constant="30" id="wPA-Ly-uB0"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                <state key="normal" title="Host"/>
+                                <connections>
+                                    <action selector="host:" destination="QS9-pa-PcE" eventType="touchUpInside" id="Zev-U0-oLN"/>
+                                </connections>
+                            </button>
+                        </subviews>
+                        <color key="backgroundColor" systemColor="opaqueSeparatorColor" red="0.77647058820000003" green="0.77647058820000003" blue="0.7843137255" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <constraints>
+                            <constraint firstItem="Z5d-gx-rTR" firstAttribute="centerX" secondItem="Xnz-EW-9gg" secondAttribute="centerX" id="5JN-bZ-Cfc"/>
+                            <constraint firstItem="Z5d-gx-rTR" firstAttribute="top" relation="greaterThanOrEqual" secondItem="N4X-JQ-1c1" secondAttribute="bottom" constant="8" id="5bf-uK-zTE"/>
+                            <constraint firstItem="o6I-qu-IDh" firstAttribute="leading" secondItem="Yku-CN-snD" secondAttribute="leading" constant="8" id="5fD-CQ-g64"/>
+                            <constraint firstItem="Yyc-bK-mqW" firstAttribute="centerX" secondItem="Xnz-EW-9gg" secondAttribute="centerX" id="73g-Jz-FyB"/>
+                            <constraint firstItem="Eu1-Gv-7Jx" firstAttribute="top" secondItem="o6I-qu-IDh" secondAttribute="bottom" constant="8" id="Eeu-jq-3mJ"/>
+                            <constraint firstItem="Yku-CN-snD" firstAttribute="trailing" secondItem="o6I-qu-IDh" secondAttribute="trailing" constant="8" id="Hc4-PE-nDo"/>
+                            <constraint firstItem="o6I-qu-IDh" firstAttribute="centerX" secondItem="Xnz-EW-9gg" secondAttribute="centerX" id="XgO-Ht-bat"/>
+                            <constraint firstItem="Yyc-bK-mqW" firstAttribute="top" secondItem="Eu1-Gv-7Jx" secondAttribute="bottom" priority="250" constant="64" id="avi-Qq-NVJ"/>
+                            <constraint firstItem="N4X-JQ-1c1" firstAttribute="top" secondItem="Yyc-bK-mqW" secondAttribute="bottom" constant="8" id="g2S-FI-zsd"/>
+                            <constraint firstItem="N4X-JQ-1c1" firstAttribute="centerX" secondItem="Xnz-EW-9gg" secondAttribute="centerX" id="pyF-TA-FZv"/>
+                            <constraint firstItem="Yyc-bK-mqW" firstAttribute="top" relation="greaterThanOrEqual" secondItem="Eu1-Gv-7Jx" secondAttribute="bottom" constant="8" id="qO4-JO-SuY"/>
+                            <constraint firstItem="Yku-CN-snD" firstAttribute="bottom" secondItem="Z5d-gx-rTR" secondAttribute="bottom" id="qo7-hg-l1p"/>
+                            <constraint firstItem="o6I-qu-IDh" firstAttribute="top" secondItem="Xnz-EW-9gg" secondAttribute="topMargin" constant="60" id="qoE-U2-Ogf">
+                                <variation key="heightClass=compact" constant="8"/>
+                            </constraint>
+                            <constraint firstItem="Eu1-Gv-7Jx" firstAttribute="centerX" secondItem="Xnz-EW-9gg" secondAttribute="centerX" id="rML-gL-iXA"/>
+                            <constraint firstItem="o6I-qu-IDh" firstAttribute="width" secondItem="o6I-qu-IDh" secondAttribute="height" multiplier="1:1" priority="750" id="tPF-eA-Pcb"/>
+                        </constraints>
+                        <viewLayoutGuide key="safeArea" id="Yku-CN-snD"/>
+                    </view>
+                    <connections>
+                        <outlet property="buttonHost" destination="Z5d-gx-rTR" id="Ngu-DS-yLh"/>
+                        <outlet property="buttonLogin" destination="Yyc-bK-mqW" id="LPF-TP-LmK"/>
+                        <outlet property="buttonSignUp" destination="N4X-JQ-1c1" id="jz0-6S-IxP"/>
+                        <outlet property="introCollectionView" destination="o6I-qu-IDh" id="DVx-Rt-VE8"/>
+                        <outlet property="pageControl" destination="Eu1-Gv-7Jx" id="brQ-v9-knr"/>
+                    </connections>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="0nF-77-z2t" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="-158" y="123"/>
+        </scene>
+    </scenes>
+</document>

+ 0 - 118
iOSClient/Brand/Intro/IntroView.xib

@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
-    <device id="retina5_9" orientation="portrait">
-        <adaptation id="fullscreen"/>
-    </device>
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
-        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
-        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="IntroView" customModule="Nextcloud" customModuleProvider="target">
-            <rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
-            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-            <subviews>
-                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eXx-EZ-qlO">
-                    <rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
-                    <subviews>
-                        <button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="twJ-n3-mgv">
-                            <rect key="frame" x="52.666666666666657" y="501" width="270" height="40"/>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="270" id="fg7-vj-OWg"/>
-                                <constraint firstAttribute="height" constant="40" id="nuu-SU-mRi"/>
-                            </constraints>
-                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
-                            <state key="normal" title="Login"/>
-                            <connections>
-                                <action selector="login:" destination="iN0-l3-epB" eventType="touchUpInside" id="neB-f8-gWJ"/>
-                            </connections>
-                        </button>
-                        <button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FfA-1J-1vc">
-                            <rect key="frame" x="52.666666666666657" y="557" width="270" height="40"/>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="270" id="XMy-Bo-AbU"/>
-                                <constraint firstAttribute="height" constant="40" id="pbU-Yz-Qz5"/>
-                            </constraints>
-                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
-                            <state key="normal" title="Signup"/>
-                            <connections>
-                                <action selector="signup:" destination="iN0-l3-epB" eventType="touchUpInside" id="hQK-vz-uRg"/>
-                            </connections>
-                        </button>
-                        <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" pagingEnabled="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="NgB-S6-3Cp">
-                            <rect key="frame" x="8" y="60" width="359" height="359"/>
-                            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                            <constraints>
-                                <constraint firstAttribute="width" secondItem="NgB-S6-3Cp" secondAttribute="height" multiplier="1:1" priority="750" id="2Vf-FT-E9n"/>
-                            </constraints>
-                            <collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="Yfp-WG-gMy">
-                                <size key="itemSize" width="0.0" height="0.0"/>
-                                <size key="headerReferenceSize" width="0.0" height="0.0"/>
-                                <size key="footerReferenceSize" width="0.0" height="0.0"/>
-                                <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
-                            </collectionViewFlowLayout>
-                        </collectionView>
-                        <pageControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" numberOfPages="3" translatesAutoresizingMaskIntoConstraints="NO" id="Zxj-8i-ZOp">
-                            <rect key="frame" x="168" y="427" width="39" height="10"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="10" id="raN-SI-1Y0"/>
-                            </constraints>
-                        </pageControl>
-                        <button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Om8-k2-tHk">
-                            <rect key="frame" x="52.666666666666657" y="740" width="270" height="30"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="30" id="GNx-pk-SxY"/>
-                                <constraint firstAttribute="width" constant="270" id="edq-KT-xx7"/>
-                            </constraints>
-                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
-                            <state key="normal" title="Host"/>
-                            <connections>
-                                <action selector="host:" destination="iN0-l3-epB" eventType="touchUpInside" id="g4o-hg-ifv"/>
-                            </connections>
-                        </button>
-                    </subviews>
-                    <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                    <constraints>
-                        <constraint firstItem="twJ-n3-mgv" firstAttribute="top" secondItem="Zxj-8i-ZOp" secondAttribute="bottom" priority="250" constant="64" id="21a-6U-WrX"/>
-                        <constraint firstItem="twJ-n3-mgv" firstAttribute="centerX" secondItem="eXx-EZ-qlO" secondAttribute="centerX" id="664-10-bMf"/>
-                        <constraint firstItem="NgB-S6-3Cp" firstAttribute="leading" secondItem="eXx-EZ-qlO" secondAttribute="leading" constant="8" id="AUg-aI-b8x"/>
-                        <constraint firstItem="twJ-n3-mgv" firstAttribute="top" relation="greaterThanOrEqual" secondItem="Zxj-8i-ZOp" secondAttribute="bottom" constant="8" id="CiK-vp-QWa"/>
-                        <constraint firstItem="Om8-k2-tHk" firstAttribute="bottom" secondItem="eXx-EZ-qlO" secondAttribute="bottomMargin" id="MI4-7x-BGg"/>
-                        <constraint firstItem="FfA-1J-1vc" firstAttribute="centerX" secondItem="eXx-EZ-qlO" secondAttribute="centerX" id="MV1-pv-egh"/>
-                        <constraint firstItem="Zxj-8i-ZOp" firstAttribute="centerX" secondItem="eXx-EZ-qlO" secondAttribute="centerX" id="Ps1-ur-W19"/>
-                        <constraint firstItem="NgB-S6-3Cp" firstAttribute="top" secondItem="eXx-EZ-qlO" secondAttribute="top" constant="60" id="Qvd-7E-KJI">
-                            <variation key="heightClass=compact" constant="8"/>
-                        </constraint>
-                        <constraint firstItem="Zxj-8i-ZOp" firstAttribute="top" secondItem="NgB-S6-3Cp" secondAttribute="bottom" constant="8" id="Ryu-kt-AaI"/>
-                        <constraint firstItem="Om8-k2-tHk" firstAttribute="centerX" secondItem="eXx-EZ-qlO" secondAttribute="centerX" id="Trv-Pp-F65"/>
-                        <constraint firstItem="NgB-S6-3Cp" firstAttribute="centerX" secondItem="eXx-EZ-qlO" secondAttribute="centerX" id="gUz-Nd-Ogo"/>
-                        <constraint firstItem="FfA-1J-1vc" firstAttribute="top" secondItem="twJ-n3-mgv" secondAttribute="bottom" constant="16" id="lwW-jL-d54"/>
-                        <constraint firstItem="Om8-k2-tHk" firstAttribute="top" relation="greaterThanOrEqual" secondItem="FfA-1J-1vc" secondAttribute="bottom" constant="8" id="qhI-hY-G2p"/>
-                        <constraint firstAttribute="trailing" secondItem="NgB-S6-3Cp" secondAttribute="trailing" constant="8" id="ruS-K1-w3R"/>
-                    </constraints>
-                </view>
-            </subviews>
-            <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-            <constraints>
-                <constraint firstItem="eXx-EZ-qlO" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="IDH-xX-Qnw"/>
-                <constraint firstItem="eXx-EZ-qlO" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="Z86-yt-xah"/>
-                <constraint firstItem="eXx-EZ-qlO" firstAttribute="trailing" secondItem="iN0-l3-epB" secondAttribute="trailing" id="aA6-fr-CsP"/>
-                <constraint firstAttribute="bottom" secondItem="eXx-EZ-qlO" secondAttribute="bottom" id="gvf-hq-bop"/>
-            </constraints>
-            <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
-            <connections>
-                <outlet property="backgroundView" destination="eXx-EZ-qlO" id="IFL-aL-yiu"/>
-                <outlet property="buttonHost" destination="Om8-k2-tHk" id="Cg2-s2-qFe"/>
-                <outlet property="buttonLogin" destination="twJ-n3-mgv" id="SH1-qa-92p"/>
-                <outlet property="buttonSignUp" destination="FfA-1J-1vc" id="nfS-MO-U6Z"/>
-                <outlet property="introCollectionView" destination="NgB-S6-3Cp" id="x8f-W0-LmU"/>
-                <outlet property="pageControl" destination="Zxj-8i-ZOp" id="D4w-Yb-Rm3"/>
-            </connections>
-            <point key="canvasLocation" x="34.782608695652179" y="34.821428571428569"/>
-        </view>
-    </objects>
-</document>

+ 138 - 0
iOSClient/Brand/Intro/IntroViewController.swift

@@ -0,0 +1,138 @@
+//
+//  IntroViewController.swift
+//  Nextcloud
+//
+//  Created by Philippe Weidmann on 24.12.19.
+//  Copyright © 2019 Philippe Weidmann. All rights reserved.
+//
+//  This program is free software: you can redistribute it and/or modify
+//  it under the terms of the GNU General Public License as published by
+//  the Free Software Foundation, either version 3 of the License, or
+//  (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU General Public License
+//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+//
+
+import UIKit
+
+class IntroViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
+
+    @IBOutlet weak var buttonLogin: UIButton!
+    @IBOutlet weak var buttonSignUp: UIButton!
+    @IBOutlet weak var buttonHost: UIButton!
+    @IBOutlet weak var introCollectionView: UICollectionView!
+    @IBOutlet weak var pageControl: UIPageControl!
+
+    @objc var delegate: IntroViewController?
+    private let titles = [NSLocalizedString("_intro_1_title_", comment: ""), NSLocalizedString("_intro_2_title_", comment: ""), NSLocalizedString("_intro_3_title_", comment: ""), NSLocalizedString("_intro_4_title_", comment: "")]
+    private let images = [UIImage(named: "intro1"), UIImage(named: "intro2"), UIImage(named: "intro3"), UIImage(named: "intro4")]
+    private var timerAutoScroll: Timer?
+
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        self.navigationController?.navigationBar.tintColor = NCBrandColor.sharedInstance.customerText
+        self.navigationController?.navigationBar.barTintColor = NCBrandColor.sharedInstance.customer
+        self.pageControl.currentPageIndicatorTintColor = NCBrandColor.sharedInstance.customerText
+        self.pageControl.pageIndicatorTintColor = NCBrandColor.sharedInstance.nextcloudSoft
+
+
+        self.buttonLogin.layer.cornerRadius = 20
+        self.buttonLogin.setTitleColor(.black, for: .normal)
+        self.buttonLogin.backgroundColor = NCBrandColor.sharedInstance.customerText
+        self.buttonLogin.setTitle(NSLocalizedString("_log_in_", comment: ""), for: .normal)
+
+        self.buttonSignUp.layer.cornerRadius = 20
+        self.buttonSignUp.setTitleColor(.white, for: .normal)
+        self.buttonSignUp.backgroundColor = UIColor(red: 25.0 / 255.0, green: 89.0 / 255.0, blue: 141.0 / 255.0, alpha: 1)
+        self.buttonSignUp.setTitle(NSLocalizedString("_sign_up_", comment: ""), for: .normal)
+
+        self.buttonHost.layer.cornerRadius = 20
+        self.buttonHost.setTitle(NSLocalizedString("_host_your_own_server", comment: ""), for: .normal)
+        self.buttonHost.setTitleColor(UIColor(red: 1, green: 1, blue: 1, alpha: 0.7), for: .normal)
+
+        self.introCollectionView.register(UINib(nibName: "IntroCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "introCell")
+        self.introCollectionView.dataSource = self
+        self.introCollectionView.delegate = self
+        self.introCollectionView.backgroundColor = NCBrandColor.sharedInstance.customer
+        self.pageControl.numberOfPages = self.titles.count
+        self.view.backgroundColor = NCBrandColor.sharedInstance.customer
+        self.timerAutoScroll = Timer.scheduledTimer(timeInterval: 5, target: self, selector: (#selector(IntroViewController.autoScroll)), userInfo: nil, repeats: true)
+    }
+
+    override func viewWillDisappear(_ animated: Bool) {
+        super.viewWillDisappear(animated)
+        timerAutoScroll?.invalidate()
+    }
+
+    override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
+        pageControl.currentPage = 0
+        introCollectionView.collectionViewLayout.invalidateLayout()
+    }
+
+    @objc func autoScroll() {
+        if(pageControl.currentPage + 1 >= titles.count) {
+            pageControl.currentPage = 0
+        }
+        else {
+            pageControl.currentPage += 1
+        }
+        introCollectionView.scrollToItem(at: IndexPath(row: pageControl.currentPage, section: 0), at: .centeredHorizontally, animated: true)
+    }
+
+    func collectionView(_ collectionView: UICollectionView, targetContentOffsetForProposedContentOffset proposedContentOffset: CGPoint) -> CGPoint {
+        return CGPoint.zero
+    }
+
+    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
+        return titles.count
+    }
+
+    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
+        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "introCell", for: indexPath) as! IntroCollectionViewCell
+        cell.backgroundColor = NCBrandColor.sharedInstance.customer
+
+        cell.titleLabel.textColor = NCBrandColor.sharedInstance.customerText
+        cell.titleLabel.text = titles[indexPath.row]
+        cell.imageView.image = images[indexPath.row]
+        return cell
+    }
+
+    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
+        return collectionView.bounds.size
+    }
+
+    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
+        timerAutoScroll = Timer.scheduledTimer(timeInterval: 5, target: self, selector: (#selector(IntroViewController.autoScroll)), userInfo: nil, repeats: true)
+        pageControl.currentPage = Int(scrollView.contentOffset.x) / Int(scrollView.frame.width)
+    }
+
+    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
+        timerAutoScroll?.invalidate()
+    }
+
+    @IBAction func login(_ sender: Any) {
+        (UIApplication.shared.delegate as! AppDelegate).openLoginView(navigationController, selector: Int(k_intro_login), openLoginWeb: false)
+    }
+
+    @IBAction func signup(_ sender: Any) {
+        (UIApplication.shared.delegate as! AppDelegate).openLoginView(navigationController, selector: Int(k_intro_signup), openLoginWeb: false)
+    }
+
+    @IBAction func host(_ sender: Any) {
+        let appDelegate = UIApplication.shared.delegate as? AppDelegate
+
+        let browserWebVC = UIStoryboard(name: "NCBrowserWeb", bundle: nil).instantiateInitialViewController() as? NCBrowserWeb
+
+        browserWebVC?.urlBase = NCBrandOptions.sharedInstance.linkLoginHost
+
+        if let browserWebVC = browserWebVC {
+            appDelegate?.window.rootViewController?.present(browserWebVC, animated: true)
+        }
+    }
+}

+ 3 - 9
iOSClient/Login/CCLogin.m

@@ -44,7 +44,6 @@
 {
     if (self = [super initWithCoder:aDecoder])  {
         appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
-        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dismissCCLogin) name:@"dismissCCLogin" object:nil];
     }
     
     return self;
@@ -185,10 +184,10 @@
             // Login Flow
             if (_user.hidden && _password.hidden && versionMajor >= k_flow_version_available) {
                 
-                appDelegate.activeLoginWeb = [[UIStoryboard storyboardWithName:@"CCLogin" bundle:nil] instantiateViewControllerWithIdentifier:@"NCLoginWeb"];
-                appDelegate.activeLoginWeb.urlBase = self.baseUrl.text;
+                NCLoginWeb *activeLoginWeb = [[UIStoryboard storyboardWithName:@"CCLogin" bundle:nil] instantiateViewControllerWithIdentifier:@"NCLoginWeb"];
+                activeLoginWeb.urlBase = self.baseUrl.text;
                 
-                [self presentViewController:appDelegate.activeLoginWeb animated:YES completion:nil];
+                [self.navigationController pushViewController:activeLoginWeb animated:true];
             }
             
             // NO Login Flow available
@@ -342,11 +341,6 @@
     }
 }
 
-- (void)dismissCCLogin
-{
-    [self dismissViewControllerAnimated:NO completion:nil];
-}
-
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark == Action ==
 #pragma --------------------------------------------------------------------------------------------

+ 7 - 27
iOSClient/Login/CCLogin.storyboard

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14868" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14824"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -11,7 +11,7 @@
         <!--Login-->
         <scene sceneID="fVe-zF-WhZ">
             <objects>
-                <viewController storyboardIdentifier="CCLoginNextcloud" modalPresentationStyle="fullScreen" id="yj9-jo-WIn" customClass="CCLogin" sceneMemberID="viewController">
+                <viewController storyboardIdentifier="CCLoginNextcloud" id="yj9-jo-WIn" customClass="CCLogin" sceneMemberID="viewController">
                     <view key="view" contentMode="scaleToFill" id="Bv6-g3-l0M">
                         <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
@@ -168,6 +168,7 @@
                         </constraints>
                         <viewLayoutGuide key="safeArea" id="8lf-3Y-f5R"/>
                     </view>
+                    <navigationItem key="navigationItem" id="6v9-Gy-jiv"/>
                     <connections>
                         <outlet property="activity" destination="Kfq-Bg-a0E" id="Xx6-cQ-Yef"/>
                         <outlet property="annulla" destination="bSU-bn-DlO" id="30o-yK-jjV"/>
@@ -186,7 +187,7 @@
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="dCU-1X-uQw" userLabel="First Responder" sceneMemberID="firstResponder"/>
             </objects>
-            <point key="canvasLocation" x="3588.4057971014495" y="-1211.3839285714284"/>
+            <point key="canvasLocation" x="4498.5507246376819" y="-1211.3839285714284"/>
         </scene>
         <!--Login Web-->
         <scene sceneID="3Rv-vf-u17">
@@ -195,33 +196,13 @@
                     <view key="view" contentMode="scaleToFill" id="UX5-cJ-bY6">
                         <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cu2-5h-AYD">
-                                <rect key="frame" x="374" y="54" width="30" height="30"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="30" id="YkC-Vc-Xvs"/>
-                                    <constraint firstAttribute="width" constant="30" id="cFS-ia-6uF"/>
-                                </constraints>
-                                <state key="normal" image="exitCircle"/>
-                                <connections>
-                                    <action selector="touchUpInsideButtonExit:" destination="yEb-Ky-35s" eventType="touchUpInside" id="yOK-1Z-3bI"/>
-                                </connections>
-                            </button>
-                        </subviews>
                         <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                        <constraints>
-                            <constraint firstItem="vqz-4v-cZu" firstAttribute="trailing" secondItem="cu2-5h-AYD" secondAttribute="trailing" constant="10" id="e12-jJ-irn"/>
-                            <constraint firstItem="cu2-5h-AYD" firstAttribute="top" secondItem="vqz-4v-cZu" secondAttribute="top" constant="10" id="w2J-N0-HHq"/>
-                        </constraints>
                         <viewLayoutGuide key="safeArea" id="vqz-4v-cZu"/>
                     </view>
-                    <connections>
-                        <outlet property="buttonExit" destination="cu2-5h-AYD" id="1Qq-gB-3g1"/>
-                    </connections>
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="pz9-Hz-nT9" userLabel="First Responder" sceneMemberID="firstResponder"/>
             </objects>
-            <point key="canvasLocation" x="4511.594202898551" y="-1210.0446428571429"/>
+            <point key="canvasLocation" x="5421.739130434783" y="-1210.0446428571429"/>
         </scene>
         <!--App Config View-->
         <scene sceneID="BeF-ke-GzC">
@@ -258,11 +239,10 @@
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="JhO-p5-bOq" userLabel="First Responder" sceneMemberID="firstResponder"/>
             </objects>
-            <point key="canvasLocation" x="5477" y="-1214"/>
+            <point key="canvasLocation" x="6386.9565217391309" y="-1214.0625"/>
         </scene>
     </scenes>
     <resources>
-        <image name="exitCircle" width="329" height="329"/>
         <image name="loginPassword" width="25" height="25"/>
         <image name="loginURL" width="25" height="25"/>
         <image name="loginUser" width="25" height="25"/>

+ 21 - 17
iOSClient/Login/NCLoginWeb.swift

@@ -25,13 +25,12 @@ import Foundation
 
 class NCLoginWeb: UIViewController {
     
+    var activityIndicator: UIActivityIndicatorView!
     var webView: WKWebView?
     let appDelegate = UIApplication.shared.delegate as! AppDelegate
 
     @objc var urlBase = ""
 
-    @IBOutlet weak var buttonExit: UIButton!
-
     override func viewDidLoad() {
         super.viewDidLoad()
         
@@ -52,8 +51,10 @@ class NCLoginWeb: UIViewController {
             urlBase =  urlBase + k_flowEndpoint
         }
         
-        // buttonExitVisible
-        self.view.bringSubviewToFront(buttonExit)
+        activityIndicator = UIActivityIndicatorView(style: .gray)
+        activityIndicator.center = self.view.center
+        activityIndicator.startAnimating()
+        self.view.addSubview(activityIndicator)
         
         loadWebPage(webView: webView!, url: URL(string: urlBase)!)
     }
@@ -84,12 +85,6 @@ class NCLoginWeb: UIViewController {
         webView.load(request)
     }
     
-    @IBAction func touchUpInsideButtonExit(_ sender: UIButton) {
-        
-        self.dismiss(animated: true) {
-            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "dismissCCLogin"), object: nil, userInfo: nil)
-        }
-    }
 }
 
 extension NCLoginWeb: WKNavigationDelegate {
@@ -134,9 +129,6 @@ extension NCLoginWeb: WKNavigationDelegate {
                 // NO account found, clear
                 if NCManageDatabase.sharedInstance.getAccounts() == nil { NCUtility.sharedInstance.removeAllSettings() }
                 
-                // STOP Intro
-                CCUtility.setIntro(true)
-                
                 // Add new account
                 NCManageDatabase.sharedInstance.deleteAccount(account)
                 NCManageDatabase.sharedInstance.addAccount(account, url: serverUrl, user: username, password: token)
@@ -148,10 +140,21 @@ extension NCLoginWeb: WKNavigationDelegate {
                 
                 appDelegate.settingActiveAccount(account, activeUrl: serverUrl, activeUser: username, activeUserID: tableAccount.userID, activePassword: token)
                 
-                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "initializeMain"), object: nil, userInfo: nil)
-                
-                self.dismiss(animated: true) {
-                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "dismissCCLogin"), object: nil, userInfo: nil)
+                if (CCUtility.getIntro()) {
+                    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "initializeMain"), object: nil, userInfo: nil)
+                    self.dismiss(animated: true)
+                    
+                } else {
+                    CCUtility.setIntro(true)
+                    if (self.presentingViewController == nil) {
+                        let splitController = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController()
+                        splitController?.modalPresentationStyle = .fullScreen
+                        NotificationCenter.default.post(name: NSNotification.Name(rawValue: "initializeMain"), object: nil, userInfo: nil)
+                        self.navigationController?.present(splitController!, animated: true)
+                    } else {
+                        NotificationCenter.default.post(name: NSNotification.Name(rawValue: "initializeMain"), object: nil, userInfo: nil)
+                        self.dismiss(animated: true)
+                    }
                 }
             }
         }
@@ -201,6 +204,7 @@ extension NCLoginWeb: WKNavigationDelegate {
     }
     
     public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
+        activityIndicator.stopAnimating()
         print("didFinishProvisionalNavigation");
     }
 }

+ 0 - 2
iOSClient/Main/CCSplit.h

@@ -31,6 +31,4 @@
 @property (nonatomic, strong) NSString *version;
 @property (nonatomic, strong) NSString *build;
 
-- (void)introFinishSelector:(NSInteger)selector;
-
 @end

+ 0 - 60
iOSClient/Main/CCSplit.m

@@ -67,14 +67,6 @@
     [self inizialize];    
 }
 
-// Apparirà
-- (void)viewWillAppear:(BOOL)animated
-{
-    [super viewWillAppear:animated];
-    
-    [self showIntro];
-}
-
 - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
 {
     [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
@@ -119,58 +111,6 @@
     [[NSNotificationCenter defaultCenter] postNotificationOnMainThreadName:@"initializeMain" object:nil userInfo:nil];
 }
 
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark ===== Intro =====
-#pragma --------------------------------------------------------------------------------------------
-
-- (void)showIntro
-{
-    if ([NCBrandOptions sharedInstance].disable_intro) {
-        
-        [CCUtility setIntro:YES];
-        
-        if (appDelegate.activeAccount.length == 0) {
-            [appDelegate openLoginView:self selector:k_intro_login openLoginWeb:false];
-        }
-        
-    } else {
-    
-        if ([CCUtility getIntro] == NO) {
-            IntroView *intro = [IntroView instanceFromNib];
-            intro.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
-            intro.delegate = self;
-            [self.view addSubview:intro];
-        } else {
-            
-            if (appDelegate.activeAccount.length == 0) {
-                [appDelegate openLoginView:self selector:k_intro_login openLoginWeb:false];
-            }
-        }
-    }
-}
-
-- (void)introFinishSelector:(NSInteger)selector
-{
-    switch (selector) {
-            
-        case k_intro_login:
-            {
-                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
-                    if (appDelegate.activeAccount.length == 0) {
-                        [appDelegate openLoginView:self selector:k_intro_login openLoginWeb:false];
-                    }
-                });
-            }
-            break;
-            
-        case k_intro_signup:
-            {
-                [appDelegate openLoginView:self selector:k_intro_signup openLoginWeb:false];
-            }
-            break;
-    }
-}
-
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark ===== Split View Controller =====
 #pragma --------------------------------------------------------------------------------------------

BIN
iOSClient/Supporting Files/af.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/ar.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/ast.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/az.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/be.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/bg_BG.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/bn_BD.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/bs.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/cy_GB.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/el.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/eo.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/es-AR.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/et_EE.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/eu.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/fa.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/fi-FI.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/he.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/hy.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/ia.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/id.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/km.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/kn.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/lb.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/lt_LT.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/lv.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/mk.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/mn.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/ms_MY.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/nn_NO.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/oc.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/ro.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/si_LK.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/sl.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/sq.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/sr@latin.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/ta_LK.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/th_TH.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/ug.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/uk.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/ur_PK.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/vi.lproj/Localizable.strings


BIN
iOSClient/Supporting Files/zh_HK.lproj/Localizable.strings