// camera.js import { updateResizerVisibility } from './layout.js'; let rightPanel; let camImage; let camClose; let isOpen = false; export function initCamera() { rightPanel = document.getElementById("rightPanel"); camImage = document.getElementById("camImage"); camClose = document.getElementById("camClose"); const btn = document.getElementById("camToggle"); const streamUrl = "/api/cam"; function open() { if (isOpen) return; isOpen = true; rightPanel.classList.remove("hidden"); camImage.src = streamUrl; if (btn) { btn.querySelector('.cam-btn-text').textContent = 'Скрыть'; } console.log("[camera] opened"); updateResizerVisibility(); } function close() { if (!isOpen) return; isOpen = false; // остановка stream camImage.src = ""; rightPanel.classList.add("hidden"); if (btn) { btn.querySelector('.cam-btn-text').textContent = 'Камера'; } console.log("[camera] closed"); updateResizerVisibility(); } function toggle() { if (isOpen) { close(); } else { open(); } } camImage.onload = () => { console.log("[camera] stream started"); }; camImage.onerror = (e) => { console.error("[camera] stream error", e); }; btn?.addEventListener("click", toggle); // автозапуск open(); }