"use client";
import { useParams } from "next/navigation";
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
import { toast } from "sonner";
import { useTenantId } from "@/hooks/useTenantId";
import { experienceApi } from "@/modules/experience/services/experience-api";
import { ExperiencePageLoader, ExperiencePageError } from "@/modules/experience/pages/shared";
import { ExperienceDetailBreadcrumbs } from "@/modules/experience/components/ExperienceBreadcrumbs";
import { PageHeader, Button, Card, CardContent, FormField } from "@/components/ds";
export const SurveyBuilderPage = function ExperienceSurveyBuilder() {
const params = useParams();
const surveyId = String(params.id);
const { tenantId } = useTenantId();
const qc = useQueryClient();
const surveyQ = useQuery({
queryKey: ["experience", tenantId, "survey", surveyId],
queryFn: () => experienceApi.surveys.get(tenantId!, surveyId),
enabled: !!tenantId && !!surveyId,
});
const saveM = useMutation({
mutationFn: (schema: string) =>
experienceApi.surveys.update(tenantId!, surveyId, {
survey_schema_json: JSON.parse(schema),
version: surveyQ.data?.version,
}),
onSuccess: () => {
toast.success("اسکیمای نظرسنجی ذخیره شد");
qc.invalidateQueries({ queryKey: ["experience", tenantId, "survey", surveyId] });
},
onError: (e: Error) => toast.error(e.message),
});
if (!tenantId || surveyQ.isLoading) return ;
if (surveyQ.error) return surveyQ.refetch()} />;
const survey = surveyQ.data!;
const schemaStr = JSON.stringify(survey.survey_schema_json ?? { questions: [] }, null, 2);
return (
);
};
export default SurveyBuilderPage;