Commit f0e4335a authored by Lee SeoYeon's avatar Lee SeoYeon
Browse files

SurveyForm Page

parent f067e7f1
import React, { InputHTMLAttributes } from "react"; import React, { useEffect, useState } from "react";
import { ACheckboxForm } from "./ACheckbox"; import { useParams } from "react-router-dom";
import { ADropdownForm } from "./ADropdown"; import { surveyApi } from "../apis";
import { AEssayForm } from "./AEssayForm"; import { catchErrors } from "../helpers";
import { SurveyType } from "../types";
import { AQuestion } from "./AQuestion";
import { ARadioForm } from "./ARadioForm"; import { ARadioForm } from "./ARadioForm";
export const SurveyForm = () => { export const SurveyForm = () => {
let { surveyId } = useParams<{ surveyId: string }>();
const [error, setError] = useState("");
const [loading, setLoading] = useState(false);
const [success, setSuccess] = useState(false);
const [survey, setSurvey] = useState<SurveyType>({
_id: surveyId,
user: {},
title: "",
comment: "",
questions: [],
});
useEffect(() => {
ansSurvey();
}, [surveyId]);
async function ansSurvey() {
try {
if (surveyId) {
const answersurvey: SurveyType = await surveyApi.ansSurvey(surveyId);
console.log(answersurvey);
setSurvey(answersurvey);
setSuccess(true);
setError("");
} else {
setLoading(true);
}
} catch (error) {
catchErrors(error, setError);
} finally {
setLoading(false);
}
}
return ( return (
<div className="flex flex-col place-items-center"> <div className="flex flex-col place-items-center">
<div className="flex flex-col container place-items-center mt-4"> <div className="flex flex-col container place-items-center mt-4">
<form className="font-bold text-4xl text-center m-2">설문지 제목</form> <p className="font-bold text-4xl text-center m-2">{survey.title}</p>
<textarea <p className="font-bold text-1xl text-center m-2">{survey.comment}</p>
className="font-bold text-1xl text-center m-2 resize-none" {survey.questions.map((question) => {
placeholder="설문조사에 대한 설명을 입력해주세요" return <AQuestion question={question}></AQuestion>;
rows={2} })}
cols={60}
></textarea>
{/* <ACheckboxForm></ACheckboxForm> */}
<ADropdownForm></ADropdownForm>
<AEssayForm></AEssayForm>
<ARadioForm></ARadioForm>
<div> <div>
<button className="rounded bg-themeColor my-5 py-2 px-5 font-bold text-white"> <button className="rounded bg-themeColor my-5 py-2 px-5 font-bold text-white">
제출하기 제출하기
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment