feat(kanban): deadlines en cards (context menu, badges, calendario, history)

- migration 009 + columna deadline TEXT en cards
- backend: CardPatch.HasDeadline, eventos deadline_set/deadline_cleared
- KanbanCard: menu derecho con DatePicker, badge countdown con colores por ratio (azul>=50%, amarillo<50%, rojo<10%, red.9 overdue)
- App.tsx: filtro "Con deadline", handleSetCardDeadline optimista, jump-to-card + highlight
- CalendarView: popover por dia con seq_num + titulo, click navega a card en tablero
- HistoryModal: render eventos deadline_set/deadline_cleared
- .gitignore: *.log

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-09 03:45:36 +02:00
parent 5ba0254e57
commit 7ce227ddea
54 changed files with 3066 additions and 496 deletions
+18 -2
View File
@@ -6,7 +6,10 @@ description: "Kanban board con persistencia SQLite, drag-and-drop entre columnas
tags: [service, kanban, web, dnd-kit, mantine, sqlite, time-tracking]
uses_functions:
- random_hex_id_go_core
- parse_date_or_default_go_core
- sqlite_open_go_infra
- sqlite_apply_migrations_go_infra
- sqlite_column_exists_go_infra
- spa_handler_go_infra
- http_router_go_infra
- http_serve_go_infra
@@ -17,13 +20,26 @@ uses_functions:
- http_error_response_go_infra
- http_parse_body_go_infra
- http_session_cookie_middleware_go_infra
- http_session_token_extract_go_infra
- http_session_cookie_set_go_infra
- http_session_cookie_clear_go_infra
- password_hash_go_infra
- password_verify_go_infra
- session_create_go_infra
- session_cleanup_go_infra
uses_types: []
- percentile_int64_go_datascience
- duration_stats_go_datascience
- format_duration_ts_core
- format_datetime_short_ts_core
- string_hash_palette_ts_core
- color_bg_ts_ui
- color_border_ts_ui
- color_swatch_ts_ui
- fetch_json_ts_infra
uses_types:
- DurationStats_go_datascience
framework: "net/http + vite + react + mantine + dnd-kit"
entry_point: "main.go"
entry_point: "backend/main.go"
dir_path: "apps/kanban"
---