Skip to content

Commit 2ebddf5

Browse files
committed
Add filter functionalities to collaboration page
1 parent 39e7dbe commit 2ebddf5

File tree

9 files changed

+21
-7
lines changed

9 files changed

+21
-7
lines changed

peerprep-fe/src/app/(main)/components/Main.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use client';
22
import { useFilteredProblems } from '@/hooks/useFilteredProblems';
3-
import FilterBar from './filter/FilterBar';
3+
import FilterBar from '../../../components/filter/FilterBar';
44
import ProblemTable from '../../../components/problems/ProblemTable';
55
import RejoinSession from './RejoinSession';
66

peerprep-fe/src/app/admin/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use client';
22
import React, { useState } from 'react';
33
import { useFilteredProblems } from '@/hooks/useFilteredProblems';
4-
import FilterBar from '../(main)/components/filter/FilterBar';
4+
import FilterBar from '../../components/filter/FilterBar';
55
import ProblemTable from '../../components/problems/ProblemTable';
66
import { axiosClient } from '@/network/axiosClient';
77
import { Problem } from '@/types/types';

peerprep-fe/src/app/collaboration/page.tsx

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import LoadingSpinner from '@/components/loading/LoadingSpinner';
1616
import { useCollaborationStore } from '@/state/useCollaborationStore';
1717
import dynamic from 'next/dynamic';
1818
import EditorSkeleton from './components/EditorSkeleton';
19+
import FilterBar from '@/components/filter/FilterBar';
1920

2021
const CollaborationEditor = dynamic(
2122
() => import('./components/CollaborationEditor'),
@@ -31,7 +32,15 @@ function CollaborationPageContent() {
3132
);
3233
const searchParams = useSearchParams();
3334
const matchId = searchParams.get('matchId');
34-
const { problems, isLoading, hasMore, loadMore } = useFilteredProblems();
35+
const {
36+
problems,
37+
isLoading,
38+
hasMore,
39+
loadMore,
40+
filters,
41+
updateFilter,
42+
removeFilter,
43+
} = useFilteredProblems();
3544
const { setLastMatchId } = useCollaborationStore();
3645

3746
useEffect(() => {
@@ -96,6 +105,11 @@ function CollaborationPageContent() {
96105
) : (
97106
<>
98107
<h2 className="mb-4 text-2xl font-bold">Choose a question</h2>
108+
<FilterBar
109+
filters={filters}
110+
updateFilter={updateFilter}
111+
removeFilter={removeFilter}
112+
/>
99113
<ProblemTable
100114
problems={problems}
101115
isLoading={isLoading}

peerprep-fe/src/components/dialogs/PreMatch.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import {
1010
DialogTrigger,
1111
} from '@/components/ui/dialog';
1212
import { Button } from '@/components/ui/button';
13-
import { FilterSelect } from '@/app/(main)/components/filter/FilterSelect';
14-
import { TopicsPopover } from '@/app/(main)/components/filter/TopicsPopover';
13+
import { FilterSelect } from '@/components/filter/FilterSelect';
14+
import { TopicsPopover } from '@/components/filter/TopicsPopover';
1515
import { axiosClient } from '@/network/axiosClient';
1616
import { DIFFICULTY_OPTIONS } from '@/lib/constants';
1717
import { UserMatchingRequest } from '@/types/types';
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

peerprep-fe/src/components/problems/ProblemInputDialog.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import { Button } from '../ui/button';
1010
import { Problem } from '@/types/types';
1111
import { Textarea } from '../ui/textarea';
1212
import { Input } from '../ui/input';
13-
import { FilterSelect } from '@/app/(main)/components/filter/FilterSelect';
14-
import { TopicsPopover } from '@/app/(main)/components/filter/TopicsPopover';
13+
import { FilterSelect } from '@/components/filter/FilterSelect';
14+
import { TopicsPopover } from '@/components/filter/TopicsPopover';
1515
import { DIFFICULTY_OPTIONS, INITIAL_PROBLEM_DATA } from '@/lib/constants';
1616

1717
type Props = {

0 commit comments

Comments
 (0)