diff --git a/admin/src/pages/Dashboard/components/NewQuestionaires.jsx b/admin/src/pages/Dashboard/components/NewQuestionaires.jsx index 53f79cf..2210003 100644 --- a/admin/src/pages/Dashboard/components/NewQuestionaires.jsx +++ b/admin/src/pages/Dashboard/components/NewQuestionaires.jsx @@ -2,23 +2,17 @@ import { Button } from '@mui/material' import axios from 'axios'; import React, { useState } from 'react' -function NewQuestionaires({ setisHome, setAction,getQuestions }) { +function NewQuestionaires({ setisHome, setAction, getQuestions }) { const [FixturesItems, setFixturesItems] = React.useState([]) + const [noInputs, setnoInputs] = React.useState([]); const [newQuestionaires, setnewQuestionaires] = React.useState({ - fixtureId:"", - questionaireType:"", - questionairePrice:"", - poolType:"", - questionaires:[ - { question:""}, - { question:""}, - { question:""}, - { question:""} - ] + fixtureId: "", + questionaireType: 3, + questionairePrice: "", + poolType: "unlimited", + questionaires: [] }) - - const handleBack = () => { setisHome(true); setAction(""); @@ -28,7 +22,13 @@ function NewQuestionaires({ setisHome, setAction,getQuestions }) { const getFixtures = () => { axios .get(`${import.meta.env.VITE_SERVER_URI}api/fixture/get-fixtures`) - .then((res) => setFixturesItems(res.data?.fixtures)) + .then((res) => { + setFixturesItems(res.data?.fixtures) + setnewQuestionaires({ + ...newQuestionaires, + fixtureId: res.data?.fixtures[0]._id + }) + }) .catch((err) => console.error(err)); } @@ -36,101 +36,90 @@ function NewQuestionaires({ setisHome, setAction,getQuestions }) { getFixtures(); }, []); - - const handleResetInputs = () =>{ + + const handleResetInputs = () => { setnewQuestionaires({ - fixtureId:"", - questionaireType:"", - questionairePrice:"", - poolType:"", - questionaires:[ - { question:""}, - { question:""}, - { question:""}, - { question:""} - ] + fixtureId: "", + questionaireType: 3, + questionairePrice: "", + poolType: "unlimited", + questionaires: [] }) } - const handleQuestion = (index,value)=>{ + const handleQuestion = (index, value) => { const ques = newQuestionaires.questionaires; - ques[index] = {question: value}; + ques[index] = { question: value }; setnewQuestionaires({ ...newQuestionaires, - questionaires:ques + questionaires: ques }) } const handleNewQuestionaire = (e) => { e.preventDefault() axios - .post(`${import.meta.env.VITE_SERVER_URI}api/questionaire/new-questionaire`,newQuestionaires) - .then((res) => { - if(res.status===200){ - handleBack(); - } - }) - .catch((err) => console.error(err)); + .post(`${import.meta.env.VITE_SERVER_URI}api/questionaire/new-questionaire`, newQuestionaires) + .then((res) => { + if (res.status === 200) { + handleBack(); + } + }) + .catch((err) => console.error(err)); } - + + + React.useEffect(() => { + let arr = [] + for (let index = 1; index <= newQuestionaires.questionaireType; index++) { + arr.push(index); + } + setnoInputs(arr); + }, [newQuestionaires.questionaireType]) + return (

New Questionaires

- setnewQuestionaires({ ...newQuestionaires, fixtureId: e.target.value })}> + {FixturesItems.map((fixtures, key) => + )} - setnewQuestionaires({...newQuestionaires,questionairePrice:e.target.value})} - /> - setnewQuestionaires({...newQuestionaires,questionaireType:e.target.value})} + onChange={e => setnewQuestionaires({ ...newQuestionaires, questionairePrice: e.target.value })} /> - + - handleQuestion(0,e.target.value) - } - /> - handleQuestion(1,e.target.value) - } /> - handleQuestion(2,e.target.value) - }/> - handleQuestion(3,e.target.value) - } /> - {/* */} + { + noInputs.map((i, index) => + handleQuestion(index, e.target.value) + } />) + }