mirror of
https://github.com/formbricks/formbricks.git
synced 2025-12-30 18:30:32 -06:00
44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
import { useEffect, useState } from "react";
|
|
|
|
import { TTemplate } from "@formbricks/types/templates";
|
|
|
|
import PreviewSurvey from "./PreviewSurvey";
|
|
import TemplateList from "./TemplateList";
|
|
import { templates } from "./templates";
|
|
|
|
export default function SurveyTemplatesPage({}) {
|
|
const [activeTemplate, setActiveTemplate] = useState<TTemplate | null>(null);
|
|
const [activeQuestionId, setActiveQuestionId] = useState<string | null>(null);
|
|
|
|
useEffect(() => {
|
|
if (templates.length > 0) {
|
|
setActiveTemplate(templates[0]);
|
|
setActiveQuestionId(templates[0]?.preset.questions[0]?.id || null);
|
|
}
|
|
}, []);
|
|
|
|
return (
|
|
<div className="flex h-screen flex-col overflow-x-auto">
|
|
<div className="relative z-0 flex flex-1 overflow-hidden">
|
|
<TemplateList
|
|
activeTemplate={activeTemplate}
|
|
onTemplateClick={(template) => {
|
|
setActiveQuestionId(template.preset.questions[0].id);
|
|
setActiveTemplate(template);
|
|
}}
|
|
/>
|
|
<aside className="group relative h-full flex-1 flex-shrink-0 overflow-hidden rounded-r-lg bg-slate-200 shadow-inner md:flex md:flex-col dark:bg-slate-700">
|
|
{activeTemplate && (
|
|
<PreviewSurvey
|
|
activeQuestionId={activeQuestionId}
|
|
questions={activeTemplate.preset.questions}
|
|
brandColor="#94a3b8"
|
|
setActiveQuestionId={setActiveQuestionId}
|
|
/>
|
|
)}
|
|
</aside>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|