#ifndef TUI_H #define TUI_H #include "make_ops.h" #include /* Arrow-key driven target picker. * Fills `selected` with the chosen target name. * Returns 0 on selection, -1 if the user cancelled (q / ESC). */ int tui_pick_target(const MakeTargets *targets, char *selected, size_t sel_size); /* Two-pane log browser: list on left, preview on right. * Keys: ↑↓ navigate Enter open in less d delete q quit */ void tui_log_browser(const char *log_dir); #include "index.h" /* Full-screen project overview. * Lists all projects in idx with last-build status, timestamp and HEAD hash. * On Enter, fills selected_project and returns the row index. * Returns -1 if the user quit without selecting. * Keys: ↑↓ navigate Enter build l log-browser q/ESC quit */ int tui_project_overview(ProjectIndex *idx, const char *clone_dir, const char *log_dir, char *selected_project, size_t sel_size); #endif /* TUI_H */