вопросы отправляют текст ответов а не ид. при отмене выбора отправляется пустая строка
This commit is contained in:
parent
b91cc475fe
commit
15431912ae
@ -431,6 +431,8 @@ function QuizPreviewLayoutByType({
|
||||
sx={{
|
||||
width: "60%",
|
||||
overflow: "hidden",
|
||||
display: "flex",
|
||||
justifyContent: "center"
|
||||
}}
|
||||
>
|
||||
{backgroundBlock}
|
||||
|
||||
@ -18,7 +18,7 @@ const QID =
|
||||
process.env.NODE_ENV === "production" ?
|
||||
window.location.pathname.replace(/\//g, '')
|
||||
:
|
||||
"6955f170-f0f8-4b04-9be1-b8e3906fca5c"
|
||||
"6e96e958-d30e-49f6-aa85-32aaef975733"
|
||||
|
||||
|
||||
export const ViewPage = () => {
|
||||
|
||||
@ -56,7 +56,6 @@ export const Date = ({ currentQuestion }: DateProps) => {
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
await sendAnswer({
|
||||
questionId: currentQuestion.id,
|
||||
body: new window.Date(date.toDate()).toLocaleDateString("ru-RU", {
|
||||
|
||||
@ -44,12 +44,14 @@ export const Emoji = ({ currentQuestion }: EmojiProps) => {
|
||||
value={currentQuestion.content.variants.findIndex(
|
||||
({ id }) => answer === id
|
||||
)}
|
||||
onChange={({ target }) =>
|
||||
onChange={({ target }) =>{
|
||||
console.log(currentQuestion.content.variants[Number(target.value)])
|
||||
updateAnswer(
|
||||
currentQuestion.id,
|
||||
currentQuestion.content.variants[Number(target.value)].id
|
||||
currentQuestion.content.variants[Number(target.value)].answer
|
||||
)
|
||||
}
|
||||
}
|
||||
sx={{
|
||||
display: "flex",
|
||||
flexWrap: "wrap",
|
||||
@ -104,18 +106,46 @@ export const Emoji = ({ currentQuestion }: EmojiProps) => {
|
||||
gap: "10px",
|
||||
}}
|
||||
value={index}
|
||||
onClick={(event) => {
|
||||
onClick={async (event) => {
|
||||
event.preventDefault();
|
||||
|
||||
try {
|
||||
|
||||
await sendAnswer({
|
||||
questionId: currentQuestion.id,
|
||||
body: currentQuestion.content.variants[index].answer,
|
||||
//@ts-ignore
|
||||
qid: settings.qid
|
||||
})
|
||||
|
||||
updateAnswer(
|
||||
currentQuestion.id,
|
||||
currentQuestion.content.variants[index].id
|
||||
);
|
||||
|
||||
} catch (e) {
|
||||
enqueueSnackbar("ответ не был засчитан")
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (answer === currentQuestion.content.variants[index].id) {
|
||||
deleteAnswer(currentQuestion.id);
|
||||
try {
|
||||
|
||||
await sendAnswer({
|
||||
questionId: currentQuestion.id,
|
||||
body: "",
|
||||
//@ts-ignore
|
||||
qid: settings.qid
|
||||
})
|
||||
|
||||
} catch (e) {
|
||||
enqueueSnackbar("ответ не был засчитан")
|
||||
}
|
||||
}
|
||||
}}
|
||||
|
||||
control={
|
||||
//@ts-ignore
|
||||
<Radio checkedIcon={<RadioCheck color={theme.palette.primary.main}/>} icon={<RadioIcon />} />
|
||||
|
||||
@ -69,14 +69,14 @@ export const Images = ({ currentQuestion }: ImagesProps) => {
|
||||
border: `1px solid`,
|
||||
borderColor: answer === variant.id ? theme.palette.primary.main : "#9A9AAF",
|
||||
}}
|
||||
onClick={async(event) => {
|
||||
onClick={async (event) => {
|
||||
event.preventDefault();
|
||||
|
||||
try {
|
||||
|
||||
await sendAnswer({
|
||||
questionId: currentQuestion.id,
|
||||
body: currentQuestion.content.variants[index].id,
|
||||
body: currentQuestion.content.variants[index].answer,
|
||||
//@ts-ignore
|
||||
qid: settings.qid
|
||||
})
|
||||
@ -93,6 +93,18 @@ export const Images = ({ currentQuestion }: ImagesProps) => {
|
||||
|
||||
if (answer === currentQuestion.content.variants[index].id) {
|
||||
deleteAnswer(currentQuestion.id);
|
||||
try {
|
||||
|
||||
await sendAnswer({
|
||||
questionId: currentQuestion.id,
|
||||
body: "",
|
||||
//@ts-ignore
|
||||
qid: settings.qid
|
||||
})
|
||||
|
||||
} catch (e) {
|
||||
enqueueSnackbar("ответ не был засчитан")
|
||||
}
|
||||
}
|
||||
}}
|
||||
>
|
||||
@ -123,7 +135,7 @@ export const Images = ({ currentQuestion }: ImagesProps) => {
|
||||
value={index}
|
||||
control={
|
||||
//@ts-ignore
|
||||
<Radio checkedIcon={<RadioCheck color={theme.palette.primary.main}/>} icon={<RadioIcon />} />
|
||||
<Radio checkedIcon={<RadioCheck color={theme.palette.primary.main} />} icon={<RadioIcon />} />
|
||||
}
|
||||
label={variant.answer}
|
||||
/>
|
||||
|
||||
@ -45,7 +45,18 @@ export const Select = ({ currentQuestion }: SelectProps) => {
|
||||
onChange={async(_, value) => {
|
||||
if (value < 0) {
|
||||
deleteAnswer(currentQuestion.id);
|
||||
try {
|
||||
|
||||
await sendAnswer({
|
||||
questionId: currentQuestion.id,
|
||||
body: "",
|
||||
//@ts-ignore
|
||||
qid: settings.qid
|
||||
})
|
||||
|
||||
} catch (e) {
|
||||
enqueueSnackbar("ответ не был засчитан")
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@ -53,7 +64,7 @@ export const Select = ({ currentQuestion }: SelectProps) => {
|
||||
|
||||
await sendAnswer({
|
||||
questionId: currentQuestion.id,
|
||||
body: String(value),
|
||||
body: String(currentQuestion.content.variants[Number(value)].answer),
|
||||
//@ts-ignore
|
||||
qid: settings.qid
|
||||
})
|
||||
|
||||
@ -167,12 +167,12 @@ const VariantItem = ({
|
||||
/>
|
||||
) :
|
||||
//@ts-ignore
|
||||
(<Radio checkedIcon={<RadioCheck color={theme.palette.primary.main}/>} icon={<RadioIcon />} />
|
||||
(<Radio checkedIcon={<RadioCheck color={theme.palette.primary.main} />} icon={<RadioIcon />} />
|
||||
)
|
||||
}
|
||||
//@ts-ignore
|
||||
label={own ? <TextField label="Другое..." /> : variant.answer}
|
||||
onClick={async(event) => {
|
||||
onClick={async (event) => {
|
||||
event.preventDefault();
|
||||
const variantId = currentQuestion.content.variants[index].id;
|
||||
|
||||
@ -209,7 +209,7 @@ const VariantItem = ({
|
||||
|
||||
await sendAnswer({
|
||||
questionId: currentQuestion.id,
|
||||
body: variantId,
|
||||
body: currentQuestion.content.variants[index].answer,
|
||||
//@ts-ignore
|
||||
qid: settings.qid
|
||||
})
|
||||
@ -221,6 +221,18 @@ const VariantItem = ({
|
||||
}
|
||||
|
||||
if (answer === variantId) {
|
||||
try {
|
||||
|
||||
await sendAnswer({
|
||||
questionId: currentQuestion.id,
|
||||
body: "",
|
||||
//@ts-ignore
|
||||
qid: settings.qid
|
||||
})
|
||||
|
||||
} catch (e) {
|
||||
enqueueSnackbar("ответ не был засчитан")
|
||||
}
|
||||
deleteAnswer(currentQuestion.id);
|
||||
}
|
||||
}}
|
||||
|
||||
@ -87,7 +87,7 @@ export const Varimg = ({ currentQuestion }: VarimgProps) => {
|
||||
|
||||
await sendAnswer({
|
||||
questionId: currentQuestion.id,
|
||||
body: currentQuestion.content.variants[index].id,
|
||||
body: currentQuestion.content.variants[index].answer,
|
||||
//@ts-ignore
|
||||
qid: settings.qid
|
||||
})
|
||||
@ -103,6 +103,18 @@ export const Varimg = ({ currentQuestion }: VarimgProps) => {
|
||||
|
||||
|
||||
if (answer === currentQuestion.content.variants[index].id) {
|
||||
try {
|
||||
|
||||
await sendAnswer({
|
||||
questionId: currentQuestion.id,
|
||||
body: "",
|
||||
//@ts-ignore
|
||||
qid: settings.qid
|
||||
})
|
||||
|
||||
} catch (e) {
|
||||
enqueueSnackbar("ответ не был засчитан")
|
||||
}
|
||||
deleteAnswer(currentQuestion.id);
|
||||
}
|
||||
}}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user