feat: add notification module

This commit is contained in:
Jonas Kruckenberg 2022-11-15 15:57:02 +01:00
parent 45bd3650ea
commit aec31b7e88
8 changed files with 125 additions and 4 deletions

View file

@ -3,6 +3,7 @@ mod clipboard;
mod event;
mod window;
mod dialog;
mod notification;
extern crate console_error_panic_hook;
use std::future::Future;
@ -153,7 +154,10 @@ fn main() {
InteractiveTest(name="dialog::pick_folder",test=dialog::pick_folder())
InteractiveTest(name="dialog::pick_folders",test=dialog::pick_folders())
InteractiveTest(name="dialog::save",test=dialog::save())
Test(name="notification::is_permission_granted",test=notification::is_permission_granted())
Test(name="notification::request_permission",test=notification::request_permission())
InteractiveTest(name="notification::show_notification",test=notification::show_notification())
// Test(name="window::WebviewWindow::new",test=window::create_window())
Terminate

View file

@ -0,0 +1,28 @@
use anyhow::ensure;
use tauri_sys::notification::{self, Permission};
pub async fn is_permission_granted() -> anyhow::Result<()> {
let granted = notification::is_permission_granted().await?;
ensure!(granted);
Ok(())
}
pub async fn request_permission() -> anyhow::Result<()> {
let permission = notification::request_permission().await?;
ensure!(permission == Permission::Granted);
Ok(())
}
pub async fn show_notification() -> anyhow::Result<()> {
let mut n = notification::Notification::default();
n.set_title("TAURI");
n.set_body("Tauri is awesome!");
n.show()?;
Ok(())
}