@@ -6,6 +6,7 @@ import Drawer from '@material-ui/core/Drawer';
66import Toolbar from '@material-ui/core/Toolbar' ;
77import Divider from '@material-ui/core/Divider' ;
88import Badge from '@material-ui/core/Badge' ;
9+ import Hidden from '@material-ui/core/Hidden' ;
910import NotificationsIcon from '@material-ui/icons/Notifications' ;
1011import IconButton from '@material-ui/core/IconButton' ;
1112import MenuIcon from '@material-ui/icons/Menu' ;
@@ -88,14 +89,18 @@ const useStyles = makeStyles((theme) => ({
8889 easing : theme . transitions . easing . sharp ,
8990 duration : theme . transitions . duration . leavingScreen
9091 } ) ,
91- marginLeft : - drawerWidth
92+ [ theme . breakpoints . up ( 'md' ) ] : {
93+ marginLeft : - drawerWidth
94+ }
9295 } ,
9396 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+ }
99104 } ,
100105 menuIcons : {
101106 fill : theme . palette . common . white
@@ -106,25 +111,28 @@ const useStyles = makeStyles((theme) => ({
106111 backgroundImage : 'linear-gradient(135deg, #41108E 0%, rgba(165, 37, 193, 1) 44.76%, #FC9957 100%)' ,
107112 backgroundSize : '100% 100vh' ,
108113 backgroundRepeat : 'no-repeat' ,
109- zIndex : 900
114+ zIndex : 900 ,
115+ paddingLeft : 48
110116 } ,
111117 toolbarOverride : {
112118 zIndex : 1000
113119 } ,
114120 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+ }
121129 }
122130} ) ) ;
123131
124132const Layout = ( { children } ) => {
125133 const router = useRouter ( ) ;
126134 const classes = useStyles ( ) ;
127- const [ open , setOpen ] = useState ( router . pathname !== '/' ) ;
135+ const [ open , setOpen ] = useState ( false ) ;
128136 const [ links , setLinks ] = useState ( { } ) ;
129137 const searchRef = useRef ( null ) ;
130138 const anchorRef = useRef ( null ) ;
@@ -133,18 +141,23 @@ const Layout = ({ children }) => {
133141
134142 useEffect ( ( ) => {
135143 setLinks ( findConnectedLinks ( router . asPath , flatSchema ) || { } ) ;
144+ if ( window && window . innerWidth > 960 && router . pathname !== '/' ) {
145+ setOpen ( true ) ;
146+ }
136147 } , [ router . asPath ] ) ;
137148
138149 const handleDrawerOpen = ( ) => {
139150 setOpen ( true ) ;
140- setTimeout ( ( ) => searchRef . current . focus ( ) , 500 ) ;
151+ if ( searchRef && searchRef . current ) {
152+ setTimeout ( ( ) => searchRef . current . focus ( ) , 500 ) ;
153+ }
141154 } ;
142155
143156 function handleDrawerClose ( ) {
144157 setOpen ( false ) ;
145158 }
146159
147- const handleToggle = ( notificationDates ) => {
160+ const handleToggle = ( ) => {
148161 setNewMessages ( 0 ) ;
149162 setOpenNotifiation ( ! openNotification ) ;
150163 } ;
@@ -168,18 +181,34 @@ const Layout = ({ children }) => {
168181 < MenuIcon className = { classes . menuIcons } />
169182 </ IconButton >
170183 </ 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 >
183212 < div
184213 className = { clsx ( classes . drawerHeader , classes . appBar , classes . rightAppBar , {
185214 [ classes . appBarShift ] : open
0 commit comments