1
0
Fork 0
forked from Simnation/Main
This commit is contained in:
Nordi98 2025-08-03 19:23:41 +02:00
parent 0796557bb6
commit 585ee069c2
2 changed files with 64 additions and 9 deletions

View file

@ -1112,6 +1112,18 @@ function setupInterfaceControls() {
const header = document.querySelector('.dj-header');
const resizeHandle = document.createElement('div');
// Verbesserte Schließen-Funktion
const closeBtn = document.querySelector('.close-btn');
if (closeBtn) {
closeBtn.addEventListener('click', function(e) {
// Nur Interface schließen, Musik weiterlaufen lassen
closeDJInterface();
e.preventDefault();
e.stopPropagation();
});
}
// Erstelle Resize-Handle
resizeHandle.className = 'resize-handle';
resizeHandle.innerHTML = '<i class="fas fa-grip-lines-diagonal"></i>';
@ -1163,16 +1175,16 @@ function setupInterfaceControls() {
});
// Verbesserte Schließen-Funktion
const closeBtn = document.querySelector('.close-btn');
if (closeBtn) {
closeBtn.addEventListener('click', function(e) {
// Korrigierte Schreibweise: close-btn ist die CSS-Klasse
const closeButton = document.querySelector('.close-btn');
if (closeButton) {
closeButton.addEventListener('click', function(e) {
closeDJInterface();
e.preventDefault();
e.stopPropagation();
});
}
}
function handleDrag(e) {
if (!isDragging) return;
@ -1229,8 +1241,7 @@ function stopResize() {
}
function closeDJInterface() {
// Stoppe alle laufenden Prozesse
stopAllAudio();
// Entferne Event-Listener
document.removeEventListener('mousemove', handleDrag);
@ -1245,9 +1256,11 @@ function closeDJInterface() {
}
// Benachrichtige FiveM
notifyFiveM('djInterfaceClosed', {});
notifyFiveM('djInterfaceClosed', {
stopMusic: false // Wichtig: Teile FiveM mit, dass die Musik weiterlaufen soll
});
console.log('DJ System: Interface closed');
console.log('DJ System: Interface closed, music continues playing');
}
function stopAllAudio() {
@ -1542,3 +1555,37 @@ console.log('Z/X/C - Crossfader positions');
console.log('R - Toggle recording');
console.log('Space - Play/Pause current deck');
// In script.js - Separate Funktion zum Stoppen der Musik
function stopAllAudioAndCloseInterface() {
// Stoppe YouTube-Player
for (const deck of ['A', 'B']) {
if (djInterface.decks[deck].youtubePlayer) {
try {
djInterface.decks[deck].youtubePlayer.stopVideo();
} catch (e) {
console.error(`DJ System: Error stopping YouTube player for Deck ${deck}`, e);
}
}
// Stoppe Audio-Player
if (djInterface.decks[deck].player) {
try {
djInterface.decks[deck].player.pause();
djInterface.decks[deck].player.currentTime = 0;
} catch (e) {
console.error(`DJ System: Error stopping audio player for Deck ${deck}`, e);
}
}
// Reset Deck-Status
djInterface.decks[deck].isPlaying = false;
}
// Schließe Interface
closeDJInterface();
// Benachrichtige FiveM, dass die Musik gestoppt werden soll
notifyFiveM('djInterfaceClosed', {
stopMusic: true
});
}