Skip to content

Commit 5775c8e

Browse files
committed
Fix question filter bug
1 parent f2500c7 commit 5775c8e

File tree

1 file changed

+24
-14
lines changed

1 file changed

+24
-14
lines changed

frontend/src/pages/QuestionList/index.tsx

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const QuestionList: React.FC = () => {
5353
const [searchFilter, setSearchFilter] = useDebounce<string>("", 1000);
5454
const [complexityFilter, setComplexityFilter] = useDebounce<string[]>(
5555
[],
56-
1000,
56+
1000
5757
);
5858
const [categoryFilter, setCategoryFilter] = useDebounce<string[]>([], 1000);
5959
const [selectedCategories, setSelectedCategories] = useState<string[]>([]);
@@ -72,7 +72,7 @@ const QuestionList: React.FC = () => {
7272
const menuOpen = Boolean(menuAnchor);
7373
const handleMenuOpen = (
7474
event: React.MouseEvent<HTMLElement>,
75-
questionId: string,
75+
questionId: string
7676
) => {
7777
setMenuAnchor(event.currentTarget);
7878
setTargetQuestion(questionId);
@@ -112,24 +112,34 @@ const QuestionList: React.FC = () => {
112112
searchFilter,
113113
complexityFilter,
114114
categoryFilter,
115-
dispatch,
115+
dispatch
116116
);
117117
};
118118

119-
useEffect(() => {
120-
getQuestionCategories(dispatch);
121-
}, []);
122-
123-
useEffect(() => {
119+
const updateQuestionList = () => {
124120
getQuestionList(
125121
page + 1, // convert from 0-based indexing
126122
rowsPerPage,
127123
searchFilter,
128124
complexityFilter,
129125
categoryFilter,
130-
dispatch,
126+
dispatch
131127
);
132-
}, [page, searchFilter, complexityFilter, categoryFilter]);
128+
};
129+
130+
useEffect(() => {
131+
getQuestionCategories(dispatch);
132+
}, []);
133+
134+
useEffect(() => {
135+
if (page !== 0) {
136+
setPage(0);
137+
} else {
138+
updateQuestionList();
139+
}
140+
}, [searchFilter, complexityFilter, categoryFilter]);
141+
142+
useEffect(() => updateQuestionList(), [page]);
133143

134144
// Check if the user is admin
135145
const auth = useAuth();
@@ -312,10 +322,10 @@ const QuestionList: React.FC = () => {
312322
question.complexity === "Easy"
313323
? "success.main"
314324
: question.complexity === "Medium"
315-
? "#D2C350"
316-
: question.complexity === "Hard"
317-
? "error.main"
318-
: grey[500],
325+
? "#D2C350"
326+
: question.complexity === "Hard"
327+
? "error.main"
328+
: grey[500],
319329
}}
320330
>
321331
{question.complexity}

0 commit comments

Comments
 (0)