// panels.h — Panel draw functions for kanban_cpp. // // Each draw_* expects to be called inside an active ImGui frame; it issues // its own ImGui::Begin/End block guarded by the supplied bool*. #pragma once #include "data.h" namespace kanban_cpp { // Shared app state passed to every panel. Owned by main.cpp. struct AppState { ClientConfig cfg; std::vector cards; std::vector columns; std::string last_refresh_error; int64_t last_refresh_ts = 0; bool backend_ok = false; }; void draw_board (AppState& s, bool* p_open); void draw_calendar (AppState& s, bool* p_open); void draw_dashboard (AppState& s, bool* p_open); void draw_agent_runs(AppState& s, bool* p_open); void draw_worktrees (AppState& s, bool* p_open); void draw_dod (AppState& s, bool* p_open); // Polls the backend for cards/columns; updates s.last_refresh_*. void refresh_data(AppState& s); } // namespace kanban_cpp