This improves the user experience by automatically filling the email field

and preventing users from changing the email they were invited with.

- Update invite link generation to include email parameter in URL
- Modify signup form to pre-fill and lock email field when provided via invite
- Update invite page and status card to preserve email through redirect chain
- Ensure existing invite URLs continue to work without breaking changes
This commit is contained in:
Adrian Astles
2025-07-25 22:46:40 +08:00
parent df31c13912
commit 350485612e
5 changed files with 35 additions and 11 deletions

View File

@@ -75,6 +75,7 @@ type SignupFormProps = {
redirect?: string;
inviteId?: string;
inviteToken?: string;
emailParam?: string;
};
const formSchema = z
@@ -103,7 +104,8 @@ const formSchema = z
export default function SignupForm({
redirect,
inviteId,
inviteToken
inviteToken,
emailParam
}: SignupFormProps) {
const router = useRouter();
const api = createApiClient(useEnvContext());
@@ -118,7 +120,7 @@ export default function SignupForm({
const form = useForm<z.infer<typeof formSchema>>({
resolver: zodResolver(formSchema),
defaultValues: {
email: "",
email: emailParam || "",
password: "",
confirmPassword: "",
agreeToTerms: false
@@ -209,7 +211,10 @@ export default function SignupForm({
<FormItem>
<FormLabel>{t("email")}</FormLabel>
<FormControl>
<Input {...field} />
<Input
{...field}
disabled={!!emailParam}
/>
</FormControl>
<FormMessage />
</FormItem>