feat: Add OS native notifications and placeholder for sound
This commit is contained in:
parent
ccb2ec8439
commit
3eaf807100
19
src/main.ts
19
src/main.ts
|
@ -123,7 +123,9 @@ export default class PomodoroPlugin extends Plugin {
|
||||||
// The PomodoroView will update itself via its registered interval
|
// The PomodoroView will update itself via its registered interval
|
||||||
},
|
},
|
||||||
() => {
|
() => {
|
||||||
new Notice(this.timer.getIsPomodoro() ? 'Pomodoro Complete!' : 'Break Complete!');
|
const sessionType = this.timer.getIsPomodoro() ? 'Pomodoro' : 'Break';
|
||||||
|
new Notice(`${sessionType} Complete!`);
|
||||||
|
this.handleSessionEnd(sessionType);
|
||||||
this.logSession();
|
this.logSession();
|
||||||
if (this.settings.autoStartNextSession) {
|
if (this.settings.autoStartNextSession) {
|
||||||
this.startTimer();
|
this.startTimer();
|
||||||
|
@ -175,6 +177,21 @@ export default class PomodoroPlugin extends Plugin {
|
||||||
await this.app.vault.append(newDailyNote, `\n${logEntry}`);
|
await this.app.vault.append(newDailyNote, `\n${logEntry}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
handleSessionEnd(sessionType: string) {
|
||||||
|
if (this.settings.enableNotifications) {
|
||||||
|
new Notification('Obsidian Pomodoro', {
|
||||||
|
body: `${sessionType} session complete!`,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (this.settings.enableSound) {
|
||||||
|
// You would typically play a sound here.
|
||||||
|
// In a browser environment, this would be an Audio object.
|
||||||
|
// For Obsidian, you might need to use a different approach or rely on OS notification sounds.
|
||||||
|
// For simplicity, we'll just log for now.
|
||||||
|
console.log('Playing session end sound.');
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class PomodoroSettingTab extends PluginSettingTab {
|
class PomodoroSettingTab extends PluginSettingTab {
|
||||||
|
|
Loading…
Reference in New Issue