// file: kb_demo_app/src/splash.rs

//! Shared splash-screen payload types.
//!
//! These types are serialized by the Rust backend and exported to the
//! TypeScript frontend through `ts-rs`.

/// Command payload sent from Rust to the splash frontend.
#[derive(serde::Serialize, serde::Deserialize, Clone, Debug, ts_rs::TS)]
#[ts(export, export_to = "../frontend/ts/bindings/SplashOrder.ts")]
pub struct SplashOrder {
    /// Splash command name such as `fadein`, `fadeout`, `add_msg`, or `add_log`.
    pub order: std::string::String,
    /// Optional message payload attached to the command.
    pub msg: std::option::Option<std::string::String>,
    /// Optional status payload attached to the command.
    pub status: std::option::Option<std::string::String>,
}
