//! Contracts view implementation. use uuid::Uuid; use crate::daemon::api::ApiClient; use crate::daemon::tui::app::ListItem; /// Load contracts from API pub async fn load_contracts( client: &ApiClient, ) -> Result, Box> { let result = client.list_contracts().await?; // Response is { "contracts": [...], "total": N } let contracts = result .0 .get("contracts") .and_then(|v| v.as_array()) .map(|arr| arr.iter().filter_map(ListItem::from_contract).collect()) .unwrap_or_default(); Ok(contracts) } /// Get full contract details for preview pub async fn get_contract_preview( _client: &ApiClient, _contract_id: Uuid, ) -> Result> { // TODO: Implement contract preview Ok("Contract preview not yet implemented".to_string()) }