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:
@@ -1,11 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
# Lanza backend Go (puerto 8095) + frontend Vite dev (puerto 5180) en paralelo.
|
||||
# Vite hace proxy /api -> 8095, asi que abrir http://localhost:5180
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$SCRIPT_DIR"
|
||||
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
BACK_DIR="$ROOT/backend"
|
||||
FRONT_DIR="$ROOT/frontend"
|
||||
|
||||
PORT_BACK="${PORT_BACK:-8095}"
|
||||
PORT_FRONT="${PORT_FRONT:-5180}"
|
||||
@@ -22,25 +22,25 @@ cleanup() {
|
||||
trap cleanup INT TERM EXIT
|
||||
|
||||
# 1. Build backend si no existe o si los .go/.sql son mas nuevos que el binario
|
||||
if [[ ! -x ./kanban ]] || [[ -n "$(find . -maxdepth 3 \( -name '*.go' -o -name '*.sql' \) -newer ./kanban 2>/dev/null)" ]]; then
|
||||
if [[ ! -x "$BACK_DIR/kanban" ]] || [[ -n "$(find "$BACK_DIR" -maxdepth 3 \( -name '*.go' -o -name '*.sql' \) -newer "$BACK_DIR/kanban" 2>/dev/null)" ]]; then
|
||||
echo ">>> Building backend..."
|
||||
CGO_ENABLED=1 go build -tags fts5 -o kanban .
|
||||
(cd "$BACK_DIR" && CGO_ENABLED=1 go build -tags fts5 -o kanban .)
|
||||
fi
|
||||
|
||||
# 2. Asegurar deps frontend
|
||||
if [[ ! -d frontend/node_modules ]]; then
|
||||
if [[ ! -d "$FRONT_DIR/node_modules" ]]; then
|
||||
echo ">>> Installing frontend deps..."
|
||||
(cd frontend && pnpm install)
|
||||
(cd "$FRONT_DIR" && pnpm install)
|
||||
fi
|
||||
|
||||
# 3. Lanzar backend
|
||||
echo ">>> Backend http://localhost:$PORT_BACK (db=$DB_PATH)"
|
||||
./kanban --port "$PORT_BACK" --db "$DB_PATH" &
|
||||
(cd "$BACK_DIR" && ./kanban --port "$PORT_BACK" --db "$DB_PATH") &
|
||||
BACK_PID=$!
|
||||
|
||||
# 4. Lanzar frontend (Vite con HMR + proxy a backend)
|
||||
echo ">>> Frontend http://localhost:$PORT_FRONT (HMR)"
|
||||
(cd frontend && pnpm dev --port "$PORT_FRONT" --strictPort) &
|
||||
(cd "$FRONT_DIR" && pnpm dev --port "$PORT_FRONT" --strictPort) &
|
||||
FRONT_PID=$!
|
||||
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user