Skip to content

Commit db0c851

Browse files
committed
Refact calling refreshing jobs after saving notification time
- added interaction through chrome.runtime.sendMessage
1 parent 0e31528 commit db0c851

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

src/components/Notifications.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,10 @@ import {
7070
} from '../storage/storage-params';
7171
import { convertHHMMToSeconds, convertSecondsToHHMM } from '../utils/converter';
7272
import { Time } from '../utils/time';
73-
import { rescheduleJobs } from '../jobs/sheduler';
7473
import ListWithTimeComponent from '../components/ListWithTime.vue';
7574
import { ListWithTime } from '../utils/enums';
75+
import Browser from 'webextension-polyfill';
76+
import { Messages } from '../utils/messages';
7677
7778
const settingsStorage = injecStorage();
7879
@@ -112,7 +113,7 @@ async function handleDate(modelData: Time) {
112113
StorageParams.DAILY_SUMMARY_NOTIFICATION_TIME,
113114
convertHHMMToSeconds(notificationTime.value.hours, notificationTime.value.minutes),
114115
);
115-
await rescheduleJobs();
116+
Browser.runtime.sendMessage(Messages.RescheduleJobs);
116117
}
117118
}
118119

src/jobs/sheduler.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { Settings } from '../compositions/settings';
66
import { dailySummaryNotification } from './daily-summary-notification';
77
import { removeOldTimeIntervals } from './remove-time-intervals';
88
import { startOfTomorrow } from 'date-fns';
9+
import { Messages } from '../utils/messages';
910

1011
export enum JobId {
1112
DailySummaryNotification = '@alarm/daily-summary-notification',
@@ -28,10 +29,14 @@ export function scheduleJobs(): void {
2829
log(`[schedule-jobs] ${alarm.name} finished`);
2930
});
3031

32+
Browser.runtime.onMessage.addListener(message => {
33+
if (message == Messages.RescheduleJobs) rescheduleJobs();
34+
});
35+
3136
rescheduleJobs();
3237
}
3338

34-
export async function rescheduleJobs(): Promise<void> {
39+
async function rescheduleJobs(): Promise<void> {
3540
log('Reschedule jobs');
3641
const dailySummaryNotificationTime = (await Settings.getInstance().getSetting(
3742
StorageParams.DAILY_SUMMARY_NOTIFICATION_TIME,

src/utils/messages.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export enum Messages {
2+
RescheduleJobs = 'reschedule-jobs',
3+
}

0 commit comments

Comments
 (0)