@@ -15,23 +15,23 @@ export default function JottingsControl(props) {
1515 const [ tasks , setTasks ] = useState ( null ) ;
1616 const [ labels , setLabels ] = useState ( null ) ;
1717
18- const { width } = useWindowSize ( ) ;
19- const [ activeList , setActiveList ] = useState ( 'labels' ) ;
20-
2118 const router = useRouter ( ) ;
19+ const [ matches , setMatches ] = useState (
20+ window . matchMedia ( "(min-width: 800px)" ) . matches
21+ )
2222
23- useEffect ( ( ) => {
24- if ( width >= 800 ) {
25- setActiveList ( 'all' ) ;
26- } else {
27- setActiveList ( 'labels' ) ;
28- }
29- } , [ width ] ) ;
23+ useEffect ( ( ) => {
3024
31- useEffect ( ( ) => {
32- setActiveList ( router . query . list || 'labels' ) ;
25+ const handleResize = e => {
26+ setMatches ( e . matches ) ;
27+ } ;
3328
34- } , [ router . query ] ) ;
29+ window
30+ . matchMedia ( "(min-width: 800px)" )
31+ . addEventListener ( 'change' , handleResize ) ;
32+
33+ return ( ) => { removeEventListener ( 'change' , handleResize ) ; } ;
34+ } , [ ] ) ;
3535
3636 const getJotsToShow = ( response , jotType ) => {
3737 if (
@@ -109,13 +109,16 @@ export default function JottingsControl(props) {
109109 useEffect ( ( ) => {
110110 makeLabelsRequest ( ) ;
111111 makeJottingsRequests ( ) ;
112+ console . log ( router . asPath ) ;
112113 } , [ ] ) ;
113114
115+ const showList = list => router . asPath . includes ( `list=${ list } ` )
116+
114117 return (
115118 < >
116- < LabelsControl active = { [ ' labels' , 'all' ] . includes ( activeList ) } labelsState = { [ labels , setLabels ] } />
117- < NotesControl active = { [ 'notes' , 'all' ] . includes ( activeList ) } notesState = { [ notes , setNotes ] } />
118- < TasksControl active = { [ 'tasks' , 'all' ] . includes ( activeList ) } tasksState = { [ tasks , setTasks ] } />
119+ < LabelsControl active = { router . asPath . includes ( `list= labels` ) || ! router . asPath . includes ( 'list=' ) } labelsState = { [ labels , setLabels ] } />
120+ < NotesControl active = { showList ( 'notes' ) } notesState = { [ notes , setNotes ] } />
121+ < TasksControl active = { showList ( 'tasks' ) } tasksState = { [ tasks , setTasks ] } />
119122
120123 < NoteControl notes = { notes } />
121124 < TaskControl tasks = { tasks } />
0 commit comments