diff --git a/packages/reaction-core/client/app.coffee b/packages/reaction-core/client/app.coffee index 6acc551af0c..9ba2ed3ac2f 100644 --- a/packages/reaction-core/client/app.coffee +++ b/packages/reaction-core/client/app.coffee @@ -71,6 +71,5 @@ _.extend ReactionCore, getShopId: -> return @shopId - Meteor.startup -> - ReactionCore.init() \ No newline at end of file + ReactionCore.init() diff --git a/packages/reaction-core/client/templates/accounts/accounts-ui/accounts-ui.coffee b/packages/reaction-core/client/templates/accounts/accounts-ui/accounts-ui.coffee index bf1ed361bb4..68ba277c0ea 100644 --- a/packages/reaction-core/client/templates/accounts/accounts-ui/accounts-ui.coffee +++ b/packages/reaction-core/client/templates/accounts/accounts-ui/accounts-ui.coffee @@ -29,4 +29,4 @@ Template.core_loginButtonsChangePassword.replaces("_loginButtonsChangePassword") # extend login_buttons_single.html to use Reaction specific templates Template.core_loginButtonsLoggedOutSingleLoginButton.replaces("_loginButtonsLoggedOutSingleLoginButton") Template.core_loginButtonsLoggingInSingleLoginButton.replaces("_loginButtonsLoggingInSingleLoginButton") -Template.core_loginButtonsLoggedInSingleLogoutButton.replaces("_loginButtonsLoggedInSingleLogoutButton") \ No newline at end of file +Template.core_loginButtonsLoggedInSingleLogoutButton.replaces("_loginButtonsLoggedInSingleLogoutButton") diff --git a/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.coffee b/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.coffee new file mode 100644 index 00000000000..9d9f8b75be4 --- /dev/null +++ b/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.coffee @@ -0,0 +1,32 @@ +loginButtonsSession = Accounts._loginButtonsSession + +Template._loginButtonsLoggedOutPasswordService.helpers + # Build a decorator to wrap the original function from Accounts package. When called, + # just modify the visible property of the password field. + fields: ((func) -> + -> + fields = func() + unless loginButtonsSession.get("inSignupFlow") + fields.forEach (item, i) -> + if item.fieldName is "password" + item.visible = -> + not Session.get("Reactioncommerce.Core.loginButtons.inLoginAsGuestFlow") + return + return fields + )(Blaze._getTemplateHelper(Template._loginButtonsLoggedOutPasswordService, "fields")) + + inLoginAsGuestFlow: -> + return Session.get "Reactioncommerce.Core.loginButtons.inLoginAsGuestFlow" + + inLoginFlow: -> + return not Session.get("Reactioncommerce.Core.loginButtons.inLoginAsGuestFlow") and + not loginButtonsSession.get("inSignupFlow") and + not loginButtonsSession.get("inForgotPasswordFlow") + + resetLoginFlow: -> + Session.set 'Reactioncommerce.Core.loginButtons.inLoginAsGuestFlow', false + loginButtonsSession.set "inSignupFlow", false + loginButtonsSession.set 'inForgotPasswordFlow', false + + canCheckoutAsGuest: -> + !!ReactionCore.canCheckoutAsGuest() diff --git a/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.html b/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.html index d0b1fbfc23a..720b75c7da4 100644 --- a/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.html +++ b/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.html @@ -74,7 +74,7 @@ {{#if hasOtherServices}} {{! the password service will always come last }} {{> _loginButtonsLoggedOutPasswordServiceSeparator}} {{/if}} - {{> _loginButtonsLoggedOutPasswordService}} + {{> _loginButtonsLoggedOutPasswordService inline=../inline }} {{else}} {{> _loginButtonsLoggedOutSingleLoginButton}} {{/if}} @@ -94,6 +94,9 @@ + + +