-
Notifications
You must be signed in to change notification settings - Fork 10.9k
feat: Add personal v3 onboarding flow #24681
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
base: graphite-base/24681
Are you sure you want to change the base?
Conversation
|
Hey there and thank you for opening this pull request! 👋🏼 We require pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted. Details: |
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
4c163b8 to
9aeff49
Compare
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
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.
4 issues found across 11 files
Prompt for AI agents (all 4 issues)
Understand the root cause of the following 4 issues and fix them.
<file name="apps/web/modules/onboarding/personal/video/personal-video-view.tsx">
<violation number="1" location="apps/web/modules/onboarding/personal/video/personal-video-view.tsx:50">
This hook path references trpc.viewer.eventTypes.heavy, but the heavy router is exposed as eventTypesHeavy, so this mutate call will be undefined and crash when creating default event types.
(Based on your team's feedback about heavy router endpoints using the camelCase eventTypesHeavy key.) [FEEDBACK_USED]</violation>
</file>
<file name="apps/web/modules/onboarding/personal/settings/personal-settings-view.tsx">
<violation number="1" location="apps/web/modules/onboarding/personal/settings/personal-settings-view.tsx:106">
`rounded-inherit` is misspelled here (`ounded-…`), so the intended border radius class never applies. Restore the leading `r` to get the correct styling.</violation>
<violation number="2" location="apps/web/modules/onboarding/personal/settings/personal-settings-view.tsx:133">
Frontend text should go through the i18n layer. Please wrap this placeholder in `t()` instead of hardcoding the string so it can be localized.</violation>
<violation number="3" location="apps/web/modules/onboarding/personal/settings/personal-settings-view.tsx:169">
`formState.isValid` never flips to true here, so the Continue button stays disabled. `useForm` defaults to `mode: "onSubmit"`, and the custom `setValue` call doesn’t pass `shouldValidate: true`, so validation never runs on change. Enable validation on change (e.g., configure the form’s mode or request validation inside `setValue`) so users can proceed.</violation>
</file>
React with 👍 or 👎 to teach cubic. Mention @cubic-dev-ai to give feedback, ask questions, or re-run the review.
| }); | ||
|
|
||
| const { data: eventTypes } = trpc.viewer.eventTypes.list.useQuery(); | ||
| const createEventType = trpc.viewer.eventTypes.heavy.create.useMutation(); |
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.
Prompt for AI agents
~~~ Address the following comment on apps/web/modules/onboarding/personal/video/personal-video-view.tsx at line 50: This hook path references trpc.viewer.eventTypes.heavy, but the heavy router is exposed as eventTypesHeavy, so this mutate call will be undefined and crash when creating default event types. (Based on your team's feedback about heavy router endpoints using the camelCase eventTypesHeavy key.) @@ -0,0 +1,203 @@ + }); + + const { data: eventTypes } = trpc.viewer.eventTypes.list.useQuery(); + const createEventType = trpc.viewer.eventTypes.heavy.create.useMutation(); + + const utils = trpc.useUtils(); ~~~
apps/web/modules/onboarding/personal/settings/personal-settings-view.tsx
Outdated
Show resolved
Hide resolved
| setName(e.target.value); | ||
| form.setValue("name", e.target.value); | ||
| }} | ||
| placeholder="John Doe" |
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.
Frontend text should go through the i18n layer. Please wrap this placeholder in t() instead of hardcoding the string so it can be localized.
Prompt for AI agents
Address the following comment on apps/web/modules/onboarding/personal/settings/personal-settings-view.tsx at line 133:
<comment>Frontend text should go through the i18n layer. Please wrap this placeholder in `t()` instead of hardcoding the string so it can be localized.</comment>
<file context>
@@ -0,0 +1,179 @@
+ setName(e.target.value);
+ form.setValue("name", e.target.value);
+ }}
+ placeholder="John Doe"
+ className="border-default h-7 rounded-[10px] border px-2 py-1.5 text-sm"
+ />
</file context>
| placeholder="John Doe" | |
| placeholder={t("full_name_placeholder")} |

What does this PR do?
Visual Demo (For contributors especially)
Image Demo:
Mandatory Tasks (DO NOT REMOVE)
How should this be tested?
onboarding-v3feature flagChecklist