Mountain/Environment/StatusBarProvider/
message_management.rs

1//! # StatusBarProvider - Message Management
2//!
3//! Implementation of status bar temporary message handling for
4//! [`MountainEnvironment`]
5
6use CommonLibrary::Error::CommonError::CommonError;
7use log::info;
8use serde_json::{Value, json};
9use tauri::Emitter;
10
11use super::super::{MountainEnvironment::MountainEnvironment, Utility};
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	info!("[StatusBarProvider] Setting status message '{}': {}", message_identifier, text);
20
21	env.ApplicationHandle
22		.emit::<Value>("sky://statusbar/set-message", json!({ "id": message_identifier, "text": text }))
23		.map_err(|error| CommonError::UserInterfaceInteraction { Reason:error.to_string() })
24}
25
26/// Disposes of a temporary status bar message.
27pub(super) async fn dispose_status_bar_message_impl(
28	env:&MountainEnvironment,
29	message_identifier:String,
30) -> Result<(), CommonError> {
31	info!("[StatusBarProvider] Disposing status message '{}'", message_identifier);
32
33	env.ApplicationHandle
34		.emit::<Value>("sky://statusbar/dispose-message", json!({ "id": message_identifier }))
35		.map_err(|error| CommonError::UserInterfaceInteraction { Reason:error.to_string() })
36}