Add modal state for browser notifications being denied (#3771)
This commit is contained in:
@@ -100,6 +100,16 @@ const NotificationsEnabled = () => (
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const NotificationsDenied = () => (
|
||||||
|
<div>
|
||||||
|
<Title level={2}>Notifications are blocked on your device</Title>
|
||||||
|
To enable push notifications from {window.location.hostname.toString()} access your browser
|
||||||
|
permissions for this site and turn on notifications. Then reload this page to apply your updated
|
||||||
|
settings on this site.
|
||||||
|
<a href="https://owncast.online/docs/notifications"> Learn more.</a>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
export const BrowserNotifyModal = () => {
|
export const BrowserNotifyModal = () => {
|
||||||
const [error, setError] = useState<string>(null);
|
const [error, setError] = useState<string>(null);
|
||||||
const accessToken = useRecoilValue(accessTokenAtom);
|
const accessToken = useRecoilValue(accessTokenAtom);
|
||||||
@@ -107,7 +117,9 @@ export const BrowserNotifyModal = () => {
|
|||||||
const [browserPushPermissionsPending, setBrowserPushPermissionsPending] =
|
const [browserPushPermissionsPending, setBrowserPushPermissionsPending] =
|
||||||
useState<boolean>(false);
|
useState<boolean>(false);
|
||||||
const notificationsPermitted =
|
const notificationsPermitted =
|
||||||
arePushNotificationSupported() && Notification.permission !== 'default';
|
arePushNotificationSupported() && Notification.permission === 'granted';
|
||||||
|
const notificationsDenied =
|
||||||
|
arePushNotificationSupported() && Notification.permission === 'denied';
|
||||||
|
|
||||||
const { notifications } = config;
|
const { notifications } = config;
|
||||||
const { browser } = notifications;
|
const { browser } = notifications;
|
||||||
@@ -121,6 +133,10 @@ export const BrowserNotifyModal = () => {
|
|||||||
return <NotificationsEnabled />;
|
return <NotificationsEnabled />;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (notificationsDenied) {
|
||||||
|
return <NotificationsDenied />;
|
||||||
|
}
|
||||||
|
|
||||||
if (isMobileSafariIos() && !isMobileSafariHomeScreenApp()) {
|
if (isMobileSafariIos() && !isMobileSafariHomeScreenApp()) {
|
||||||
return <MobileSafariInstructions />;
|
return <MobileSafariInstructions />;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user