diff options
| author | soryu <soryu@soryu.co> | 2026-01-20 16:45:34 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-01-20 16:45:34 +0000 |
| commit | c6c69af39b29276920b07e0d220f7016335f1019 (patch) | |
| tree | 13a4b58b00f67076b532933b9f8f208122d54bf9 /makima/src/daemon/tui/views/contracts.rs | |
| parent | 36233b7cb834223878aa075bb379846eb6d7bb05 (diff) | |
| parent | a3ecb076a4f83f9c33fc3e4ad64af72c81b3ffd0 (diff) | |
| download | soryu-makima/contract-lifecycle-cleanup.tar.gz soryu-makima/contract-lifecycle-cleanup.zip | |
Merge lifecycle improvementsmakima/contract-lifecycle-cleanup
Resolved conflict in supervisor.rs by keeping both:
- supervisor_complete and supervisor_resume_contract methods (lifecycle management)
- delete_task and update_task methods (task management)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'makima/src/daemon/tui/views/contracts.rs')
| -rw-r--r-- | makima/src/daemon/tui/views/contracts.rs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/makima/src/daemon/tui/views/contracts.rs b/makima/src/daemon/tui/views/contracts.rs index e2219b7..73b7c33 100644 --- a/makima/src/daemon/tui/views/contracts.rs +++ b/makima/src/daemon/tui/views/contracts.rs @@ -7,11 +7,19 @@ use crate::daemon::tui::app::ListItem; /// Load contracts from API pub async fn load_contracts( - _client: &ApiClient, + client: &ApiClient, ) -> Result<Vec<ListItem>, Box<dyn std::error::Error>> { - // TODO: Implement listing all contracts - // This would require a new API endpoint - Ok(Vec::new()) + 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 |
