@@ -55,12 +55,14 @@ export default function EventsTable({
5555 clubid,
5656 scheduleSort = "asc" ,
5757 hideClub = false ,
58+ canViewDeletedEvents = false ,
5859} ) {
5960 const router = useRouter ( ) ;
6061 const theme = useTheme ( ) ;
6162 const isMobile = useMediaQuery ( theme . breakpoints . down ( "sm" ) ) ;
6263
6364 // Toggle state for Last 4 Months
65+ const [ deleteToggle , setDeleteToggle ] = useState ( [ ] ) ;
6466 const [ filterMonth , setFilterMonth ] = useState ( [ "pastEventsLimit" ] ) ;
6567 const [ events , setEvents ] = useState ( initialEvents || [ ] ) ;
6668 const [ dialog , setDialog ] = useState ( false ) ;
@@ -77,12 +79,13 @@ export default function EventsTable({
7779 let params = {
7880 targetClub : clubid ,
7981 pastEventsLimit : filterMonth . includes ( "pastEventsLimit" ) ? 4 : null ,
82+ deletedEvents : deleteToggle . includes ( "toggleDeletedEvents" ) ,
8083 } ;
8184 const result = await query ( params ) ;
8285 setEvents ( result || [ ] ) ;
8386 }
8487 fetchEvents ( ) ;
85- } , [ query , clubid , filterMonth , initialEvents ] ) ;
88+ } , [ query , clubid , filterMonth , deleteToggle , initialEvents ] ) ;
8689
8790 const columns = [
8891 ...( isMobile
@@ -369,29 +372,48 @@ export default function EventsTable({
369372 { query ? "All Events" : "Pending Events" }
370373 </ Typography >
371374 { query && (
372- < FormControlLabel
373- control = {
374- < Switch
375- checked = { filterMonth . includes ( "pastEventsLimit" ) }
376- onChange = { ( e ) => {
377- // Only show dialog when switching from ON to OFF
378- if (
379- filterMonth . includes ( "pastEventsLimit" ) &&
380- ! e . target . checked
381- ) {
382- setDialog ( true ) ;
383- } else {
384- setFilterMonth (
385- e . target . checked ? [ "pastEventsLimit" ] : [ ] ,
386- ) ;
387- }
388- } }
389- color = "primary"
375+ < Box sx = { { display : "flex" , alignItems : "center" } } >
376+ < FormControlLabel
377+ control = {
378+ < Switch
379+ checked = { filterMonth . includes ( "pastEventsLimit" ) }
380+ onChange = { ( e ) => {
381+ // Only show dialog when switching from ON to OFF
382+ if (
383+ filterMonth . includes ( "pastEventsLimit" ) &&
384+ ! e . target . checked
385+ ) {
386+ setDialog ( true ) ;
387+ } else {
388+ setFilterMonth (
389+ e . target . checked ? [ "pastEventsLimit" ] : [ ] ,
390+ ) ;
391+ }
392+ } }
393+ color = "primary"
394+ />
395+ }
396+ label = "Last 4 Months"
397+ sx = { { marginLeft : 1 } }
398+ />
399+ { canViewDeletedEvents && (
400+ < FormControlLabel
401+ control = {
402+ < Switch
403+ checked = { deleteToggle . includes ( "toggleDeletedEvents" ) }
404+ onChange = { ( e ) => {
405+ setDeleteToggle (
406+ e . target . checked ? [ "toggleDeletedEvents" ] : [ ] ,
407+ ) ;
408+ } }
409+ color = "primary"
410+ />
411+ }
412+ label = "Show Only Deleted Events"
413+ sx = { { marginLeft : 1 } }
390414 />
391- }
392- label = "Last 4 Months"
393- sx = { { marginLeft : 1 } }
394- />
415+ ) }
416+ </ Box >
395417 ) }
396418 < ConfirmDialog
397419 open = { dialog }
0 commit comments