неотправка данных для превью

This commit is contained in:
Nastya 2024-04-01 09:08:20 +03:00
parent ea1350e162
commit 48504c01ca
13 changed files with 40 additions and 17 deletions

@ -99,7 +99,8 @@ export async function getQuizData(quizId: string) {
return res;
}
export function sendAnswer({ questionId, body, qid }: any) {
export function sendAnswer({ questionId, body, qid, preview }: any) {
if (preview) return
const formData = new FormData();
const answers = [
@ -120,7 +121,8 @@ export function sendAnswer({ questionId, body, qid }: any) {
}
//body ={file, filename}
export function sendFile({ questionId, body, qid }: any) {
export function sendFile({ questionId, body, qid, preview }: any) {
if (preview) return
const formData = new FormData();
const answers: any = [
@ -143,7 +145,8 @@ export function sendFile({ questionId, body, qid }: any) {
}
//форма контактов
export function sendFC({ questionId, body, qid }: any) {
export function sendFC({ questionId, body, qid, preview }: any) {
if (preview) return
const formData = new FormData();
// const keysBody = Object.keys(body)

@ -38,7 +38,7 @@ type Props = {
export const ContactForm = ({currentQuestion, onShowResult}: Props) => {
const theme = useTheme();
const {settings, questions, quizId, show_badge} = useQuizData();
const {settings, questions, quizId, show_badge, preview} = useQuizData();
const [ready, setReady] = useState(false);
const [name, setName] = useState("");
@ -84,6 +84,7 @@ export const ContactForm = ({currentQuestion, onShowResult}: Props) => {
questionId: currentQuestion.id,
body: body,
qid: quizId,
preview
});
const sessions = JSON.parse(localStorage.getItem("sessions") || "{}");

@ -17,7 +17,7 @@ import { sendAnswer } from "@api/quizRelase";
import LoadingSkeleton from "@/ui_kit/LoadingSkeleton";
export default function ViewPublicationPage() {
const { settings, recentlyCompleted, quizId } = useQuizData();
const { settings, recentlyCompleted, quizId, preview } = useQuizData();
const { answers } = useQuizViewStore();
let currentQuizStep = useQuizViewStore((state) => state.currentQuizStep);
const isMobileMini = useRootContainerSize() < 382;
@ -79,6 +79,7 @@ export default function ViewPublicationPage() {
questionId: currentQuestion.id,
body: "",
qid: quizId,
preview
});
} catch (e) {
enqueueSnackbar("ответ не был засчитан");

@ -19,7 +19,7 @@ type DateProps = {
export const Date = ({ currentQuestion }: DateProps) => {
const theme = useTheme();
const { settings, quizId } = useQuizData();
const { settings, quizId, preview } = useQuizData();
const { answers } = useQuizViewStore();
const answer = answers.find(
({ questionId }) => questionId === currentQuestion.id
@ -65,6 +65,7 @@ export const Date = ({ currentQuestion }: DateProps) => {
questionId: currentQuestion.id,
body: moment(date).format("YYYY.MM.DD"),
qid: quizId,
preview
});
updateAnswer(currentQuestion.id, date, 0);

@ -30,7 +30,7 @@ type EmojiProps = {
export const Emoji = ({ currentQuestion }: EmojiProps) => {
const theme = useTheme();
const { quizId, settings } = useQuizData();
const { quizId, settings, preview } = useQuizData();
const { answers } = useQuizViewStore();
const { answer } =
answers.find(({ questionId }) => questionId === currentQuestion.id) ?? {};
@ -103,6 +103,7 @@ export const Emoji = ({ currentQuestion }: EmojiProps) => {
" " +
currentQuestion.content.variants[index].answer,
qid: quizId,
preview
});
updateAnswer(
@ -121,6 +122,7 @@ export const Emoji = ({ currentQuestion }: EmojiProps) => {
questionId: currentQuestion.id,
body: "",
qid: quizId,
preview
});
} catch (e) {
enqueueSnackbar("ответ не был засчитан");

@ -30,7 +30,7 @@ type FileProps = {
export const File = ({ currentQuestion }: FileProps) => {
const theme = useTheme();
const { answers } = useQuizViewStore();
const { quizId } = useQuizData();
const { quizId, preview } = useQuizData();
const [modalWarningType, setModalWarningType] = useState<ModalWarningType>(null);
const [isSending, setIsSending] = useState<boolean>(false);
const [isDropzoneHighlighted, setIsDropzoneHighlighted] = useState<boolean>(false);
@ -59,7 +59,8 @@ export const File = ({ currentQuestion }: FileProps) => {
questionId: currentQuestion.id,
body: {
file: file,
name: file.name
name: file.name,
preview
},
qid: quizId,
});
@ -67,8 +68,9 @@ export const File = ({ currentQuestion }: FileProps) => {
await sendAnswer({
questionId: currentQuestion.id,
body: `https://storage.yandexcloud.net/squizanswer/${quizId}/${currentQuestion.id}/${data.data.fileIDMap[currentQuestion.id]}`,
body: `https://storage.yandexcloud.net/squizanswer/${quizId}/${currentQuestion.id}/${data!.data.fileIDMap[currentQuestion.id]}`,
qid: quizId,
preview
});
updateAnswer(currentQuestion.id, `${file.name}|${URL.createObjectURL(file)}`, 0);
@ -137,6 +139,7 @@ export const File = ({ currentQuestion }: FileProps) => {
questionId: currentQuestion.id,
body: "",
qid: quizId,
preview
});
}
console.log(answer);

@ -24,7 +24,7 @@ type ImagesProps = {
};
export const Images = ({ currentQuestion }: ImagesProps) => {
const { quizId } = useQuizData();
const { quizId, preview } = useQuizData();
const { answers } = useQuizViewStore();
const theme = useTheme();
const answer = answers.find(
@ -96,6 +96,7 @@ export const Images = ({ currentQuestion }: ImagesProps) => {
questionId: currentQuestion.id,
body: `${currentQuestion.content.variants[index].answer} <img style="width:100%; max-width:250px; max-height:250px" src="${currentQuestion.content.variants[index].extendedText}"/>`,
qid: quizId,
preview
});
updateAnswer(
currentQuestion.id,
@ -113,6 +114,7 @@ export const Images = ({ currentQuestion }: ImagesProps) => {
questionId: currentQuestion.id,
body: "",
qid: quizId,
preview
});
} catch (e) {
enqueueSnackbar("ответ не был засчитан");

@ -22,7 +22,7 @@ type NumberProps = {
};
export const Number = ({ currentQuestion }: NumberProps) => {
const { settings, quizId } = useQuizData();
const { settings, quizId, preview } = useQuizData();
const [inputValue, setInputValue] = useState<string>("0");
const [minRange, setMinRange] = useState<string>("0");
const [maxRange, setMaxRange] = useState<string>("100000000000");
@ -53,6 +53,7 @@ export const Number = ({ currentQuestion }: NumberProps) => {
questionId: currentQuestion.id,
body: value,
qid: quizId,
preview
});
if (!noUpdate) {

@ -58,7 +58,7 @@ const buttonRatingForm = [
];
export const Rating = ({ currentQuestion }: RatingProps) => {
const { quizId } = useQuizData();
const { quizId, preview } = useQuizData();
const { answers } = useQuizViewStore();
const theme = useTheme();
const isMobile = useRootContainerSize() < 650;
@ -102,6 +102,7 @@ export const Rating = ({ currentQuestion }: RatingProps) => {
questionId: currentQuestion.id,
body: String(value) + " из " + currentQuestion.content.steps,
qid: quizId,
preview
});
updateAnswer(currentQuestion.id, String(value), 0);

@ -17,7 +17,7 @@ type SelectProps = {
export const Select = ({ currentQuestion }: SelectProps) => {
const theme = useTheme();
const { quizId, settings } = useQuizData();
const { quizId, settings, preview } = useQuizData();
const [isSending, setIsSending] = useState<boolean>(false);
const { answers } = useQuizViewStore();
const { answer } =
@ -65,6 +65,7 @@ export const Select = ({ currentQuestion }: SelectProps) => {
questionId: currentQuestion.id,
body: "",
qid: quizId,
preview
});
} catch (e) {
enqueueSnackbar("ответ не был засчитан");
@ -79,6 +80,7 @@ export const Select = ({ currentQuestion }: SelectProps) => {
currentQuestion.content.variants[Number(value)].answer
),
qid: quizId,
preview
});
updateAnswer(currentQuestion.id, String(value), 0);

@ -55,7 +55,7 @@ const Orientation = [
export const Text = ({ currentQuestion, stepNumber }: TextProps) => {
const theme = useTheme();
const { settings } = useQuizData();
const { settings, preview } = useQuizData();
const spec = settings.cfg.spec;
const { quizId } = useQuizData();
const { answers } = useQuizViewStore();
@ -71,6 +71,7 @@ export const Text = ({ currentQuestion, stepNumber }: TextProps) => {
questionId: currentQuestion.id,
body: text,
qid: quizId,
preview
});
} catch (e) {
enqueueSnackbar("ответ не был засчитан");

@ -161,7 +161,7 @@ const VariantItem = ({
setIsSending: (a: boolean) => void;
}) => {
const theme = useTheme();
const { settings, quizId } = useQuizData();
const { settings, quizId, preview } = useQuizData();
return (
<FormControlLabel
@ -244,6 +244,7 @@ const VariantItem = ({
? currentAnswer?.filter((item) => item !== variantId)
: [...currentAnswer, variantId],
qid: quizId,
preview
});
updateAnswer(
@ -267,6 +268,7 @@ const VariantItem = ({
questionId: currentQuestion.id,
body: currentQuestion.content.variants[index].answer,
qid: quizId,
preview
});
updateAnswer(
@ -287,6 +289,7 @@ const VariantItem = ({
questionId: currentQuestion.id,
body: "",
qid: quizId,
preview
});
} catch (e) {
console.log(e);

@ -25,7 +25,7 @@ type VarimgProps = {
};
export const Varimg = ({ currentQuestion }: VarimgProps) => {
const { settings, quizId } = useQuizData();
const { settings, quizId, preview } = useQuizData();
const { answers } = useQuizViewStore();
const theme = useTheme();
const isMobile = useRootContainerSize() < 650;
@ -130,6 +130,7 @@ export const Varimg = ({ currentQuestion }: VarimgProps) => {
questionId: currentQuestion.id,
body: `${currentQuestion.content.variants[index].answer} <img style="width:100%; max-width:250px; max-height:250px" src="${currentQuestion.content.variants[index].extendedText}"/>`,
qid: quizId,
preview
});
updateAnswer(
@ -147,6 +148,7 @@ export const Varimg = ({ currentQuestion }: VarimgProps) => {
questionId: currentQuestion.id,
body: "",
qid: quizId,
preview
});
} catch (e) {
enqueueSnackbar("ответ не был засчитан");