@@ -615,35 +615,35 @@ export class DevicePanel {
615615 <div class="hitl-prompt" id="hitlPrompt"></div>
616616 <div class="hitl-input-row">
617617 <input type="text" id="hitlInput" placeholder="Enter response...">
618- <button class="btn-run" onclick="submitHitl() ">Send</button>
618+ <button class="btn-run" id="hitlSendBtn ">Send</button>
619619 </div>
620620 </div>
621621
622- <div id="rawLogToggle" onclick="toggleRawLog()" style="cursor:pointer;font-size:10px;color:var(--vscode-descriptionForeground);padding:2px 10px;border-top:1px solid var(--vscode-panel-border);user-select:none;">▸ Logs</div>
622+ <div id="rawLogToggle" style="cursor:pointer;font-size:10px;color:var(--vscode-descriptionForeground);padding:2px 10px;border-top:1px solid var(--vscode-panel-border);user-select:none;">▸ Logs</div>
623623 <div id="debugLog" style="display:none;font-size:10px;color:var(--vscode-descriptionForeground);padding:3px 10px;max-height:120px;overflow-y:auto;font-family:monospace;"></div>
624624
625625 <div class="input-area">
626626 <div style="display:flex;gap:6px;align-items:center;">
627627 <div id="modeToggle" style="display:flex;border-radius:4px;overflow:hidden;border:1px solid var(--vscode-input-border);font-size:11px;cursor:pointer;">
628- <span id="modeGoal" onclick="setMode('goal')" style="padding:2px 8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);">Goal</span>
629- <span id="modePlayground" onclick="setMode('playground')" style="padding:2px 8px;background:var(--vscode-input-background);color:var(--vscode-input-foreground);">Playground</span>
628+ <span id="modeGoal" style="padding:2px 8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);cursor:pointer ;">Goal</span>
629+ <span id="modePlayground" style="padding:2px 8px;background:var(--vscode-input-background);color:var(--vscode-input-foreground);cursor:pointer ;">Playground</span>
630630 </div>
631631 <div id="platformToggle" style="display:flex;border-radius:4px;overflow:hidden;border:1px solid var(--vscode-input-border);font-size:11px;cursor:pointer;">
632- <span id="platAndroid" onclick="setPlatform('android')" style="padding:2px 8px;background:var(--vscode-input-background);color:var(--vscode-input-foreground);">Android</span>
633- <span id="platIos" onclick="setPlatform('ios')" style="padding:2px 8px;background:var(--vscode-input-background);color:var(--vscode-input-foreground);">iOS</span>
632+ <span id="platAndroid" style="padding:2px 8px;background:var(--vscode-input-background);color:var(--vscode-input-foreground);cursor:pointer ;">Android</span>
633+ <span id="platIos" style="padding:2px 8px;background:var(--vscode-input-background);color:var(--vscode-input-foreground);cursor:pointer ;">iOS</span>
634634 </div>
635635 <span id="modeHint" style="font-size:10px;color:var(--vscode-descriptionForeground);flex:1;">AI agent executes your goal</span>
636636 <span id="playgroundActions" style="display:none;">
637- <button class="action-btn" onclick="sendSlash('/yaml') ">YAML</button>
638- <button class="action-btn" onclick="exportFlow() ">Export</button>
639- <button class="action-btn" onclick="sendSlash('/undo') ">Undo</button>
640- <button class="action-btn" onclick="sendSlash('/clear') ">Clear</button>
637+ <button class="action-btn" id="actionYaml ">YAML</button>
638+ <button class="action-btn" id="actionExport ">Export</button>
639+ <button class="action-btn" id="actionUndo ">Undo</button>
640+ <button class="action-btn" id="actionClear ">Clear</button>
641641 </span>
642642 </div>
643643 <div style="display:flex;gap:6px;">
644644 <input type="text" id="goalInput" placeholder="Enter a goal... e.g. "Open Settings and enable Wi-Fi"" />
645- <button class="btn-run" id="runBtn" onclick="handleRun()" >Run</button>
646- <button class="btn-stop" id="stopBtn" onclick="stopExecution()" style="display:none">Stop</button>
645+ <button class="btn-run" id="runBtn">Run</button>
646+ <button class="btn-stop" id="stopBtn" style="display:none">Stop</button>
647647 </div>
648648 </div>
649649 </div>
@@ -677,8 +677,25 @@ export class DevicePanel {
677677 const platIos = document.getElementById("platIos");
678678 const platformToggle = document.getElementById("platformToggle");
679679 const multiLiveGrid = document.getElementById("multiLiveGrid");
680+ const rawLogToggle = document.getElementById("rawLogToggle");
681+ const debugLog = document.getElementById("debugLog");
682+ const hitlSendBtn = document.getElementById("hitlSendBtn");
680683 let selectedPlatform = ""; // "" = use settings default
681684
685+ // ── Click event listeners (CSP blocks inline onclick handlers) ──
686+ document.getElementById("modeGoal").addEventListener("click", function() { setMode("goal"); });
687+ document.getElementById("modePlayground").addEventListener("click", function() { setMode("playground"); });
688+ platAndroid.addEventListener("click", function() { setPlatform("android"); });
689+ platIos.addEventListener("click", function() { setPlatform("ios"); });
690+ runBtn.addEventListener("click", function() { handleRun(); });
691+ stopBtn.addEventListener("click", function() { stopExecution(); });
692+ hitlSendBtn.addEventListener("click", function() { submitHitl(); });
693+ rawLogToggle.addEventListener("click", function() { toggleRawLog(); });
694+ document.getElementById("actionYaml").addEventListener("click", function() { sendSlash("/yaml"); });
695+ document.getElementById("actionExport").addEventListener("click", function() { exportFlow(); });
696+ document.getElementById("actionUndo").addEventListener("click", function() { sendSlash("/undo"); });
697+ document.getElementById("actionClear").addEventListener("click", function() { sendSlash("/clear"); });
698+
682699 // ── Multi-device state ──────────────────────────────────
683700 let panelMode = "single"; // "single" | "multi"
684701 let liveFrames = {}; // deviceName → { element, imgEl, state }
@@ -1123,8 +1140,6 @@ export class DevicePanel {
11231140 }
11241141 }
11251142
1126- const debugLog = document.getElementById("debugLog");
1127- const rawLogToggle = document.getElementById("rawLogToggle");
11281143 var rawLogOpen = false;
11291144 function toggleRawLog() {
11301145 rawLogOpen = !rawLogOpen;
0 commit comments