mirror of
https://github.com/formbricks/formbricks.git
synced 2026-05-08 06:41:45 -05:00
fix: reset survey button (#3069)
This commit is contained in:
committed by
GitHub
parent
22425726d1
commit
c35cfbd170
@@ -12,7 +12,12 @@ import { SurveyState } from "@formbricks/lib/surveyState";
|
||||
import { TAttributeClass } from "@formbricks/types/attribute-classes";
|
||||
import { TJsFileUploadParams } from "@formbricks/types/js";
|
||||
import { TProduct } from "@formbricks/types/product";
|
||||
import { TResponse, TResponseHiddenFieldValue, TResponseUpdate } from "@formbricks/types/responses";
|
||||
import {
|
||||
TResponse,
|
||||
TResponseData,
|
||||
TResponseHiddenFieldValue,
|
||||
TResponseUpdate,
|
||||
} from "@formbricks/types/responses";
|
||||
import { TUploadFileConfig } from "@formbricks/types/storage";
|
||||
import { TSurvey } from "@formbricks/types/surveys/types";
|
||||
import { SurveyInline } from "@formbricks/ui/Survey";
|
||||
@@ -20,6 +25,7 @@ import { SurveyInline } from "@formbricks/ui/Survey";
|
||||
let setIsError = (_: boolean) => {};
|
||||
let setIsResponseSendingFinished = (_: boolean) => {};
|
||||
let setQuestionId = (_: string) => {};
|
||||
let setResponseData = (_: TResponseData) => {};
|
||||
|
||||
interface LinkSurveyProps {
|
||||
survey: TSurvey;
|
||||
@@ -123,10 +129,6 @@ export const LinkSurvey = ({
|
||||
if (window.self === window.top) {
|
||||
setAutofocus(true);
|
||||
}
|
||||
// For safari on mobile devices, scroll is a bit off due to dynamic height of address bar, so on inital load, we scroll to the bottom
|
||||
// window.scrollTo({
|
||||
// top: document.body.scrollHeight,
|
||||
// });
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, []);
|
||||
|
||||
@@ -203,12 +205,17 @@ export const LinkSurvey = ({
|
||||
return product.styling;
|
||||
};
|
||||
|
||||
const handleResetSurvey = () => {
|
||||
setQuestionId(survey.welcomeCard.enabled ? "start" : survey?.questions[0]?.id);
|
||||
setResponseData({});
|
||||
};
|
||||
|
||||
return (
|
||||
<LinkSurveyWrapper
|
||||
product={product}
|
||||
survey={survey}
|
||||
isPreview={isPreview}
|
||||
setQuestionId={setQuestionId}
|
||||
handleResetSurvey={handleResetSurvey}
|
||||
determineStyling={determineStyling}
|
||||
isEmbed={isEmbed}
|
||||
webAppUrl={webAppUrl}
|
||||
@@ -290,6 +297,9 @@ export const LinkSurvey = ({
|
||||
getSetQuestionId={(f: (value: string) => void) => {
|
||||
setQuestionId = f;
|
||||
}}
|
||||
getSetResponseData={(f: (value: TResponseData) => void) => {
|
||||
setResponseData = f;
|
||||
}}
|
||||
startAtQuestionId={startAt && isStartAtValid ? startAt : undefined}
|
||||
fullSizeCards={isEmbed ? true : false}
|
||||
hiddenFieldsRecord={hiddenFieldsRecord}
|
||||
|
||||
@@ -15,7 +15,7 @@ interface LinkSurveyWrapperProps {
|
||||
isPreview: boolean;
|
||||
isEmbed: boolean;
|
||||
determineStyling: () => TSurveyStyling | TProductStyling;
|
||||
setQuestionId: (_: string) => void;
|
||||
handleResetSurvey: () => void;
|
||||
IMPRINT_URL?: string;
|
||||
PRIVACY_URL?: string;
|
||||
IS_FORMBRICKS_CLOUD: boolean;
|
||||
@@ -29,7 +29,7 @@ export const LinkSurveyWrapper = ({
|
||||
isPreview,
|
||||
isEmbed,
|
||||
determineStyling,
|
||||
setQuestionId,
|
||||
handleResetSurvey,
|
||||
IMPRINT_URL,
|
||||
PRIVACY_URL,
|
||||
IS_FORMBRICKS_CLOUD,
|
||||
@@ -68,11 +68,7 @@ export const LinkSurveyWrapper = ({
|
||||
<div className="fixed left-0 top-0 flex w-full items-center justify-between bg-slate-600 p-2 px-4 text-center text-sm text-white shadow-sm">
|
||||
<div />
|
||||
Survey Preview 👀
|
||||
<ResetProgressButton
|
||||
onClick={() =>
|
||||
setQuestionId(survey.welcomeCard.enabled ? "start" : survey?.questions[0]?.id)
|
||||
}
|
||||
/>
|
||||
<ResetProgressButton onClick={handleResetSurvey} />
|
||||
</div>
|
||||
)}
|
||||
{children}
|
||||
|
||||
Reference in New Issue
Block a user