Commit Graph

6 Commits

Author SHA1 Message Date
egutierrez a466fff71a feat: Settings submenu (Settings.../About...), git column, projects tab
- main.cpp: registrar info About via fn_ui::about_window_set_info
- views.cpp: nueva columna "Git" en la tabla Apps (remote/local/-)
- data.h/cpp + data_http.cpp: AppRow gana repo_url + dir_path
- views.cpp: actions bar (Reindex / + Add / Reload / inbox) y modal Add
- views.cpp: tab Projects con tree + detalle anidado
- data_http.cpp: load_projects_http, load_project_detail_http, http_post_*
- http_client.cpp: SO_RCVTIMEO en Windows como DWORD ms (timeout 5 ms bug)
- CMakeLists: limpieza de srcs duplicados con fn_framework
- app.md: notas operativas y estado actual

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 22:06:31 +02:00
egutierrez d6bdab89e8 feat(views): chart panels con tamano fijo, altura de row constante, gitignore imgui.ini
- Nuevo chart_panel_begin/end local (reemplaza dashboard_panel con
  AutoResizeY): BeginChild con altura explicita pasada por parametro,
  NoScrollbar | NoScrollWithMouse. Rompe el feedback loop plot <-> panel
  que causaba deslizamiento lateral y scrollbar fugaz.
- Altura de charts fija 260px (antes GetContentRegionAvail().y * 0.35).
  Sin esto, redimensionar la ventana propaga cambios de altura a todos
  los plots y se ve vibracion.
- KPIs reorganizados en ImGui::BeginTable 4 cols x 2 rows. Las celdas
  de tabla propagan ancho constrained, necesario para que el BeginChild
  interno del kpi_card (card v1.2 compacta 78px) ocupe exactamente la
  celda.
- imgui.ini al .gitignore: estado local de la ventana, no versionable.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 21:31:26 +02:00
egutierrez 646b9463c0 feat(kpis): 4-col table + card container para cada KPI
Reemplaza dashboard_grid (BeginGroup) por ImGui::BeginTable de 4 columnas.
Las celdas de tabla si propagan ancho constrained al BeginChild interno de
kpi_card, cosa que BeginGroup no hace. Layout 2x4 en vez de 1x8 (mas legible
a anchos tipicos).

Reduce duplicacion iterando un array de {label,value,fmt}.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 20:52:24 +02:00
egutierrez 570103d83e feat(ui): migrar a tokens + primitivos del design system
Dashboard ahora usa:
- fn_tokens::apply_dark_theme() al primer frame (colors + spacing
  + radius + rounding consistentes con @fn_library / Mantine).
- page_header_begin/end para el header (en vez de Text + Separator
  + Button manual). Subtítulo con conteos de entidades.
- empty_state en las 4 tablas cuando están vacías — mensaje amable
  con acción sugerida en lugar de tabla vacía silenciosa.

Nuevas deps de compilación (.cpp fuentes añadidas al CMakeLists):
tokens.cpp, badge.cpp, empty_state.cpp, page_header.cpp.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 14:52:08 +02:00
egutierrez 80b0e827b6 feat: layout responsivo y KPIs adicionales en dashboard
Grid de charts pasa de 2 a 4 columnas con altura dinamica (35% del
espacio disponible). Se eliminan los paneles Activity y Extras,
moviendo Unit Tests y Proposals a la fila de KPIs (ahora 8 cards).
Se reduce spacing entre secciones para aprovechar mejor la pantalla.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 01:31:37 +02:00
Egutierrez 303b6d476d Initial commit: registry_dashboard — Dashboard ImGui para fn_registry 2026-04-08 00:42:29 +02:00