-
Notifications
You must be signed in to change notification settings - Fork 1
feat: Add JoinPage component with navigation and styling #1314
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
f104473 to
0ac7b95
Compare
…tion and enhance tests for logged-in user scenarios
…xisting ones - Added `getInvitesByProfileAndToken` query to fetch invites based on profile and token. - Introduced `deleteProjectsByPid` mutation for deleting projects by ID. - Added `headUsersByEmailByEmail` mutation to check for users by email. - Added `getUsersRoles` query to retrieve user roles. - Removed `postVideosByVidSentiment` mutation as it is no longer needed. - Updated types for new endpoints and modified existing types for clarity.
- Refactored FormProvider to manage form state and validation using Formik and Yup. - Created JoinForm component to render different steps based on the current step. - Added Step1, Step2, and Step3 components for the multi-step join process. - Integrated translation support for form validation messages. - Updated JoinPage layout to include a grid structure for form and image. - Removed obsolete Join fixture and added new step-specific fixtures for testing.
…r Step 1 visibility
…1, enhance test coverage for password requirements
…erage for email inputs
…date goToNextStep method
… Step 1 and Step 3 for consistency
… for button navigation
…il input for invited users
…mprove invited user handling in tests
…ission logic and improve user experience across steps
…ited user handling; update tests for Step3 integration
…d images - Introduced ImagesColumn component to handle image transitions based on the current step in the join process. - Updated JoinForm to remove step 1 description and adjusted layout to accommodate new ImagesColumn. - Modified JoinPage to implement dynamic background images based on the current step. - Added new images in webp format for better performance. - Updated e2e tests to reflect changes in the JoinPage behavior and workspace input state. - Updated yarn.lock to include new dependencies for motion animations.
feat(JoinPage): integrate GTM event tracking for sign-up flow actions
There was a problem hiding this 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 introduces the JoinPage component along with its related form steps, error/loading states, and navigation changes, while also updating API endpoints and translation files.
- Added new JoinPage UI components (Step1, Step2, JoinForm, PasswordRequirements, ImagesColumn, etc.) for a smoother signup experience.
- Updated API endpoints to include a new “getInvitesByProfileAndToken” query and removed deprecated mutations (e.g. postCampaigns, getTemplates), and refreshed translation keys and asset references.
- Added a new route for the join flow and a redirection route based on query parameters, along with minor adjustments in styling and dependency additions.
Reviewed Changes
Copilot reviewed 56 out of 56 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/pages/JoinPage/Steps/Step2.tsx | New component for collecting user name information with form validation. |
| src/pages/JoinPage/Steps/Step1.tsx | New component to capture email and password with inline password visibility toggle. |
| src/pages/JoinPage/PasswordRequirements.tsx | Component that displays the password strength requirements. |
| src/pages/JoinPage/JoinForm.tsx | Main form wrapper coordinating the multi-step join process. |
| src/pages/JoinPage/ImagesColumn.tsx | Renders animated images using the new motion library for a dynamic join experience. |
| src/pages/JoinPage/FormProvider.tsx | Provides Formik context for the join form with initial values and validation schema. |
| src/pages/JoinPage/JoinPageLoading.tsx | Loading state component for the join page. |
| src/pages/JoinPage/JoinPageError.tsx | Error state component for the join page. |
| src/common/Pages.tsx | Updated routing logic including the join page and custom redirect handling for joins. |
| src/features/api/index.ts | New API endpoints added, with removals of deprecated endpoints and additions of invite queries. |
| src/features/api/apiTags.ts | Updated invalidation tags in API endpoints. |
| src/features/api/api.ts | Small cleanup in the API slice and removal of unused types. |
| src/common/schema.ts | Schema updates to reflect new endpoints (/invites/{profile}/{token} and /users endpoints). |
| src/locales/it/translation.json & en/translation.json | Revision of translation keys with removals and updates for the new join experience. |
| package.json | Dependency update with the addition of the "motion" library. |
| index.html | Added title attribute to the loader image for improved accessibility. |
| generate-devel-token copy.json | Added a config file for development token generation. |
Comments suppressed due to low confidence (2)
src/common/Pages.tsx:157
- The redirection logic for the '/join' route checks for a 'redirect' search parameter but then retrieves the 'cid' value. Consider ensuring that the validation consistently uses the intended parameter (e.g. verifying the presence of 'cid') to prevent unexpected redirection outcomes.
<Route path="/join" element={
src/features/api/index.ts:393
- [nitpick] Consider renaming 'getInvitesByProfileAndToken' to a more concise name (e.g. 'getInviteDetails') to improve clarity and consistency with typical API naming conventions.
getInvitesByProfileAndToken: build.query<
generate-devel-token copy.json
Outdated
| { | ||
| "username": "[email protected]", | ||
| "password": "password", | ||
| "url": "https://dev.unguess.io/api" | ||
| } No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
direi no :D
|
use rebased branch instead |
No description provided.