@@ -236,37 +236,37 @@ export function CPDashboard() {
236236 return null ;
237237 } ;
238238
239- const filteredEvents = events . filter ( event => {
240- // 🔹 Online filter
241- if ( onlineOnly ) {
242- const isOnlineEvent = ( event . location || '' ) . toLowerCase ( ) === 'virtual' ;
243- if ( ! isOnlineEvent ) return false ;
244- }
239+ const filteredEvents = events . filter ( event => {
240+ // 🔹 Online filter
241+ if ( onlineOnly ) {
242+ const isOnlineEvent = ( event . location || '' ) . toLowerCase ( ) === 'virtual' ;
243+ if ( ! isOnlineEvent ) return false ;
244+ }
245245
246- // 🔹 Date filters
247- if ( dateFilter === 'tomorrow' ) {
248- if ( ! isTomorrow ( event . date ) ) return false ;
249- } else if ( dateFilter === 'weekend' ) {
250- if ( ! isComingWeekend ( event . date ) ) return false ;
251- }
246+ // 🔹 Date filters
247+ if ( dateFilter === 'tomorrow' ) {
248+ if ( ! isTomorrow ( event . date ) ) return false ;
249+ } else if ( dateFilter === 'weekend' ) {
250+ if ( ! isComingWeekend ( event . date ) ) return false ;
251+ }
252252
253- // 🔹 Specific selected date
254- const eventDate = event . date ? parseEventDate ( event . date ) : null ;
255- if ( selectedDate && eventDate !== selectedDate ) {
256- return false ;
257- }
253+ // 🔹 Specific selected date
254+ const eventDate = event . date ? parseEventDate ( event . date ) : null ;
255+ if ( selectedDate && eventDate !== selectedDate ) {
256+ return false ;
257+ }
258258
259- // 🔹 Search
260- if ( ! searchQuery ) return true ;
259+ // 🔹 Search
260+ if ( ! searchQuery ) return true ;
261261
262- const term = searchQuery . toLowerCase ( ) ;
262+ const term = searchQuery . toLowerCase ( ) ;
263263
264- return (
265- fuzzySearch ( event . title || '' , term , 0.6 ) ||
266- fuzzySearch ( event . location || '' , term , 0.6 ) ||
267- fuzzySearch ( event . organizer || '' , term , 0.6 )
268- ) ;
269- } ) ;
264+ return (
265+ fuzzySearch ( event . title || '' , term , 0.6 ) ||
266+ fuzzySearch ( event . location || '' , term , 0.6 ) ||
267+ fuzzySearch ( event . organizer || '' , term , 0.6 )
268+ ) ;
269+ } ) ;
270270
271271 useEffect ( ( ) => {
272272 setPagination ( prev => ( { ...prev , currentPage : 1 } ) ) ;
@@ -416,127 +416,134 @@ const filteredEvents = events.filter(event => {
416416 </ header >
417417
418418 < Row >
419-
420- < Col md = { 3 } className = { ` ${ styles . dashboardSidebar } ${ darkMode ? styles . darkSidebar : '' } ` } >
421- < div className = { styles . filterSection } >
422- < h4 > Search Filters </ h4 >
423-
424- < div className = { ` ${ styles . filterItem } ${ styles . searchFilter } ` } >
425- < label htmlFor = "search-events" > Search Events </ label >
426- < div className = { styles . inputGroup } >
427- < span className = { styles . inputGroupText } >
428- < FaSearch / >
429- </ span >
430- < input
431- type = "text "
432- id = "search- events"
433- placeholder = "Search events..."
434- value = { searchInput }
435- onChange = { e => setSearchInput ( e . target . value ) }
436- / >
419+ < Col md = { 3 } className = { ` ${ styles . dashboardSidebar } ${ darkMode ? styles . darkSidebar : '' } ` } >
420+ < div className = { styles . filterSection } >
421+ < h4 > Search Filters </ h4 >
422+
423+ < div className = { ` ${ styles . filterItem } ${ styles . searchFilter } ` } >
424+ < label htmlFor = "search-events" > Search Events </ label >
425+ < div className = { styles . inputGroup } >
426+ < span className = { styles . inputGroupText } >
427+ < FaSearch / >
428+ </ span >
429+ < input
430+ type = "text"
431+ id = "search-events "
432+ placeholder = "Search events... "
433+ value = { searchInput }
434+ onChange = { e => setSearchInput ( e . target . value ) }
435+ />
436+ </ div >
437437 </ div >
438- </ div >
439438
440- < div className = { styles . filterSectionDivider } >
441- < div className = { styles . filterItem } >
442- < label htmlFor = "date-tomorrow" > Dates</ label >
443- < div className = { styles . radioRow } >
444- < FormGroup check className = { styles . radioGroup + ' d-flex align-items-center' } >
445- < Input
446- id = "date-tomorrow"
447- type = "radio"
448- name = "dates"
449- checked = { dateFilter === 'tomorrow' }
450- onChange = { ( ) => setDateFilter ( 'tomorrow' ) }
451- className = { styles . radioInput }
452- />
453- < Label htmlFor = "date-tomorrow" check className = { styles . radioLabel + ' ms-2 mb-0' } >
454- Tomorrow
455- </ Label >
456- </ FormGroup >
457-
458- < FormGroup check className = { styles . radioGroup + ' d-flex align-items-center' } >
459- < Input
460- id = "date-weekend"
461- type = "radio"
462- name = "dates"
463- checked = { dateFilter === 'weekend' }
464- onChange = { ( ) => setDateFilter ( 'weekend' ) }
465- className = { styles . radioInput }
466- />
467- < Label htmlFor = "date-weekend" check className = { styles . radioLabel + ' ms-2 mb-0' } >
468- This Weekend
469- </ Label >
470- </ FormGroup >
471- </ div >
439+ < div className = { styles . filterSectionDivider } >
440+ < div className = { styles . filterItem } >
441+ < label htmlFor = "date-tomorrow" > Dates</ label >
442+ < div className = { styles . radioRow } >
443+ < FormGroup check className = { styles . radioGroup + ' d-flex align-items-center' } >
444+ < Input
445+ id = "date-tomorrow"
446+ type = "radio"
447+ name = "dates"
448+ checked = { dateFilter === 'tomorrow' }
449+ onChange = { ( ) => setDateFilter ( 'tomorrow' ) }
450+ className = { styles . radioInput }
451+ />
452+ < Label
453+ htmlFor = "date-tomorrow"
454+ check
455+ className = { styles . radioLabel + ' ms-2 mb-0' }
456+ >
457+ Tomorrow
458+ </ Label >
459+ </ FormGroup >
460+
461+ < FormGroup check className = { styles . radioGroup + ' d-flex align-items-center' } >
462+ < Input
463+ id = "date-weekend"
464+ type = "radio"
465+ name = "dates"
466+ checked = { dateFilter === 'weekend' }
467+ onChange = { ( ) => setDateFilter ( 'weekend' ) }
468+ className = { styles . radioInput }
469+ />
470+ < Label
471+ htmlFor = "date-weekend"
472+ check
473+ className = { styles . radioLabel + ' ms-2 mb-0' }
474+ >
475+ This Weekend
476+ </ Label >
477+ </ FormGroup >
478+ </ div >
472479
473- < div className = { styles . dashboardActions } >
474- < Button
475- color = "primary"
476- onClick = { ( ) => {
477- setDateFilter ( '' ) ;
478- setSelectedDate ( '' ) ;
479- } }
480- >
481- Clear date filter
482- </ Button >
480+ < div className = { styles . dashboardActions } >
481+ < Button
482+ color = "primary"
483+ onClick = { ( ) => {
484+ setDateFilter ( '' ) ;
485+ setSelectedDate ( '' ) ;
486+ } }
487+ >
488+ Clear date filter
489+ </ Button >
490+ </ div >
491+
492+ < div className = { styles . filterItem } >
493+ < div className = { styles . dateFilterContainer } >
494+ < DatePicker
495+ type = "date"
496+ selected = { selectedDate ? new Date ( selectedDate ) : null }
497+ onChange = { handleDateChange }
498+ placeholderText = "Ending After"
499+ id = "ending-after"
500+ className = { styles . dateFilter }
501+ dateFormat = "yyyy-MM-dd"
502+ isClearable
503+ />
504+ </ div >
505+ </ div >
483506 </ div >
484507
485508 < div className = { styles . filterItem } >
486- < div className = { styles . dateFilterContainer } >
487- < DatePicker
488- type = "date"
489- selected = { selectedDate ? new Date ( selectedDate ) : null }
490- onChange = { handleDateChange }
491- placeholderText = "Ending After"
492- id = "ending-after"
493- className = { styles . dateFilter }
494- dateFormat = "yyyy-MM-dd"
495- isClearable
496- />
509+ < label htmlFor = "online-only" > Online</ label >
510+ < div >
511+ < Input
512+ type = "checkbox"
513+ id = "online-only"
514+ checked = { onlineOnly }
515+ onChange = { e => {
516+ setOnlineOnly ( e . target . checked ) ;
517+ setPagination ( prev => ( { ...prev , currentPage : 1 } ) ) ;
518+ } }
519+ /> { ' ' }
520+ Online Only
497521 </ div >
498522 </ div >
499- </ div >
500523
501- < div className = { styles . filterItem } >
502- < label htmlFor = "online-only" > Online</ label >
503- < div >
504- < Input
505- type = "checkbox"
506- id = "online-only"
507- checked = { onlineOnly }
508- onChange = { e => {
509- setOnlineOnly ( e . target . checked ) ;
510- setPagination ( prev => ( { ...prev , currentPage : 1 } ) ) ;
511- } }
512- /> { ' ' }
513- Online Only
524+ < div className = { styles . filterItem } >
525+ < label htmlFor = "branches" > Branches</ label >
526+ < Input id = "branches" type = "select" >
527+ < option > Select branches</ option >
528+ </ Input >
514529 </ div >
515- </ div >
516-
517- < div className = { styles . filterItem } >
518- < label htmlFor = "branches" > Branches</ label >
519- < Input id = "branches" type = "select" >
520- < option > Select branches</ option >
521- </ Input >
522- </ div >
523530
524- < div className = { styles . filterItem } >
525- < label htmlFor = "themes" > Themes</ label >
526- < Input id = "themes" type = "select" >
527- < option > Select themes</ option >
528- </ Input >
529- </ div >
531+ < div className = { styles . filterItem } >
532+ < label htmlFor = "themes" > Themes</ label >
533+ < Input id = "themes" type = "select" >
534+ < option > Select themes</ option >
535+ </ Input >
536+ </ div >
530537
531- < div className = { styles . filterItem } >
532- < label htmlFor = "categories" > Categories</ label >
533- < Input id = "categories" type = "select" >
534- < option > Select categories</ option >
535- </ Input >
538+ < div className = { styles . filterItem } >
539+ < label htmlFor = "categories" > Categories</ label >
540+ < Input id = "categories" type = "select" >
541+ < option > Select categories</ option >
542+ </ Input >
543+ </ div >
536544 </ div >
537545 </ div >
538- </ div >
539- </ Col >
546+ </ Col >
540547
541548 < Col md = { 9 } className = { `${ styles . dashboardMain } ${ darkMode ? styles . darkMain : '' } ` } >
542549 < div className = { styles . eventsHeader } >
0 commit comments