add SPA config UI, wire media/rss adapters, event-driven layout push
- React SPA: dashboard, data sources CRUD, widgets CRUD, layout builder, presets. TanStack Router + Query, shadcn/ui, Vite proxy to :3000 - wire media + rss adapters into polling loop, remove xtb source type - media adapter: read username/password from headers, proper subsonic auth - event handler: subscribe to LayoutChanged, push screen update to clients - fix clippy warnings across workspace (Default impls, collapsible ifs, redundant closures, is_none_or, unused imports)
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
use std::thread;
|
||||
use std::sync::mpsc;
|
||||
use std::time::Duration;
|
||||
use client_domain::{BoundingBox, DisplayPort, NetworkPort};
|
||||
use client_application::ClientApp;
|
||||
use tcp_client::StdTcpClient;
|
||||
use client_domain::{BoundingBox, DisplayPort, NetworkPort};
|
||||
use display_terminal::TerminalDisplay;
|
||||
use protocol::decode_server_message;
|
||||
use std::sync::mpsc;
|
||||
use std::thread;
|
||||
use std::time::Duration;
|
||||
use tcp_client::StdTcpClient;
|
||||
|
||||
fn main() {
|
||||
let screen = BoundingBox::screen(240, 320);
|
||||
@@ -35,12 +35,12 @@ fn main() {
|
||||
}
|
||||
|
||||
match net.receive() {
|
||||
Ok(Some(payload)) => {
|
||||
match decode_server_message(&payload) {
|
||||
Ok(msg) => { let _ = tx.send(msg); }
|
||||
Err(e) => println!("[NET] Decode error: {e}"),
|
||||
Ok(Some(payload)) => match decode_server_message(&payload) {
|
||||
Ok(msg) => {
|
||||
let _ = tx.send(msg);
|
||||
}
|
||||
}
|
||||
Err(e) => println!("[NET] Decode error: {e}"),
|
||||
},
|
||||
Ok(None) => {
|
||||
thread::sleep(Duration::from_millis(50));
|
||||
}
|
||||
@@ -67,11 +67,14 @@ fn main() {
|
||||
|
||||
for kv in &cmd.state.data {
|
||||
if let protocol::WireValue::String(s) = &kv.value {
|
||||
display.draw_text(
|
||||
&format!("{}: {s}", kv.key),
|
||||
cmd.bounds.x, cmd.bounds.y,
|
||||
cmd.bounds,
|
||||
).unwrap();
|
||||
display
|
||||
.draw_text(
|
||||
&format!("{}: {s}", kv.key),
|
||||
cmd.bounds.x,
|
||||
cmd.bounds.y,
|
||||
cmd.bounds,
|
||||
)
|
||||
.unwrap();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user