Skip to content

feat(vue-starter-template): enhance login and registration flow with …#2300

Merged
Maciej D (mdanilowicz) merged 7 commits intomainfrom
feat/GH-1976
Mar 3, 2026
Merged

feat(vue-starter-template): enhance login and registration flow with …#2300
Maciej D (mdanilowicz) merged 7 commits intomainfrom
feat/GH-1976

Conversation

@mdanilowicz
Copy link
Contributor

This pull request refactors authentication and registration flows in the Vue starter template to improve user experience and code maintainability. The login and registration pages are unified, modal-based login is replaced with dedicated pages, and redirection logic is enhanced to ensure users are properly navigated to the login page when authentication is required. Additionally, registration forms and i18n translations are updated for clarity and consistency.

Authentication and Redirection Improvements

  • Replaced modal-based login with a dedicated /account/login page, updating navigation and removing modal logic from Header.vue. [1] [2] [3] [4]
  • Refactored useAuthGuardRedirection to redirect unauthenticated users to the login page with a redirect query parameter, ensuring seamless navigation after login. [1] [2]
  • Updated wishlist and registration links to use the new login page and include redirect parameters for improved user flow. [1] [2]

Login and Registration Form Updates

  • Unified login and registration forms on the /account/login page, with conditional rendering for sign-up options and improved navigation after login. [1] [2] [3]
  • Enhanced registration form state typing, added support for redirect URLs, and improved form submission logic for clearer code and better user experience. [1] [2] [3]

Internationalization and UI Enhancements

  • Updated account-related i18n translations for German, English, and Polish to provide clearer headers and subheaders for registration. [1] [2] [3]
  • Improved registration form layout and added descriptive headers and subheaders for better clarity and usability.

Page Structure Changes

  • Removed the standalone /register page in favor of unified login/registration on /account/login. [1] [2]

These changes collectively modernize the authentication flow, enhance user navigation, and make the codebase easier to maintain.

closes #1976

@vercel
Copy link

vercel bot commented Feb 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
frontends-starter-template-extended Ready Ready Preview, Comment Mar 3, 2026 10:27am
frontends-vue-starter-template Building Building Preview, Comment Mar 3, 2026 10:27am
old-frontends-demo Ready Ready Preview, Comment Mar 3, 2026 10:27am
shopware-frontends-docs Ready Ready Preview Mar 3, 2026 10:27am

Request Review

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR modernizes the Vue starter template’s authentication UX by moving from a header login modal + separate register page to a unified /account/login page that includes both login and registration, while also introducing redirect-to-login behavior for auth-guarded areas.

Changes:

  • Added a dedicated /account/login page that renders login + registration side-by-side and removed the standalone /register page.
  • Refactored useAuthGuardRedirection to redirect unauthenticated users to the login page with a redirect query param.
  • Updated header/wishlist navigation and refined registration UI copy (including i18n updates).

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
templates/vue-starter-template/i18n/pl-PL/account.json Updates Polish signup header/subheader copy used by the refreshed registration UI.
templates/vue-starter-template/i18n/en-GB/account.json Updates English signup header/subheader copy used by the refreshed registration UI.
templates/vue-starter-template/i18n/de-DE/account.json Updates German signup header/subheader copy used by the refreshed registration UI.
templates/vue-starter-template/app/pages/wishlist.vue Routes unauthenticated users to the new login page (with redirect + registration anchor).
templates/vue-starter-template/app/pages/register.vue Removes the legacy standalone register page.
templates/vue-starter-template/app/pages/account/login.vue Introduces the new unified login/registration page.
templates/vue-starter-template/app/layouts/account.vue Switches account layout to the new auth-guard redirect behavior.
templates/vue-starter-template/app/composables/useAuthGuard.ts Refactors auth guard to redirect to login with redirect query parameter.
templates/vue-starter-template/app/components/layout/Header.vue Removes modal login flow; navigates to the new login page instead.
templates/vue-starter-template/app/components/account/RegistrationForm.vue Refactors registration state typing and submission + updates UI headings.
templates/vue-starter-template/app/components/account/LoginForm.vue Converts login form to page-based navigation and adds optional hiding of sign-up CTA.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@mkucmus Maciek Kucmus (mkucmus) left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just one change for consistence

Copy link
Contributor

@patzick Patryk Tomczyk (patzick) left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Connecting these forms is nice

Few problems while clicking through the demo

  1. I cannot login on checkout, this is also part of that flow
  2. country list is is US only
  3. form has some accessibility issues - labels not indicate ids, input ids not there, take a look in chrome it shows good insights and clicking through issues will show you proper values
Image

@mdanilowicz
Copy link
Contributor Author

  1. I cannot login on checkout, this is also part of that flow

I created new task for that #2306

  1. country list is is US only

Configuration
Screenshot 2026-03-02 at 19 39 58

  1. form has some accessibility issues - labels not indicate ids, input ids not there, take a look in chrome it shows good insights and clicking through issues will show you proper values
Image

Done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Layers / Pages / Registration page v2

4 participants