turkmen-tv-front/components/quiz/QuizResultsTabs.tsx

51 lines
1.3 KiB
TypeScript
Raw Normal View History

2025-03-20 10:51:51 +00:00
import { Question } from "@/models/quizQuestions.model";
import React from "react";
interface IQuizTabProps {
steps: {
tapgyr: number;
questions: Question[];
}[];
setStep: React.Dispatch<React.SetStateAction<number | string>>;
tab: number | string;
2025-03-20 11:55:08 +00:00
loading: boolean;
2025-03-20 10:51:51 +00:00
}
2025-03-20 11:55:08 +00:00
function QuizResultsTabs({ steps, setStep, tab, loading }: IQuizTabProps) {
2025-03-20 10:51:51 +00:00
return (
2025-03-20 11:55:08 +00:00
!loading && (
<div className="flex gap-[10px] w-full md:w-1/2 self-center">
{steps.map((item) => (
<button
onClick={() => {
setStep(item.tapgyr - 1);
}}
key={item.tapgyr}
className={`flex-1 py-[5px] rounded-lg transition-all duration-300 ${
tab === item.tapgyr - 1
? "bg-lightPrimary text-white"
: "bg-lightPrimaryContainer text-textLight"
}`}
>
{item.tapgyr}
</button>
))}
2025-03-20 10:51:51 +00:00
<button
onClick={() => {
2025-03-20 11:55:08 +00:00
setStep("results");
2025-03-20 10:51:51 +00:00
}}
className={`flex-1 py-[5px] rounded-lg transition-all duration-300 ${
2025-03-20 11:55:08 +00:00
tab === "results"
2025-03-20 10:51:51 +00:00
? "bg-lightPrimary text-white"
: "bg-lightPrimaryContainer text-textLight"
}`}
>
2025-03-20 11:55:08 +00:00
Netije
2025-03-20 10:51:51 +00:00
</button>
2025-03-20 11:55:08 +00:00
</div>
)
2025-03-20 10:51:51 +00:00
);
}
export default QuizResultsTabs;