1use serde::{Deserialize, Serialize};
4
5pub type MessagePages = Vec<MessagePage>;
6pub type Lines = Vec<String>;
7
8#[derive(Default, Debug, Clone, Deserialize, Serialize)]
9pub struct Message {
10 pub pages: MessagePages,
11
12 #[serde(default)]
13 pub color: TextColor,
14}
15
16#[derive(Debug, Clone, Deserialize, Serialize)]
18pub struct MessagePage {
19 pub lines: Lines,
20 pub wait: Option<f32>,
21}
22
23#[derive(Debug, Copy, Clone, Hash, Deserialize, Serialize)]
24pub enum TextColor {
25 Black,
26 White,
27 Gray,
28 Red,
29 Blue,
30}
31
32impl Default for TextColor {
33 fn default() -> Self {
34 Self::Black
35 }
36}