From 8121923a907d2ec31e9a1e39ddce330c430d243e Mon Sep 17 00:00:00 2001 From: Najdanovic Ivan Date: Fri, 18 May 2018 00:09:28 +0200 Subject: [PATCH 1/3] hideCancelButton implementation --- FirebaseAuthUI/FUIAuth.h | 5 ++++ FirebaseAuthUI/FUIAuthPickerViewController.m | 13 +++++---- FirebaseAuthUI/FUIEmailEntryViewController.m | 12 ++++---- .../FUIPasswordSignInViewController.m | 28 ++++++++++--------- .../FUIPhoneEntryViewController.m | 19 +++++++++---- 5 files changed, 49 insertions(+), 28 deletions(-) diff --git a/FirebaseAuthUI/FUIAuth.h b/FirebaseAuthUI/FUIAuth.h index 6dda18424fd..4dcf4925ba8 100644 --- a/FirebaseAuthUI/FUIAuth.h +++ b/FirebaseAuthUI/FUIAuth.h @@ -181,6 +181,11 @@ __attribute__((deprecated("Instead use authUI:didSignInWithAuthDataResult:error: */ @property(nonatomic, assign) BOOL allowNewEmailAccounts; +/** @property hideCancelButton + @brief Whether to hide the canel button, defaults to NO. + */ +@property(nonatomic, assign) BOOL hideCancelButton; + /** @property customStringsBundle @brief Custom strings bundle supplied by the developer. Nil when there is no custom strings bundle set. In which case the default bundle will be used. diff --git a/FirebaseAuthUI/FUIAuthPickerViewController.m b/FirebaseAuthUI/FUIAuthPickerViewController.m index b7eeaa22d77..19e299e3480 100644 --- a/FirebaseAuthUI/FUIAuthPickerViewController.m +++ b/FirebaseAuthUI/FUIAuthPickerViewController.m @@ -80,11 +80,14 @@ - (instancetype)initWithNibName:(NSString *)nibNameOrNil - (void)viewDidLoad { [super viewDidLoad]; - UIBarButtonItem *cancelBarButton = - [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel - target:self - action:@selector(cancelAuthorization)]; - self.navigationItem.leftBarButtonItem = cancelBarButton; + if (!self.authUI.hideCancelButton) { + UIBarButtonItem *cancelBarButton = + [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel + target:self + action:@selector(cancelAuthorization)]; + self.navigationItem.leftBarButtonItem = cancelBarButton; + } + self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back) style:UIBarButtonItemStylePlain diff --git a/FirebaseAuthUI/FUIEmailEntryViewController.m b/FirebaseAuthUI/FUIEmailEntryViewController.m index 883e06ad0f5..3f64ed86c55 100644 --- a/FirebaseAuthUI/FUIEmailEntryViewController.m +++ b/FirebaseAuthUI/FUIEmailEntryViewController.m @@ -102,11 +102,13 @@ - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; if (self.navigationController.viewControllers.firstObject == self) { - UIBarButtonItem *cancelBarButton = - [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel - target:self - action:@selector(cancelAuthorization)]; - self.navigationItem.leftBarButtonItem = cancelBarButton; + if (!self.authUI.hideCancelButton) { + UIBarButtonItem *cancelBarButton = + [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel + target:self + action:@selector(cancelAuthorization)]; + self.navigationItem.leftBarButtonItem = cancelBarButton; + } self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back) style:UIBarButtonItemStylePlain diff --git a/FirebaseAuthUI/FUIPasswordSignInViewController.m b/FirebaseAuthUI/FUIPasswordSignInViewController.m index e080e00144e..147c4314e67 100644 --- a/FirebaseAuthUI/FUIPasswordSignInViewController.m +++ b/FirebaseAuthUI/FUIPasswordSignInViewController.m @@ -96,20 +96,22 @@ - (void)viewDidLoad { } - (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - if (self.navigationController.viewControllers.firstObject == self) { - UIBarButtonItem *cancelBarButton = - [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel - target:self - action:@selector(cancelAuthorization)]; - self.navigationItem.leftBarButtonItem = cancelBarButton; - self.navigationItem.backBarButtonItem = - [[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back) - style:UIBarButtonItemStylePlain - target:nil - action:nil]; + [super viewWillAppear:animated]; + + if (self.navigationController.viewControllers.firstObject == self) { + if (!self.authUI.hideCancelButton) { + UIBarButtonItem *cancelBarButton = + [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel + target:self + action:@selector(cancelAuthorization)]; + self.navigationItem.leftBarButtonItem = cancelBarButton; } + self.navigationItem.backBarButtonItem = + [[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back) + style:UIBarButtonItemStylePlain + target:nil + action:nil]; + } } #pragma mark - Actions diff --git a/FirebasePhoneAuthUI/FUIPhoneEntryViewController.m b/FirebasePhoneAuthUI/FUIPhoneEntryViewController.m index 03db4454695..21c362b8c0b 100644 --- a/FirebasePhoneAuthUI/FUIPhoneEntryViewController.m +++ b/FirebasePhoneAuthUI/FUIPhoneEntryViewController.m @@ -140,11 +140,20 @@ - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; if (self.navigationController.viewControllers.firstObject == self) { - UIBarButtonItem *cancelBarButton = - [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel - target:self - action:@selector(cancelAuthorization)]; - self.navigationItem.leftBarButtonItem = cancelBarButton; + if (self.authUI.providers.count != 1){ + UIBarButtonItem *cancelBarButton = + [[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back) + style:UIBarButtonItemStylePlain + target:self + action:@selector(cancelAuthorization)]; + self.navigationItem.leftBarButtonItem = cancelBarButton; + } else if (!self.authUI.hideCancelButton) { + UIBarButtonItem *cancelBarButton = + [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel + target:self + action:@selector(cancelAuthorization)]; + self.navigationItem.leftBarButtonItem = cancelBarButton; + } self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back) style:UIBarButtonItemStylePlain From 3e84fdd4d4d683c14af86e1bea3f5170e90f3597 Mon Sep 17 00:00:00 2001 From: Najdanovic Ivan Date: Fri, 18 May 2018 00:11:53 +0200 Subject: [PATCH 2/3] Removed line break to keep the same code style --- FirebaseAuthUI/FUIAuthPickerViewController.m | 1 - 1 file changed, 1 deletion(-) diff --git a/FirebaseAuthUI/FUIAuthPickerViewController.m b/FirebaseAuthUI/FUIAuthPickerViewController.m index 19e299e3480..a6c8ceeae43 100644 --- a/FirebaseAuthUI/FUIAuthPickerViewController.m +++ b/FirebaseAuthUI/FUIAuthPickerViewController.m @@ -87,7 +87,6 @@ - (void)viewDidLoad { action:@selector(cancelAuthorization)]; self.navigationItem.leftBarButtonItem = cancelBarButton; } - self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back) style:UIBarButtonItemStylePlain From 0d68466c5026ec27077dbc3610f7dad054a5e3c1 Mon Sep 17 00:00:00 2001 From: Najdanovic Ivan Date: Fri, 18 May 2018 12:58:01 +0200 Subject: [PATCH 3/3] renamed hideCancelButton to shouldHideCancelButton --- FirebaseAuthUI/FUIAuth.h | 4 ++-- FirebaseAuthUI/FUIAuthPickerViewController.m | 2 +- FirebaseAuthUI/FUIEmailEntryViewController.m | 2 +- FirebaseAuthUI/FUIPasswordSignInViewController.m | 2 +- FirebasePhoneAuthUI/FUIPhoneEntryViewController.m | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/FirebaseAuthUI/FUIAuth.h b/FirebaseAuthUI/FUIAuth.h index 4dcf4925ba8..1bb094aa7a3 100644 --- a/FirebaseAuthUI/FUIAuth.h +++ b/FirebaseAuthUI/FUIAuth.h @@ -181,10 +181,10 @@ __attribute__((deprecated("Instead use authUI:didSignInWithAuthDataResult:error: */ @property(nonatomic, assign) BOOL allowNewEmailAccounts; -/** @property hideCancelButton +/** @property shouldHideCancelButton @brief Whether to hide the canel button, defaults to NO. */ -@property(nonatomic, assign) BOOL hideCancelButton; +@property(nonatomic, assign) BOOL shouldHideCancelButton; /** @property customStringsBundle @brief Custom strings bundle supplied by the developer. Nil when there is no custom strings diff --git a/FirebaseAuthUI/FUIAuthPickerViewController.m b/FirebaseAuthUI/FUIAuthPickerViewController.m index a6c8ceeae43..20cb57bd23e 100644 --- a/FirebaseAuthUI/FUIAuthPickerViewController.m +++ b/FirebaseAuthUI/FUIAuthPickerViewController.m @@ -80,7 +80,7 @@ - (instancetype)initWithNibName:(NSString *)nibNameOrNil - (void)viewDidLoad { [super viewDidLoad]; - if (!self.authUI.hideCancelButton) { + if (!self.authUI.shouldHideCancelButton) { UIBarButtonItem *cancelBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self diff --git a/FirebaseAuthUI/FUIEmailEntryViewController.m b/FirebaseAuthUI/FUIEmailEntryViewController.m index 3f64ed86c55..18b79f5e125 100644 --- a/FirebaseAuthUI/FUIEmailEntryViewController.m +++ b/FirebaseAuthUI/FUIEmailEntryViewController.m @@ -102,7 +102,7 @@ - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; if (self.navigationController.viewControllers.firstObject == self) { - if (!self.authUI.hideCancelButton) { + if (!self.authUI.shouldHideCancelButton) { UIBarButtonItem *cancelBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self diff --git a/FirebaseAuthUI/FUIPasswordSignInViewController.m b/FirebaseAuthUI/FUIPasswordSignInViewController.m index 147c4314e67..d5272f62592 100644 --- a/FirebaseAuthUI/FUIPasswordSignInViewController.m +++ b/FirebaseAuthUI/FUIPasswordSignInViewController.m @@ -99,7 +99,7 @@ - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; if (self.navigationController.viewControllers.firstObject == self) { - if (!self.authUI.hideCancelButton) { + if (!self.authUI.shouldHideCancelButton) { UIBarButtonItem *cancelBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self diff --git a/FirebasePhoneAuthUI/FUIPhoneEntryViewController.m b/FirebasePhoneAuthUI/FUIPhoneEntryViewController.m index 21c362b8c0b..f5260a00f74 100644 --- a/FirebasePhoneAuthUI/FUIPhoneEntryViewController.m +++ b/FirebasePhoneAuthUI/FUIPhoneEntryViewController.m @@ -147,7 +147,7 @@ - (void)viewWillAppear:(BOOL)animated { target:self action:@selector(cancelAuthorization)]; self.navigationItem.leftBarButtonItem = cancelBarButton; - } else if (!self.authUI.hideCancelButton) { + } else if (!self.authUI.shouldHideCancelButton) { UIBarButtonItem *cancelBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self