@@ -101,7 +101,8 @@ export default function Navbar(props) {
101101 HomeService . unfreezeQueue ( ) ;
102102 } ;
103103
104- const [ notificationPermission , setNotificationPermission ] = useState ( Notification . permission ) ;
104+ const defaultNotificationPermission = ( 'Notification' in window ) ? Notification . permission : 'denied' ;
105+ const [ notificationPermission , setNotificationPermission ] = useState ( defaultNotificationPermission ) ;
105106
106107 const unfreezeButton = < Button color = "secondary" variant = "contained" sx = { { mx : 2 } } onClick = { unfreezeQueue } > Unfreeze</ Button > ;
107108 const freezeButton = < Button color = "secondary" variant = "contained" sx = { { mx : 2 } } onClick = { freezeQueue } > Freeze</ Button > ;
@@ -152,9 +153,13 @@ export default function Navbar(props) {
152153 }
153154 {
154155 notificationPermission !== 'granted' && (
155- < MenuItem onClick = { ( ) => Notification . requestPermission ( ( permission ) => {
156- setNotificationPermission ( permission ) ;
157- } ) } >
156+ < MenuItem onClick = { ( ) => {
157+ if ( 'Notification' in window ) {
158+ Notification . requestPermission ( ( permission ) => {
159+ setNotificationPermission ( permission ) ;
160+ } ) ;
161+ }
162+ } } >
158163 < Typography variant = 'subtitle2' sx = { { mx : 2 } } >
159164 Enable Notifications
160165 </ Typography >
@@ -210,9 +215,13 @@ export default function Navbar(props) {
210215 }
211216 {
212217 notificationPermission !== 'granted' && (
213- < IconButton color = "secondary" onClick = { ( ) => Notification . requestPermission ( ( permission ) => {
214- setNotificationPermission ( permission ) ;
215- } ) } >
218+ < IconButton color = "secondary" onClick = { ( ) => {
219+ if ( 'Notification' in window ) {
220+ Notification . requestPermission ( ( permission ) => {
221+ setNotificationPermission ( permission ) ;
222+ } ) ;
223+ }
224+ } } >
216225 < NotificationsActive />
217226 </ IconButton >
218227 )
0 commit comments