update UI

This commit is contained in:
2026-08-11 09:19:13 -07:00
parent 97a3f1be48
commit 4eda93cf24
31 changed files with 952 additions and 95 deletions
+10
View File
@@ -46,6 +46,8 @@ pub struct SongRequestSettings {
pub song_title_color: Option<String>,
#[serde(default = "default_font_scale")]
pub font_scale: u16,
#[serde(default = "default_decoration_line_weight")]
pub decoration_line_weight: u16,
#[serde(default = "default_scroll_speed")]
pub scroll_speed_pixels_per_second: u16,
#[serde(default = "default_edge_pause")]
@@ -70,6 +72,7 @@ impl Default for SongRequestSettings {
requester_color: None,
song_title_color: None,
font_scale: default_font_scale(),
decoration_line_weight: default_decoration_line_weight(),
scroll_speed_pixels_per_second: default_scroll_speed(),
edge_pause_seconds: default_edge_pause(),
max_queue_size: 0,
@@ -82,6 +85,7 @@ impl Default for SongRequestSettings {
impl SongRequestSettings {
pub fn sanitize(mut self) -> Self {
self.font_scale = self.font_scale.clamp(50, 250);
self.decoration_line_weight = self.decoration_line_weight.clamp(50, 300);
self.font_brightness = sanitize_font_brightness(self.font_brightness);
self.requester_color = sanitize_optional_hex_color(self.requester_color);
self.song_title_color = sanitize_optional_hex_color(self.song_title_color);
@@ -106,6 +110,10 @@ const fn default_font_scale() -> u16 {
100
}
const fn default_decoration_line_weight() -> u16 {
160
}
const fn default_scroll_speed() -> u16 {
28
}
@@ -1098,6 +1106,7 @@ mod tests {
font_brightness: u16::MAX,
requester_color: Some(" #a1b2c3 ".into()),
song_title_color: Some("transparent".into()),
decoration_line_weight: 999,
scroll_speed_pixels_per_second: 0,
edge_pause_seconds: 200,
max_queue_size: u32::MAX,
@@ -1110,6 +1119,7 @@ mod tests {
assert_eq!(bounded.font_brightness, 180);
assert_eq!(bounded.requester_color.as_deref(), Some("#A1B2C3"));
assert_eq!(bounded.song_title_color, None);
assert_eq!(bounded.decoration_line_weight, 300);
assert_eq!(bounded.scroll_speed_pixels_per_second, 5);
assert_eq!(bounded.edge_pause_seconds, 15);
assert_eq!(bounded.max_queue_size, 10_000);