Skip to content

Commit

Permalink
Update logic for buttons on prologue screen
Browse files Browse the repository at this point in the history
  • Loading branch information
itsmeichigo committed Mar 20, 2024
1 parent c2fed7a commit 046be80
Showing 1 changed file with 44 additions and 19 deletions.
63 changes: 44 additions & 19 deletions WordPressAuthenticator/Signin/LoginPrologueViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -271,13 +271,22 @@ class LoginPrologueViewController: LoginViewController {
let displayStrings = WordPressAuthenticator.shared.displayStrings
let buttons: [StackedButton]

let continueWithWPButton = StackedButton(title: displayStrings.continueWithWPButtonTitle,
isPrimary: true,
configureBodyFontForTitle: true,
accessibilityIdentifier: "Prologue Continue Button",
style: primaryButtonStyle,
onTap: loginTapCallback())
let enterYourSiteAddressButton: StackedButton = {
let continueWithWPButton: StackedButton? = {
guard !configuration.enableSiteAddressLoginOnlyInPrologue else {
return nil
}
return StackedButton(title: displayStrings.continueWithWPButtonTitle,
isPrimary: true,
configureBodyFontForTitle: true,
accessibilityIdentifier: "Prologue Continue Button",
style: primaryButtonStyle,
onTap: loginTapCallback())
}()

let enterYourSiteAddressButton: StackedButton? = {
guard !configuration.enableWPComLoginOnlyInPrologue else {
return nil
}
let isPrimary = configuration.enableSiteAddressLoginOnlyInPrologue && !configuration.enableSiteCreation
return StackedButton(title: displayStrings.enterYourSiteAddressButtonTitle,
isPrimary: isPrimary,
Expand All @@ -286,7 +295,11 @@ class LoginPrologueViewController: LoginViewController {
style: secondaryButtonStyle,
onTap: siteAddressTapCallback())
}()
let createSiteButton: StackedButton = {

let createSiteButton: StackedButton? = {
guard configuration.enableSiteCreation else {
return nil
}
let isPrimary = configuration.enableSiteAddressLoginOnlyInPrologue
return StackedButton(title: displayStrings.siteCreationButtonTitle,
isPrimary: isPrimary,
Expand All @@ -296,20 +309,32 @@ class LoginPrologueViewController: LoginViewController {
onTap: simplifiedLoginSiteCreationCallback())
}()

let siteCreationGuideButton: StackedButton = {
StackedButton(title: displayStrings.siteCreationGuideButtonTitle,
isPrimary: false,
configureBodyFontForTitle: true,
accessibilityIdentifier: "Prologue Site Creation Guide button",
style: NUXButtonStyle.linkButtonStyle,
onTap: siteCreationGuideCallback())
let createSiteButtonForBottomStackView: StackedButton? = {
guard let createSiteButton else {
return nil
}
return StackedButton(using: createSiteButton, stackView: .bottom)
}()

let siteCreationGuideButton: StackedButton? = {
guard configuration.enableSiteCreationGuide else {
return nil
}
return StackedButton(title: displayStrings.siteCreationGuideButtonTitle,
isPrimary: false,
configureBodyFontForTitle: true,
accessibilityIdentifier: "Prologue Site Creation Guide button",
style: NUXButtonStyle.linkButtonStyle,
onTap: siteCreationGuideCallback())
}()

let showBothLoginOptions = continueWithWPButton != nil && enterYourSiteAddressButton != nil
buttons = [
configuration.enableWPComLoginOnlyInPrologue ? nil : enterYourSiteAddressButton,
configuration.enableSiteAddressLoginOnlyInPrologue ? nil : continueWithWPButton,
configuration.enableSiteCreation ? createSiteButton : nil,
configuration.enableSiteCreationGuide ? siteCreationGuideButton : nil
continueWithWPButton,
!showBothLoginOptions ? createSiteButton : nil,
enterYourSiteAddressButton,
showBothLoginOptions ? createSiteButtonForBottomStackView : nil,
siteCreationGuideButton
].compactMap { $0 }

let showDivider = configuration.enableWPComLoginOnlyInPrologue == false &&
Expand Down

0 comments on commit 046be80

Please sign in to comment.