yozkut commited on
Commit
8b18b23
·
verified ·
1 Parent(s): c38d6b9

Sync from GitHub via hub-sync

Browse files
Files changed (3) hide show
  1. index.html +1 -0
  2. port_hf.js +18 -2
  3. style.css +9 -2
index.html CHANGED
@@ -477,6 +477,7 @@
477
  <p class="rv-picker-sub">Your online robots appear below</p>
478
  </div>
479
  <div id="rv-robot-list" class="rv-robot-list"></div>
 
480
  </div>
481
 
482
  <!-- State 3: Monitoring UI -->
 
477
  <p class="rv-picker-sub">Your online robots appear below</p>
478
  </div>
479
  <div id="rv-robot-list" class="rv-robot-list"></div>
480
+ <button id="rv-connect-btn" class="cta-button" style="margin-top:1.25rem;display:none">Connect →</button>
481
  </div>
482
 
483
  <!-- State 3: Monitoring UI -->
port_hf.js CHANGED
@@ -506,11 +506,27 @@ async function setupRobot() {
506
  list.innerHTML = '<p class="rv-no-robots">No robots online. Make sure your robot daemon is running and connected.</p>';
507
  return;
508
  }
 
 
 
 
 
509
  robots.forEach(r => {
 
 
 
 
 
510
  const btn = document.createElement('button');
511
  btn.className = 'rv-robot-btn';
512
- btn.innerHTML = `🤖 <strong>${r.name || r.id}</strong><span class="rv-robot-id">${r.id}</span>`;
513
- btn.addEventListener('click', () => startSession(r.id));
 
 
 
 
 
 
514
  list.appendChild(btn);
515
  });
516
  });
 
506
  list.innerHTML = '<p class="rv-no-robots">No robots online. Make sure your robot daemon is running and connected.</p>';
507
  return;
508
  }
509
+ let selectedRobotId = null;
510
+ const connectBtn = document.getElementById('rv-connect-btn');
511
+ connectBtn.style.display = 'none';
512
+ connectBtn.onclick = null;
513
+
514
  robots.forEach(r => {
515
+ const name = r.meta?.name || r.id;
516
+ const n = name.toLowerCase();
517
+ const mode = n.includes('sim') || n.includes('mockup') ? '🖥 Simulation'
518
+ : n.includes('wireless') || n.includes('wifi') ? '📡 Wireless'
519
+ : '🔌 Lite';
520
  const btn = document.createElement('button');
521
  btn.className = 'rv-robot-btn';
522
+ btn.innerHTML = `🤖 <strong>${name}</strong><span class="rv-robot-mode">${mode}</span>`;
523
+ btn.addEventListener('click', () => {
524
+ list.querySelectorAll('.rv-robot-btn').forEach(b => b.classList.remove('selected'));
525
+ btn.classList.add('selected');
526
+ selectedRobotId = r.id;
527
+ connectBtn.style.display = '';
528
+ connectBtn.onclick = () => startSession(selectedRobotId);
529
+ });
530
  list.appendChild(btn);
531
  });
532
  });
style.css CHANGED
@@ -1991,17 +1991,24 @@ h4, h5, h6, strong {
1991
  font-family: 'Inter', sans-serif;
1992
  }
1993
 
 
 
 
 
 
1994
  .rv-robot-btn:hover {
1995
  border-color: var(--coral);
1996
  box-shadow: 0 4px 16px rgba(255,107,74,0.15);
1997
  transform: translateY(-1px);
1998
  }
1999
 
2000
- .rv-robot-id {
2001
  margin-left: auto;
2002
  font-size: 0.75rem;
2003
  color: var(--text-muted);
2004
- font-family: monospace;
 
 
2005
  }
2006
 
2007
  .rv-no-robots {
 
1991
  font-family: 'Inter', sans-serif;
1992
  }
1993
 
1994
+ .rv-robot-btn.selected {
1995
+ border-color: var(--coral);
1996
+ background: rgba(255, 107, 74, 0.08);
1997
+ }
1998
+
1999
  .rv-robot-btn:hover {
2000
  border-color: var(--coral);
2001
  box-shadow: 0 4px 16px rgba(255,107,74,0.15);
2002
  transform: translateY(-1px);
2003
  }
2004
 
2005
+ .rv-robot-mode {
2006
  margin-left: auto;
2007
  font-size: 0.75rem;
2008
  color: var(--text-muted);
2009
+ background: rgba(255,255,255,0.06);
2010
+ padding: 0.2rem 0.5rem;
2011
+ border-radius: 100px;
2012
  }
2013
 
2014
  .rv-no-robots {