fix: try submit instead of form manual submition (#25789)

* try submit

* add toaster and logs
This commit is contained in:
sean-brydon
2025-12-11 10:35:09 +00:00
committed by GitHub
parent 44104e1ba4
commit 9b09544c62
2 changed files with 11 additions and 12 deletions
@@ -3,6 +3,7 @@
import classNames from "classnames";
import { signOut } from "next-auth/react";
import { Children, type ReactNode } from "react";
import { Toaster } from "sonner";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { Button } from "@calcom/ui/components/button";
@@ -71,6 +72,7 @@ export const OnboardingLayout = ({ userEmail, currentStep, totalSteps, children
{t("sign_out")}
</Button>
</div>
<Toaster position="bottom-right" />
</div>
);
};
@@ -43,13 +43,13 @@ export const TeamInviteEmailView = ({ userEmail }: TeamInviteEmailViewProps) =>
// Read teamId from query params and store it (from payment callback or redirect)
useEffect(() => {
const teamIdParam = searchParams?.get("teamId");
if (teamIdParam) {
const teamId = parseInt(teamIdParam, 10);
if (!isNaN(teamId)) {
setTeamId(teamId);
if (teamIdParam && !teamId) {
const parsedTeamId = parseInt(teamIdParam, 10);
if (!isNaN(parsedTeamId)) {
setTeamId(parsedTeamId);
}
}
}, [searchParams, setTeamId]);
}, [searchParams, setTeamId, teamId]);
const formSchema = z.object({
invites: z.array(
@@ -79,6 +79,7 @@ export const TeamInviteEmailView = ({ userEmail }: TeamInviteEmailViewProps) =>
const teamIdParam = searchParams?.get("teamId");
const parsedTeamId = !teamId ? parseInt(teamIdParam || "", 10) : teamId;
if (!parsedTeamId) {
console.log("Team ID is missing. Please go back and create your team first.");
showToast(
t("team_id_missing") || "Team ID is missing. Please go back and create your team first.",
"error"
@@ -113,6 +114,7 @@ export const TeamInviteEmailView = ({ userEmail }: TeamInviteEmailViewProps) =>
}
} else {
// No invites, skip to personal settings
console.log("No invites, skipping to personal settings");
const gettingStartedPath = "/onboarding/personal/settings?fromTeamOnboarding=true";
router.replace(gettingStartedPath);
}
@@ -125,10 +127,6 @@ export const TeamInviteEmailView = ({ userEmail }: TeamInviteEmailViewProps) =>
router.replace(gettingStartedPath);
};
const handleSubmitClick = () => {
form.handleSubmit(handleContinue)();
};
// Watch form values to pass to browser view for real-time updates
const watchedInvites = form.watch("invites");
@@ -156,12 +154,11 @@ export const TeamInviteEmailView = ({ userEmail }: TeamInviteEmailViewProps) =>
{t("onboarding_skip_for_now")}
</Button>
<Button
type="button"
type="submit"
color="primary"
className="rounded-[10px]"
disabled={!hasValidInvites || isSubmitting}
loading={isSubmitting}
onClick={handleSubmitClick}>
loading={isSubmitting}>
{t("continue")}
</Button>
</div>