feat(engine): ⚗️ Await for result update
This commit is contained in:
@ -81,7 +81,7 @@ export const OnboardingModal = ({ totalTypebots }: Props) => {
|
|||||||
setTypebot(data as Typebot)
|
setTypebot(data as Typebot)
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleNewAnswer = (answer: Answer) => {
|
const handleNewAnswer = async (answer: Answer) => {
|
||||||
const isName = answer.variableId === 'cl126f4hf000i2e6d8zvzc3t1'
|
const isName = answer.variableId === 'cl126f4hf000i2e6d8zvzc3t1'
|
||||||
const isCompany = answer.variableId === 'cl126jqww000w2e6dq9yv4ifq'
|
const isCompany = answer.variableId === 'cl126jqww000w2e6dq9yv4ifq'
|
||||||
const isCategories = answer.variableId === 'cl126mo3t001b2e6dvyi16bkd'
|
const isCategories = answer.variableId === 'cl126mo3t001b2e6dvyi16bkd'
|
||||||
|
@ -32,11 +32,11 @@ export const InputChatStep = ({
|
|||||||
? variableId && typebot.variables.find(byId(variableId))?.value
|
? variableId && typebot.variables.find(byId(variableId))?.value
|
||||||
: undefined
|
: undefined
|
||||||
|
|
||||||
const handleSubmit = (content: string) => {
|
const handleSubmit = async (content: string) => {
|
||||||
setAnswer(content)
|
setAnswer(content)
|
||||||
const isRetry = !isInputValid(content, step.type)
|
const isRetry = !isInputValid(content, step.type)
|
||||||
if (!isRetry)
|
if (!isRetry && addAnswer)
|
||||||
addAnswer({
|
await addAnswer({
|
||||||
stepId: step.id,
|
stepId: step.id,
|
||||||
blockId: step.blockId,
|
blockId: step.blockId,
|
||||||
content,
|
content,
|
||||||
|
@ -30,7 +30,7 @@ export type TypebotViewerProps = {
|
|||||||
predefinedVariables?: { [key: string]: string | undefined }
|
predefinedVariables?: { [key: string]: string | undefined }
|
||||||
resultId?: string
|
resultId?: string
|
||||||
onNewBlockVisible?: (edge: Edge) => void
|
onNewBlockVisible?: (edge: Edge) => void
|
||||||
onNewAnswer?: (answer: Answer) => void
|
onNewAnswer?: (answer: Answer) => Promise<void>
|
||||||
onNewLog?: (log: Omit<Log, 'id' | 'createdAt' | 'resultId'>) => void
|
onNewLog?: (log: Omit<Log, 'id' | 'createdAt' | 'resultId'>) => void
|
||||||
onCompleted?: () => void
|
onCompleted?: () => void
|
||||||
onVariablesUpdated?: (variables: VariableWithValue[]) => void
|
onVariablesUpdated?: (variables: VariableWithValue[]) => void
|
||||||
|
@ -4,7 +4,7 @@ import React, { createContext, ReactNode, useContext, useState } from 'react'
|
|||||||
const answersContext = createContext<{
|
const answersContext = createContext<{
|
||||||
resultId?: string
|
resultId?: string
|
||||||
resultValues: ResultValues
|
resultValues: ResultValues
|
||||||
addAnswer: (answer: Answer) => void
|
addAnswer: (answer: Answer) => Promise<void> | undefined
|
||||||
updateVariables: (variables: VariableWithValue[]) => void
|
updateVariables: (variables: VariableWithValue[]) => void
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
@ -17,7 +17,7 @@ export const AnswersContext = ({
|
|||||||
onVariablesUpdated,
|
onVariablesUpdated,
|
||||||
}: {
|
}: {
|
||||||
resultId?: string
|
resultId?: string
|
||||||
onNewAnswer: (answer: Answer) => void
|
onNewAnswer: (answer: Answer) => Promise<void> | undefined
|
||||||
onVariablesUpdated?: (variables: VariableWithValue[]) => void
|
onVariablesUpdated?: (variables: VariableWithValue[]) => void
|
||||||
children: ReactNode
|
children: ReactNode
|
||||||
}) => {
|
}) => {
|
||||||
@ -32,7 +32,7 @@ export const AnswersContext = ({
|
|||||||
...resultValues,
|
...resultValues,
|
||||||
answers: [...resultValues.answers, answer],
|
answers: [...resultValues.answers, answer],
|
||||||
}))
|
}))
|
||||||
onNewAnswer(answer)
|
return onNewAnswer && onNewAnswer(answer)
|
||||||
}
|
}
|
||||||
|
|
||||||
const updateVariables = (variables: VariableWithValue[]) =>
|
const updateVariables = (variables: VariableWithValue[]) =>
|
||||||
|
Reference in New Issue
Block a user