Commit Graph

19 Commits

Author SHA1 Message Date
27907a2e39 fix: reduce font size and compact all views to fit screen
Base font: clamp(10px, 0.75vw, 16px) — much smaller scaling.
At 1920px viewport = ~14px, at 3840px = 16px (capped).

All components heavily compacted:
- Header: minimal padding, smaller text
- Topology: tight InfraCards, small VmPills, 3-col VM grid
- Kanban: 3-col project grid, compact cards
- Calendar: tighter spacing
- Summary bars: single-line, text-xs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 02:00:35 +00:00
c4065f2cce fix: make layout fully responsive for any screen size
Root cause: viewport was hardcoded to width=3840 and body to
3840x2160px. If TV browser has different viewport, content
overflows and can't be zoomed to fit.

Changes:
- viewport meta: width=device-width instead of width=3840
- body: 100vw/100vh instead of fixed pixels
- App container: w-screen h-screen
- font-size: clamp(14px, 1.15vw, 24px) scales with viewport
- Topology: horizontal chain (Modem → FW → Switch) saves
  vertical space, VM pills in 3-col grid, all sizes relative
- Kanban: 3-col grid, compact project cards
- All padding/gaps use rem (scale with base font)
- Removed all hardcoded pixel max-widths

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 01:55:34 +00:00
e3e210a9dc feat: hierarchical tree topology diagram
Replace grid layout with tree diagram:
Modem → Firewall → Switch → 3 Proxmox servers → VMs/CTs

- Services.yaml restructured with parent/type fields
  from real Proxmox API data (TYAN CAS, Cisco1, DellT430-2)
- NetworkGraph renders vertical hierarchy with branch lines
- ProxmoxColumn shows server card + VM pills grid
- Compact VmPill for VMs/CTs (status dot + name + last octet)
- InfraCard for physical infrastructure nodes
- Other devices section at bottom (AP, printer, iDRACs, PCs)
- Added type/parent fields to NetworkNode TypeScript interface

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 01:44:50 +00:00
4363527c58 filter: exclude CAS 3D projects from dashboard
Add exclude_company_ids config in settings.yaml to filter out
projects by Odoo company_id. Currently excludes company_id=2
(CAS 3D), keeping only Consultoria AS and unassigned projects.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 11:18:19 +00:00
e9e6c871ab fix: enlarge cards and show full info for TV readability
NodeCard:
- Icon 4xl, name text-xl bold, IP text-lg mono
- Show credentials and URL always (no hidden sections)
- Password hidden with click-to-reveal (dots → text)
- Status dot 4x4, rounded-2xl cards, more padding
- Grid columns min 520px (was 320px)

KanbanBoard:
- Grid 2 columns (was 3) for bigger project cards
- Name text-2xl, progress bar h-5 (was h-3)
- Stage chips text-base with larger count (was text-xs)
- More padding and gaps throughout

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 11:08:34 +00:00
c7f2d650c4 redesign: complete UI overhaul for 54 nodes and 26 projects
- Replace D3 force graph with categorized grid layout for topology
  (54 nodes organized by type: infrastructure, servers, PCs, etc.)
- Replace individual task cards with project summary cards
  (progress bars and stage chips instead of 1700+ task cards)
- Compact node cards with status-colored backgrounds
- Better calendar empty state with centered icon
- Refined dark theme with more color depth
- Remove D3 dependency (no longer needed)
- Fix text sizes for 4K TV readability at distance

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 10:18:46 +00:00
5e3d8d45de fix: update Odoo client for v19 compatibility
- Use persistent httpx client to maintain session cookies
- Update endpoint path to /web/dataset/call_kw/{model}/{method}
- Handle auth response as dict (uid extraction)
- Remove kanban_state field (doesn't exist in Odoo 19)
- Add close() method for graceful shutdown

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 10:10:36 +00:00
9b5d9a7b3c config: add all 53 network devices from nmap scan
Add complete network topology with all discovered hosts organized
by category: infrastructure, services, multimedia, projects, PCs.
Also add firewall, printer, phone, camera icons to NodeCard.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 10:02:20 +00:00
db4ad36030 config: update YAMLs with real Odoo and network data
Configure Odoo connection to CAS database at 192.168.10.188:8069,
add Firewall OPNsense, Router Telmex, and Servidor Odoo to topology,
set network scan to 192.168.10.0/24 subnet.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 09:55:03 +00:00
a7967ecb4a feat: add complete frontend with React, Tailwind 4K, and Docker setup
- Vite + React 18 + TypeScript scaffolding
- Tailwind CSS configured for 4K dark theme (24px base)
- Three full-screen rotating views: Network Topology (D3.js),
  Kanban Board (Odoo tasks), Calendar (Odoo events)
- Hooks for data fetching, WebSocket, and view rotation
- Header with live clock and connection status
- Framer Motion fade transitions between views
- Docker Compose with backend (host network for nmap) and
  frontend (nginx proxy to backend API/WS)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 09:34:01 +00:00
e6f6dbbab6 feat: wire WebSocket router and add background refresh loop
Register ws router in main.py and add periodic ping/odoo refresh
that broadcasts updates to connected WebSocket clients.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 09:06:34 +00:00
0fbfe7e89d feat: add API routers for network, tasks, calendar, and services
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 09:05:38 +00:00
2bd7cd9102 feat: add WebSocket router for real-time broadcast updates
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 09:05:18 +00:00
1f13170ba1 feat: add network scanner module with nmap discovery, config merge, and ping
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 09:04:21 +00:00
2421da1d63 feat: add Odoo JSON-RPC client with projects, tasks, and calendar methods
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 09:04:21 +00:00
2158dddb09 feat: add config manager module with YAML loading for settings and services
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 08:57:32 +00:00
f1c20c0461 feat: scaffold backend with FastAPI, config files, and health endpoint
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 08:04:13 +00:00
c393f76563 Add implementation plan for TV dashboard
15 tasks covering backend modules, frontend components, Docker setup,
and end-to-end verification. TDD approach with tests first.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 01:53:42 +00:00
b9da8aadac Add TV dashboard design document
Define architecture, views, and stack for office TV dashboard
with network topology, Odoo tasks/calendar, and service credentials.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 01:49:48 +00:00