@@ -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 ( ) ) ;
@@ -230,6 +232,8 @@ export default function Calendar({
230232 dragging,
231233 setDragging,
232234 start : query . from ,
235+ display,
236+ setDisplay,
233237 } ) ,
234238 [
235239 editing ,
@@ -242,6 +246,8 @@ export default function Calendar({
242246 dragging ,
243247 setDragging ,
244248 query . from ,
249+ display ,
250+ setDisplay ,
245251 ]
246252 ) ;
247253
@@ -360,15 +366,28 @@ export default function Calendar({
360366 byOrg = { byOrg }
361367 />
362368 < div className = { styles . content } >
363- < DailyDisplay
364- searching = { ! data }
365- meetings = { meetings }
366- filtersOpen = { filtersOpen }
367- width = { width }
368- setWidth = { setWidth }
369- offset = { offset }
370- setOffset = { setOffset }
371- />
369+ { display === 'Day' && (
370+ < DailyDisplay
371+ searching = { ! data }
372+ meetings = { meetings }
373+ filtersOpen = { filtersOpen }
374+ width = { width }
375+ setWidth = { setWidth }
376+ offset = { offset }
377+ setOffset = { setOffset }
378+ />
379+ ) }
380+ { display === 'Week' && (
381+ < WeeklyDisplay
382+ searching = { ! data }
383+ meetings = { meetings }
384+ filtersOpen = { filtersOpen }
385+ width = { width }
386+ setWidth = { setWidth }
387+ offset = { offset }
388+ setOffset = { setOffset }
389+ />
390+ ) }
372391 < FiltersSheet
373392 query = { query }
374393 setQuery = { setQuery }
0 commit comments