Skip to content

Commit

Permalink
Push Notification bugfix
Browse files Browse the repository at this point in the history
  • Loading branch information
hppanpaliya committed Apr 30, 2023
1 parent 4f03d59 commit a4e42bf
Showing 1 changed file with 25 additions and 16 deletions.
41 changes: 25 additions & 16 deletions src/utils/NotificationPermissionModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,26 +63,34 @@ const NotificationPermissionModal = () => {
return doc.exists && doc.data().hasOwnProperty("remindNotification") ? doc.data().remindNotification.toDate() : null;
}

function savePermissionStatus(status) {
sessionStorage.setItem("notificationPermission", status);
}

// Check notification permissions and reminder timestamp
useEffect(() => {
const checkPermissionAndTimestamp = async () => {
if (user) {
const remindTimestamp = await getReminderTimestamp();

if (!remindTimestamp || new Date() > remindTimestamp) {
setOpen(true);
const timer = setTimeout(() => {
setOpen(false);
console.warn("Notification permission not granted.");
}, 15000);
return () => clearTimeout(timer);
// Check if the user has granted notification permissions
const permission = sessionStorage.getItem("notificationPermission");
if (permission !== "denied") {
const checkPermissionAndTimestamp = async () => {
if (user) {
const remindTimestamp = await getReminderTimestamp();

if (!remindTimestamp || new Date() > remindTimestamp) {
setOpen(true);
const timer = setTimeout(() => {
setOpen(false);
console.warn("Notification permission not granted.");
}, 15000);
return () => clearTimeout(timer);
}
} else {
setOpen(false);
}
} else {
setOpen(false);
}
};
};

checkPermissionAndTimestamp();
checkPermissionAndTimestamp();
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [user]);

Expand All @@ -106,6 +114,7 @@ const NotificationPermissionModal = () => {
const handleDeclineClick = () => {
setOpen(false);
console.warn("Notification permission not granted.");
savePermissionStatus("denied");

if (remindLater) {
const remindTimestamp = new Date();
Expand Down

0 comments on commit a4e42bf

Please sign in to comment.