Spaces:
Running
Running
| // scripts/video.js | |
| async function startRecording() { | |
| if (navigator.mediaDevices && navigator.mediaDevices.getDisplayMedia) { | |
| try { | |
| const stream = await navigator.mediaDevices.getDisplayMedia({ video: true }); | |
| alert("Screen access granted! Recording can now begin."); | |
| } catch (error) { | |
| alert(`Could not start recording. Error: ${error.message}`); | |
| } | |
| } else { | |
| alert("Sorry, your browser or current viewing environment does not support screen recording."); | |
| } | |
| } | |
| export function initVideo() { | |
| const productionButton = document.getElementById('production-button'); | |
| const productionPanel = document.getElementById('production-panel'); | |
| const startBtn = document.getElementById('start-recording'); | |
| const tabs = document.querySelectorAll('.tab'); | |
| const sections = document.querySelectorAll('.production-panel > div[id$="-section"]'); | |
| if (productionButton) { | |
| productionButton.addEventListener('click', () => { | |
| productionPanel.classList.toggle('open'); | |
| }); | |
| } | |
| if (startBtn) { | |
| startBtn.addEventListener('click', startRecording); | |
| } | |
| tabs.forEach(tab => { | |
| tab.addEventListener('click', () => { | |
| tabs.forEach(t => t.classList.replace('active', 'inactive')); | |
| tab.classList.replace('inactive', 'active'); | |
| const targetSectionId = tab.dataset.tab; | |
| sections.forEach(section => { | |
| if (section.id === targetSectionId) { | |
| section.classList.remove('hidden'); | |
| } else { | |
| section.classList.add('hidden'); | |
| } | |
| }); | |
| }); | |
| }); | |
| } |