39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
import React, { useEffect, useState } from "react";
|
|
import { useDispatch, useSelector } from "react-redux";
|
|
|
|
import { fetchResultTest, selectResult, selectedTest } from "@redux/quizSlice";
|
|
|
|
import { apiRequest } from "@api/request";
|
|
|
|
import { Loader } from "@components/common/Loader/Loader";
|
|
|
|
export const Results = () => {
|
|
const result = useSelector(selectResult);
|
|
const test = useSelector(selectedTest);
|
|
const [maxScore, setMaxScore] = useState("");
|
|
const dispatch = useDispatch();
|
|
|
|
useEffect(() => {
|
|
dispatch(fetchResultTest(test.uuid));
|
|
apiRequest(
|
|
`/user-questionnaire/get-points-number?user_questionnaire_uuid=${test.uuid}`
|
|
).then((res) => setMaxScore(res.sum_point));
|
|
}, [apiRequest, dispatch, test]);
|
|
|
|
return (
|
|
<div className={"result _container"}>
|
|
{!result ? (
|
|
<Loader />
|
|
) : (
|
|
<div className="result__body">
|
|
<div className="result__text">Благодарим за прохождение теста</div>
|
|
<div className="result__text">
|
|
Ваш Результат: <span className="result__score">{result.score}</span>{" "}
|
|
из {maxScore}{" "}
|
|
</div>
|
|
</div>
|
|
)}
|
|
</div>
|
|
);
|
|
};
|