@@ -22,11 +22,12 @@ import { CalendarHeader } from "@/components/calendar/header/calendar-header";
2222import { MonthView } from "@/components/calendar/month-view/month-view" ;
2323import { WeekView } from "@/components/calendar/week-view/week-view" ;
2424import { db , mapEventQueryInput } from "@/lib/db" ;
25+ import { DisplayItem , isEvent } from "@/lib/display-item" ;
2526import { cn } from "@/lib/utils" ;
2627import { applyOptimisticActions } from "./calendar/hooks/apply-optimistic-actions" ;
2728import { optimisticActionsByEventIdAtom } from "./calendar/hooks/optimistic-actions" ;
2829import { useEventsForDisplay } from "./calendar/hooks/use-events" ;
29- import { filterPastEvents } from "./calendar/utils/event" ;
30+ import { filterPastItems } from "./calendar/utils/event" ;
3031
3132interface CalendarContentProps {
3233 scrollContainerRef : React . RefObject < HTMLDivElement | null > ;
@@ -54,22 +55,26 @@ function CalendarContent({ scrollContainerRef }: CalendarContentProps) {
5455 ) ;
5556 } , [ data ?. events , data ?. recurringMasterEvents ] ) ;
5657
57- const events = React . useMemo ( ( ) => {
58- const events = applyOptimisticActions ( {
58+ const displayItems = React . useMemo ( ( ) => {
59+ const eventItems = applyOptimisticActions ( {
5960 items : data ?. events ?? [ ] ,
6061 timeZone : defaultTimeZone ,
6162 optimisticActions,
6263 } ) ;
6364
64- const pastFiltered = showPastEvents
65- ? events
66- : filterPastEvents ( events , defaultTimeZone ) ;
65+ const pastFiltered : DisplayItem [ ] = showPastEvents
66+ ? eventItems
67+ : filterPastItems ( eventItems , defaultTimeZone ) ;
68+
69+ return pastFiltered . filter ( ( item ) => {
70+ if ( ! isEvent ( item ) ) {
71+ return true ;
72+ }
6773
68- return pastFiltered . filter ( ( eventItem ) => {
6974 const preference = getCalendarPreference (
7075 calendarPreferences ,
71- eventItem . event . calendar . provider . accountId ,
72- eventItem . event . calendar . id ,
76+ item . event . calendar . provider . accountId ,
77+ item . event . calendar . id ,
7378 ) ;
7479
7580 return ! ( preference ?. hidden === true ) ;
@@ -83,24 +88,26 @@ function CalendarContent({ scrollContainerRef }: CalendarContentProps) {
8388 ] ) ;
8489
8590 if ( view === "month" ) {
86- return < MonthView currentDate = { currentDate } events = { events } /> ;
91+ return < MonthView currentDate = { currentDate } items = { displayItems } /> ;
8792 }
8893
8994 if ( view === "week" ) {
90- return < WeekView events = { events } scrollContainerRef = { scrollContainerRef } /> ;
95+ return (
96+ < WeekView items = { displayItems } scrollContainerRef = { scrollContainerRef } />
97+ ) ;
9198 }
9299
93100 if ( view === "day" ) {
94101 return (
95102 < DayView
96103 currentDate = { currentDate }
97- events = { events }
104+ items = { displayItems }
98105 scrollContainerRef = { scrollContainerRef }
99106 />
100107 ) ;
101108 }
102109
103- return < AgendaView currentDate = { currentDate } items = { events } /> ;
110+ return < AgendaView currentDate = { currentDate } items = { displayItems } /> ;
104111}
105112
106113interface CalendarViewProps {
0 commit comments