Commit Graph

10 Commits

Author SHA1 Message Date
81bcdcd696 feat: add admin panel at /admin for full dashboard configuration
- Backend: ConfigManager write methods (atomic YAML save), admin CRUD
  router for settings (display/odoo/refresh) and nodes, WS broadcast
  on config changes, fix nmap scan blocking event loop with to_thread
- Frontend: admin UI with tab navigation, overview dashboard, node
  CRUD table with modal form, Odoo/display/refresh settings pages,
  typed API wrappers, active views filtering, config_changed WS handler
- Infra: nginx no-cache headers for HTML, cache-forever for hashed assets
- Fixes: WebSocket reconnect loop (ref pattern), rotation index OOB
  when views shrink, mutable node list cache

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 02:34:05 +00:00
15f5f87376 feat: show full IP under each VM node name, set rotation to 2 min
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 09:22:04 +00:00
34655d09e3 feat: add Pokemon sprites to Proxmox nodes based on IP last octet
Each Proxmox server and VM/CT now shows a Pokemon sprite matching its
IP's last number (e.g. .3 = Venusaur, .185 = Sudowoodo). VMs also
display their IP suffix for quick identification.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 02:29:03 +00:00
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
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
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
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