From 3dc3edb83e403835d8b0dcfa860542f9dc0ac7aa Mon Sep 17 00:00:00 2001 From: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com> Date: Thu, 15 Aug 2024 12:21:41 +0530 Subject: [PATCH] fix: progress bar on welcome card (#3006) --- .../src/components/general/ProgressBar.tsx | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/surveys/src/components/general/ProgressBar.tsx b/packages/surveys/src/components/general/ProgressBar.tsx index b12547fa11..4a89abca7c 100644 --- a/packages/surveys/src/components/general/ProgressBar.tsx +++ b/packages/surveys/src/components/general/ProgressBar.tsx @@ -13,7 +13,7 @@ export const ProgressBar = ({ survey, questionId }: ProgressBarProps) => { () => survey.questions.findIndex((q) => q.id === questionId), [survey, questionId] ); - const questionIds = useMemo(() => survey.questions.map((question) => question.id), [survey.questions]); + const endingCardIds = useMemo(() => survey.endings.map((ending) => ending.id), [survey.endings]); const calculateProgress = useCallback( (index: number, questionsLength: number) => { @@ -30,11 +30,15 @@ export const ProgressBar = ({ survey, questionId }: ProgressBarProps) => { return survey.questions.map((_, index) => calculateProgress(index, survey.questions.length)); }, [calculateProgress, survey]); - return ( - - ); + const progressValue = useMemo(() => { + if (questionId === "start") { + return 0; + } else if (endingCardIds.includes(questionId)) { + return 1; + } else { + return progressArray[currentQuestionIdx]; + } + }, [questionId, endingCardIds, progressArray, currentQuestionIdx]); + + return ; };