@@ -25,7 +25,7 @@ import useSingle from 'lib/hooks/single';
2525import useURLParamSync from 'lib/hooks/url-param-sync' ;
2626import { useUser } from 'lib/context/user' ;
2727
28- import { CalendarStateContext , DialogPage } from './state' ;
28+ import { CalendarDisplay , CalendarStateContext , DialogPage } from './state' ;
2929import CreatePage from './dialog/create-page' ;
3030import DialogSurface from './dialog/surface' ;
3131import DisplayPage from './dialog/display-page' ;
@@ -35,6 +35,7 @@ import Header from './header';
3535import RecurDialog from './recur-dialog' ;
3636import SearchBar from './search-bar' ;
3737import DailyDisplay from './daily-display' ;
38+ import WeeklyDisplay from './weekly-display' ;
3839import styles from './calendar.module.scss' ;
3940
4041const initialEditData = new Meeting ( ) ;
@@ -48,6 +49,7 @@ export default function Calendar({
4849 org : byOrg ,
4950 user : byUser ,
5051} : CalendarProps ) : JSX . Element {
52+ const [ display , setDisplay ] = useState < CalendarDisplay > ( 'Week' ) ;
5153 const [ filtersOpen , setFiltersOpen ] = useState < boolean > ( false ) ;
5254 const [ mutatedIds , setMutatedIds ] = useState < Set < number > > ( new Set ( ) ) ;
5355 const [ query , setQuery ] = useState < MeetingsQuery > ( new MeetingsQuery ( ) ) ;
@@ -236,6 +238,8 @@ export default function Calendar({
236238 dragging,
237239 setDragging,
238240 start : query . from ,
241+ display,
242+ setDisplay,
239243 } ) ,
240244 [
241245 editing ,
@@ -252,6 +256,8 @@ export default function Calendar({
252256 dragging ,
253257 setDragging ,
254258 query . from ,
259+ display ,
260+ setDisplay ,
255261 ]
256262 ) ;
257263
@@ -370,15 +376,28 @@ export default function Calendar({
370376 byOrg = { byOrg }
371377 />
372378 < div className = { styles . content } >
373- < DailyDisplay
374- searching = { ! data }
375- meetings = { meetings }
376- filtersOpen = { filtersOpen }
377- width = { width }
378- setWidth = { setWidth }
379- offset = { offset }
380- setOffset = { setOffset }
381- />
379+ { display === 'Day' && (
380+ < DailyDisplay
381+ searching = { ! data }
382+ meetings = { meetings }
383+ filtersOpen = { filtersOpen }
384+ width = { width }
385+ setWidth = { setWidth }
386+ offset = { offset }
387+ setOffset = { setOffset }
388+ />
389+ ) }
390+ { display === 'Week' && (
391+ < WeeklyDisplay
392+ searching = { ! data }
393+ meetings = { meetings }
394+ filtersOpen = { filtersOpen }
395+ width = { width }
396+ setWidth = { setWidth }
397+ offset = { offset }
398+ setOffset = { setOffset }
399+ />
400+ ) }
382401 < FiltersSheet
383402 query = { query }
384403 setQuery = { setQuery }
0 commit comments