Skip to main content

Mountain/Environment/StatusBarProvider/
MessageManagement.rs

1//! # StatusBarProvider - Message Management
2//!
3//! Implementation of status bar temporary message handling for
4//! [`MountainEnvironment`]
5
6use CommonLibrary::Error::CommonError::CommonError;
7use serde_json::{Value, json};
8use tauri::Emitter;
9
10use super::super::MountainEnvironment::MountainEnvironment;
11use crate::dev_log;
12
13/// Message management operations implementation for MountainEnvironment
14pub(super) async fn set_status_bar_message_impl(
15	env:&MountainEnvironment,
16	message_identifier:String,
17	text:String,
18) -> Result<(), CommonError> {
19	dev_log!(
20		"lifecycle",
21		"[StatusBarProvider] Setting status message '{}': {}",
22		message_identifier,
23		text
24	);
25
26	env.ApplicationHandle
27		.emit::<Value>("sky://statusbar/set-message", json!({ "id": message_identifier, "text": text }))
28		.map_err(|error| CommonError::UserInterfaceInteraction { Reason:error.to_string() })
29}
30
31/// Disposes of a temporary status bar message.
32pub(super) async fn dispose_status_bar_message_impl(
33	env:&MountainEnvironment,
34	message_identifier:String,
35) -> Result<(), CommonError> {
36	dev_log!(
37		"lifecycle",
38		"[StatusBarProvider] Disposing status message '{}'",
39		message_identifier
40	);
41
42	env.ApplicationHandle
43		.emit::<Value>("sky://statusbar/dispose-message", json!({ "id": message_identifier }))
44		.map_err(|error| CommonError::UserInterfaceInteraction { Reason:error.to_string() })
45}