#[cfg(target_arch = "wasm32")]
use wasm_bindgen::prelude::*;
#[cfg(target_arch = "wasm32")]
use web_sys::window;
pub type DialogResult<T> = Result<T, String>;
pub fn alert(message: String) -> DialogResult<()> {
window()
.ok_or("No window available")?
.alert_with_message(&message)
.map_err(|e| format!("Failed to show alert: {:?}", e))
}
pub fn confirm(message: String) -> DialogResult<bool> {
window()
.ok_or("No window available")?
.confirm_with_message(&message)
.map_err(|e| format!("Failed to show confirm: {:?}", e))
}
pub fn prompt(message: String, default: String) -> DialogResult<Option<String>> {
let result = window()
.ok_or("No window available")?
.prompt_with_message_and_default(&message, &default)
.map_err(|e| format!("Failed to show prompt: {:?}", e))?;
Ok(result)
}
pub fn error(message: String) -> DialogResult<()> {
alert(format!("Error: {}", message))
}
pub fn info(message: String) -> DialogResult<()> {
alert(format!("Info: {}", message))
}
pub fn warning(message: String) -> DialogResult<()> {
alert(format!("Warning: {}", message))
}