From 305bcd71783bba77e65aa03d4ea6b4bc36964c7e Mon Sep 17 00:00:00 2001 From: Aditya-Bajpayee007 Date: Fri, 17 Oct 2025 19:49:52 +0530 Subject: [PATCH] added difficulty selector --- src/pages/Trivia.jsx | 57 ++++++++++++++++++++++++++++++++------------ 1 file changed, 42 insertions(+), 15 deletions(-) diff --git a/src/pages/Trivia.jsx b/src/pages/Trivia.jsx index db6cda8..1a7fa08 100644 --- a/src/pages/Trivia.jsx +++ b/src/pages/Trivia.jsx @@ -25,6 +25,7 @@ import Card from '../components/Card.jsx'; export default function Trivia() { const [questions, setQuestions] = useState([]); const [category, setCategory] = useState('18'); // Science: Computers + const [difficulty, setDifficulty] = useState('easy'); // Default to easy const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const [score, setScore] = useState(0); @@ -32,7 +33,7 @@ export default function Trivia() { useEffect(() => { fetchQuestions(); - }, [category]); + }, [category, difficulty]); async function fetchQuestions() { try { @@ -42,7 +43,7 @@ export default function Trivia() { setShowReview(false); const res = await fetch( - `https://opentdb.com/api.php?amount=5&category=${category}&type=multiple` + `https://opentdb.com/api.php?amount=5&category=${category}&difficulty=${difficulty}&type=multiple` ); if (!res.ok) throw new Error('Failed to fetch'); const json = await res.json(); @@ -88,21 +89,47 @@ export default function Trivia() { return (
-

Trivia Quiz

+
+

Trivia Quiz

+ + {difficulty.charAt(0).toUpperCase() + difficulty.slice(1)} + +
{/* Category Selector */} - +
+ + {/* Difficulty Selector */} + +
{/* Loading / Error */} {loading && }