fix: infinite loop in onboarding (#1604)

This commit is contained in:
Matti Nannt
2023-11-10 12:01:43 +01:00
committed by GitHub
parent 84ce0c267c
commit c2675a9d49
3 changed files with 7 additions and 17 deletions

View File

@@ -41,12 +41,10 @@ const Objective: React.FC<ObjectiveProps> = ({ next, skip, formbricksResponseId,
if (selectedObjective) {
try {
setIsProfileUpdating(true);
const updatedProfile = {
...profile,
await updateProfileAction({
objective: selectedObjective.id,
name: profile.name ?? undefined,
};
await updateProfileAction(updatedProfile);
});
setIsProfileUpdating(false);
} catch (e) {
setIsProfileUpdating(false);

View File

@@ -88,12 +88,7 @@ export default function Onboarding({ session, environmentId, profile, product }:
<Greeting next={next} skip={doLater} name={profile.name ? profile.name : ""} session={session} />
)}
{currentStep === 2 && (
<Role
next={next}
skip={skipStep}
setFormbricksResponseId={setFormbricksResponseId}
profile={profile}
/>
<Role next={next} skip={skipStep} setFormbricksResponseId={setFormbricksResponseId} />
)}
{currentStep === 3 && (
<Objective

View File

@@ -1,10 +1,9 @@
"use client";
import { cn } from "@formbricks/lib/cn";
import { updateProfileAction } from "@/app/(app)/onboarding/actions";
import { env } from "@/env.mjs";
import { createResponse, formbricksEnabled } from "@/app/lib/formbricks";
import { TProfile } from "@formbricks/types/profile";
import { env } from "@/env.mjs";
import { cn } from "@formbricks/lib/cn";
import { Button } from "@formbricks/ui/Button";
import { useState } from "react";
import { toast } from "react-hot-toast";
@@ -13,7 +12,6 @@ type RoleProps = {
next: () => void;
skip: () => void;
setFormbricksResponseId: (id: string) => void;
profile: TProfile;
};
type RoleChoice = {
@@ -21,7 +19,7 @@ type RoleChoice = {
id: "project_manager" | "engineer" | "founder" | "marketing_specialist" | "other";
};
const Role: React.FC<RoleProps> = ({ next, skip, setFormbricksResponseId, profile }) => {
const Role: React.FC<RoleProps> = ({ next, skip, setFormbricksResponseId }) => {
const [selectedChoice, setSelectedChoice] = useState<string | null>(null);
const [isUpdating, setIsUpdating] = useState(false);
@@ -39,8 +37,7 @@ const Role: React.FC<RoleProps> = ({ next, skip, setFormbricksResponseId, profil
if (selectedRole) {
try {
setIsUpdating(true);
const updatedProfile = { ...profile, role: selectedRole.id };
await updateProfileAction(updatedProfile);
await updateProfileAction({ role: selectedRole.id });
setIsUpdating(false);
} catch (e) {
setIsUpdating(false);