mobile: unpin permanent reminders

This commit is contained in:
ammarahm-ed
2023-01-09 13:19:04 +05:00
parent 3c38c61437
commit 2966962016
3 changed files with 40 additions and 3 deletions

View File

@@ -44,6 +44,7 @@ import { useSettingStore } from "../stores/use-setting-store";
import ReminderNotify from "../components/sheets/reminder-notify";
import { sleep } from "../utils/time";
import { useRelationStore } from "../stores/use-relation-store";
import { useReminderStore } from "../stores/use-reminder-store";
export type Reminder = {
id: string;
@@ -140,6 +141,7 @@ const onEvent = async ({ type, detail }: Event) => {
db.reminders?.reminder(reminder?.id)
);
useRelationStore.getState().update();
useReminderStore.getState().setReminders();
break;
}
case "REMINDER_DISABLE": {
@@ -154,11 +156,25 @@ const onEvent = async ({ type, detail }: Event) => {
db.reminders?.reminder(reminder?.id)
);
useRelationStore.getState().update();
useReminderStore.getState().setReminders();
break;
}
case "UNPIN":
case "UNPIN": {
remove(notification?.id as string);
const reminder = db.reminders?.reminder(
notification?.id?.split("_")[0]
);
if (reminder) {
await db.reminders?.add({
...reminder,
disabled: true
});
useRelationStore.getState().update();
useReminderStore.getState().setReminders();
}
break;
}
case "Hide":
unpinQuickNote();
break;
@@ -240,6 +256,7 @@ async function scheduleNotification(
const { title, description, priority } = reminder;
await clearAllPendingTriggersForId(reminder.id);
await remove(reminder.id);
if (reminder.disabled) return;
const triggers = await getTriggers(reminder);
if (!triggers && reminder.mode === "permanent") {
@@ -248,7 +265,8 @@ async function scheduleNotification(
title: title,
message: description || "",
ongoing: true,
subtitle: description || ""
subtitle: description || "",
actions: ["UNPIN"]
});
return;
}

View File

@@ -55,7 +55,8 @@
"@shopify/flash-list":"1.4.0",
"@notifee/react-native": "7.1.0",
"react-native-modal-datetime-picker":"14.0.0",
"@react-native-community/datetimepicker":"6.6.0"
"@react-native-community/datetimepicker":"6.6.0",
"react-native-date-picker": "4.2.6"
},
"devDependencies": {

View File

@@ -82,6 +82,7 @@
"react-native-begin-background-task": "https://github.com/blockfirm/react-native-begin-background-task.git",
"react-native-bootsplash": "^4.1.4",
"react-native-config": "^1.4.6",
"react-native-date-picker": "4.2.6",
"react-native-device-info": "^8.4.1",
"react-native-document-picker": "^7.1.1",
"react-native-eventsource": "github:ammarahm-ed/react-native-eventsource",
@@ -18229,6 +18230,14 @@
}
}
},
"node_modules/react-native-date-picker": {
"version": "4.2.6",
"resolved": "https://registry.npmjs.org/react-native-date-picker/-/react-native-date-picker-4.2.6.tgz",
"integrity": "sha512-qnSLefvCInFp1etQ27AsDzpCJgvi0Q0eIYRtIzjBp5WC5hzINIY7WWeQESAA/QUPbwFJU7Vk06ouQc51dC1Qaw==",
"dependencies": {
"prop-types": "^15.8.1"
}
},
"node_modules/react-native-device-info": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-8.7.1.tgz",
@@ -24362,6 +24371,7 @@
"react-native-bundle-visualizer": "^3.1.1",
"react-native-cli-bump-version": "^1.3.0",
"react-native-config": "^1.4.6",
"react-native-date-picker": "4.2.6",
"react-native-device-info": "^8.4.1",
"react-native-document-picker": "^7.1.1",
"react-native-eventsource": "github:ammarahm-ed/react-native-eventsource",
@@ -35039,6 +35049,14 @@
"resolved": "https://registry.npmjs.org/react-native-config/-/react-native-config-1.4.11.tgz",
"integrity": "sha512-PdBFnfR3pljUNrJu4B2wiJ9TbAiz1J1WcG5KP8AFBqZi8ve5MV/CTCDnANaGrqhOxkBDJV73D/SrMENHe7TKBg=="
},
"react-native-date-picker": {
"version": "4.2.6",
"resolved": "https://registry.npmjs.org/react-native-date-picker/-/react-native-date-picker-4.2.6.tgz",
"integrity": "sha512-qnSLefvCInFp1etQ27AsDzpCJgvi0Q0eIYRtIzjBp5WC5hzINIY7WWeQESAA/QUPbwFJU7Vk06ouQc51dC1Qaw==",
"requires": {
"prop-types": "^15.8.1"
}
},
"react-native-device-info": {
"version": "8.7.1",
"resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-8.7.1.tgz",