@@ -6,6 +6,7 @@ import Drawer from '@material-ui/core/Drawer';
6
6
import Toolbar from '@material-ui/core/Toolbar' ;
7
7
import Divider from '@material-ui/core/Divider' ;
8
8
import Badge from '@material-ui/core/Badge' ;
9
+ import Hidden from '@material-ui/core/Hidden' ;
9
10
import NotificationsIcon from '@material-ui/icons/Notifications' ;
10
11
import IconButton from '@material-ui/core/IconButton' ;
11
12
import MenuIcon from '@material-ui/icons/Menu' ;
@@ -88,14 +89,18 @@ const useStyles = makeStyles((theme) => ({
88
89
easing : theme . transitions . easing . sharp ,
89
90
duration : theme . transitions . duration . leavingScreen
90
91
} ) ,
91
- marginLeft : - drawerWidth
92
+ [ theme . breakpoints . up ( 'md' ) ] : {
93
+ marginLeft : - drawerWidth
94
+ }
92
95
} ,
93
96
contentShift : {
94
- transition : theme . transitions . create ( 'margin' , {
95
- easing : theme . transitions . easing . easeOut ,
96
- duration : theme . transitions . duration . enteringScreen
97
- } ) ,
98
- marginLeft : 0
97
+ [ theme . breakpoints . up ( 'md' ) ] : {
98
+ transition : theme . transitions . create ( 'margin' , {
99
+ easing : theme . transitions . easing . easeOut ,
100
+ duration : theme . transitions . duration . enteringScreen
101
+ } ) ,
102
+ marginLeft : 0
103
+ }
99
104
} ,
100
105
menuIcons : {
101
106
fill : theme . palette . common . white
@@ -106,25 +111,28 @@ const useStyles = makeStyles((theme) => ({
106
111
backgroundImage : 'linear-gradient(135deg, #41108E 0%, rgba(165, 37, 193, 1) 44.76%, #FC9957 100%)' ,
107
112
backgroundSize : '100% 100vh' ,
108
113
backgroundRepeat : 'no-repeat' ,
109
- zIndex : 900
114
+ zIndex : 900 ,
115
+ paddingLeft : 48
110
116
} ,
111
117
toolbarOverride : {
112
118
zIndex : 1000
113
119
} ,
114
120
appBarShift : {
115
- width : `calc(100% - ${ drawerWidth } px)` ,
116
- marginLeft : drawerWidth ,
117
- transition : theme . transitions . create ( [ 'margin' , 'width' ] , {
118
- easing : theme . transitions . easing . easeOut ,
119
- duration : theme . transitions . duration . enteringScreen
120
- } )
121
+ [ theme . breakpoints . up ( 'md' ) ] : {
122
+ width : `calc(100% - ${ drawerWidth } px)` ,
123
+ marginLeft : drawerWidth ,
124
+ transition : theme . transitions . create ( [ 'margin' , 'width' ] , {
125
+ easing : theme . transitions . easing . easeOut ,
126
+ duration : theme . transitions . duration . enteringScreen
127
+ } )
128
+ }
121
129
}
122
130
} ) ) ;
123
131
124
132
const Layout = ( { children } ) => {
125
133
const router = useRouter ( ) ;
126
134
const classes = useStyles ( ) ;
127
- const [ open , setOpen ] = useState ( router . pathname !== '/' ) ;
135
+ const [ open , setOpen ] = useState ( false ) ;
128
136
const [ links , setLinks ] = useState ( { } ) ;
129
137
const searchRef = useRef ( null ) ;
130
138
const anchorRef = useRef ( null ) ;
@@ -133,18 +141,23 @@ const Layout = ({ children }) => {
133
141
134
142
useEffect ( ( ) => {
135
143
setLinks ( findConnectedLinks ( router . asPath , flatSchema ) || { } ) ;
144
+ if ( window && window . innerWidth > 960 && router . pathname !== '/' ) {
145
+ setOpen ( true ) ;
146
+ }
136
147
} , [ router . asPath ] ) ;
137
148
138
149
const handleDrawerOpen = ( ) => {
139
150
setOpen ( true ) ;
140
- setTimeout ( ( ) => searchRef . current . focus ( ) , 500 ) ;
151
+ if ( searchRef && searchRef . current ) {
152
+ setTimeout ( ( ) => searchRef . current . focus ( ) , 500 ) ;
153
+ }
141
154
} ;
142
155
143
156
function handleDrawerClose ( ) {
144
157
setOpen ( false ) ;
145
158
}
146
159
147
- const handleToggle = ( notificationDates ) => {
160
+ const handleToggle = ( ) => {
148
161
setNewMessages ( 0 ) ;
149
162
setOpenNotifiation ( ! openNotification ) ;
150
163
} ;
@@ -168,18 +181,34 @@ const Layout = ({ children }) => {
168
181
< MenuIcon className = { classes . menuIcons } />
169
182
</ IconButton >
170
183
</ Toolbar >
171
- < Drawer
172
- className = { classes . drawer }
173
- variant = "persistent"
174
- anchor = "left"
175
- open = { open }
176
- classes = { {
177
- paper : classes . drawerPaper
178
- } }
179
- >
180
- < Navigation searchRef = { searchRef } closeNav = { handleDrawerClose } />
181
- < Divider />
182
- </ Drawer >
184
+ < Hidden smDown >
185
+ < Drawer
186
+ className = { classes . drawer }
187
+ variant = "persistent"
188
+ anchor = "left"
189
+ open = { open }
190
+ classes = { {
191
+ paper : classes . drawerPaper
192
+ } }
193
+ >
194
+ < Navigation searchRef = { searchRef } closeNav = { handleDrawerClose } />
195
+ < Divider />
196
+ </ Drawer >
197
+ </ Hidden >
198
+ < Hidden mdUp >
199
+ < Drawer
200
+ className = { classes . drawer }
201
+ variant = "temporary"
202
+ anchor = "left"
203
+ open = { open }
204
+ classes = { {
205
+ paper : classes . drawerPaper
206
+ } }
207
+ >
208
+ < Navigation closeNav = { handleDrawerClose } />
209
+ < Divider />
210
+ </ Drawer >
211
+ </ Hidden >
183
212
< div
184
213
className = { clsx ( classes . drawerHeader , classes . appBar , classes . rightAppBar , {
185
214
[ classes . appBarShift ] : open
0 commit comments