@@ -7,18 +7,18 @@ import { useParams } from 'react-router-dom';
77import { sendTrackEvent } from '@edx/frontend-platform/analytics' ;
88
99import FilterBar from '../../../components/FilterBar' ;
10- import { PostsStatusFilter , ThreadType } from '../../../data/constants' ;
10+ // import { PostsStatusFilter, ThreadType } from '../../../data/constants';
1111import selectCourseCohorts from '../../cohorts/data/selectors' ;
1212import fetchCourseCohorts from '../../cohorts/data/thunks' ;
13- import { selectUserHasModerationPrivileges , selectUserIsGroupTa , selectUserIsStaff } from '../../data/selectors' ;
13+ import { selectUserHasModerationPrivileges , selectUserIsGroupTa } from '../../data/selectors' ;
1414import { setPostFilter } from '../data/slices' ;
1515
1616const LearnerPostFilterBar = ( ) => {
1717 const dispatch = useDispatch ( ) ;
1818 const { courseId } = useParams ( ) ;
1919 const userHasModerationPrivileges = useSelector ( selectUserHasModerationPrivileges ) ;
2020 const userIsGroupTa = useSelector ( selectUserIsGroupTa ) ;
21- const userIsStaff = useSelector ( selectUserIsStaff ) ;
21+ // const userIsStaff = useSelector(selectUserIsStaff);
2222 const cohorts = useSelector ( selectCourseCohorts ) ;
2323 const postFilter = useSelector ( state => state . learners . postFilter ) ;
2424
@@ -28,24 +28,23 @@ const LearnerPostFilterBar = () => {
2828 filters : [ 'type-all' , 'type-discussions' , 'type-questions' ] ,
2929 } ,
3030 {
31- name : 'status' ,
31+ name : 'status' , // secondary status
3232 filters : [ 'status-any' , 'status-unread' , 'status-unanswered' , 'status-unresponded' ] ,
3333 } ,
3434 {
3535 name : 'orderBy' ,
3636 filters : [ 'sort-activity' , 'sort-comments' , 'sort-votes' ] ,
3737 } ,
38+ {
39+ name : 'contentStatus' , // main content status
40+ filters : [ 'status-active' , 'status-deleted' ] ,
41+ hasSeparator : true ,
42+ } ,
3843 ] ;
3944
40- if ( userHasModerationPrivileges || userIsGroupTa || userIsStaff ) {
41- // Add reported filter to the regular status filters
45+ if ( userHasModerationPrivileges || userIsGroupTa ) {
46+ // Add reported filter only for group TA and moderators
4247 filtersToShow [ 1 ] . filters . splice ( 2 , 0 , 'status-reported' ) ;
43- // Add Active/Deleted as a separate filter section at the bottom with a separator
44- filtersToShow . push ( {
45- name : 'status' ,
46- filters : [ 'status-active' , 'status-deleted' ] ,
47- hasSeparator : true , // Add visual separator before this section
48- } ) ;
4948 }
5049
5150 const handleFilterChange = ( event ) => {
@@ -59,40 +58,27 @@ const LearnerPostFilterBar = () => {
5958 } ;
6059 if ( name === 'postType' ) {
6160 if ( postFilter . postType !== value ) {
62- dispatch ( setPostFilter ( {
63- ...postFilter ,
64- postType : value ,
65- } ) ) ;
61+ dispatch ( setPostFilter ( { postType : value } ) ) ;
6662 filterContentEventProperties . threadTypeFilter = value ;
6763 }
6864 } else if ( name === 'status' ) {
6965 if ( postFilter . status !== value ) {
70- const postType = ( value === PostsStatusFilter . UNANSWERED && ThreadType . QUESTION )
71- || ( value === PostsStatusFilter . UNRESPONDED && ThreadType . DISCUSSION )
72- || postFilter . postType ;
73-
74- dispatch ( setPostFilter ( {
75- ...postFilter ,
76- postType,
77- status : value ,
78- } ) ) ;
79-
66+ dispatch ( setPostFilter ( { status : value } ) ) ;
8067 filterContentEventProperties . statusFilter = value ;
8168 }
69+ } else if ( name === 'contentStatus' ) {
70+ if ( postFilter . contentStatus !== value ) {
71+ dispatch ( setPostFilter ( { contentStatus : value } ) ) ;
72+ filterContentEventProperties . contentStatusFilter = value ;
73+ }
8274 } else if ( name === 'orderBy' ) {
8375 if ( postFilter . orderBy !== value ) {
84- dispatch ( setPostFilter ( {
85- ...postFilter ,
86- orderBy : value ,
87- } ) ) ;
76+ dispatch ( setPostFilter ( { orderBy : value } ) ) ;
8877 filterContentEventProperties . sortFilter = value ;
8978 }
9079 } else if ( name === 'cohort' ) {
9180 if ( postFilter . cohort !== value ) {
92- dispatch ( setPostFilter ( {
93- ...postFilter ,
94- cohort : value ,
95- } ) ) ;
81+ dispatch ( setPostFilter ( { cohort : value } ) ) ;
9682 filterContentEventProperties . cohortFilter = value ;
9783 }
9884 }
0 commit comments