let currentLicense = null; // Event Listener für Nachrichten von FiveM window.addEventListener('message', function(event) { const data = event.data; switch(data.action) { case 'showLicense': showLicense(data.data); break; } }); // Lizenz anzeigen function showLicense(data) { currentLicense = data; const container = document.getElementById('license-container'); const card = document.getElementById('license-card'); // Lizenztyp-spezifische Klasse hinzufügen card.className = 'license-card ' + data.license.license_type; // Header befüllen document.querySelector('.license-title').textContent = data.config.label; document.querySelector('.license-icon').className = 'license-icon ' + data.config.icon; // Lizenzinformationen befüllen document.getElementById('license-name').textContent = data.license.name || 'N/A'; document.getElementById('license-birthday').textContent = data.license.birthday || 'N/A'; document.getElementById('license-gender').textContent = formatGender(data.license.gender) || 'N/A'; document.getElementById('license-issue').textContent = data.license.issue_date || 'N/A'; document.getElementById('license-expire').textContent = data.license.expire_date || 'N/A'; // Klassen anzeigen (nur bei Führerschein) const classesRow = document.getElementById('license-classes-row'); if (data.license.classes && data.license.classes !== '[]') { try { const classes = JSON.parse(data.license.classes); if (classes && classes.length > 0) { document.getElementById('license-classes').textContent = classes.join(', '); classesRow.style.display = 'flex'; } else { classesRow.style.display = 'none'; } } catch (e) { classesRow.style.display = 'none'; } } else { classesRow.style.display = 'none'; } // Status anzeigen const statusElement = document.getElementById('license-status'); if (data.license.is_active) { statusElement.textContent = '✅ Gültig'; statusElement.className = 'license-status active'; } else { statusElement.textContent = '❌ Ungültig'; statusElement.className = 'license-status inactive'; } // Container anzeigen container.classList.remove('hidden'); } // Geschlecht formatieren function formatGender(gender) { const genderMap = { 'male': 'Männlich', 'female': 'Weiblich', 'other': 'Divers' }; return genderMap[gender] || gender; } // Lizenz schließen function closeLicense() { const container = document.getElementById('license-container'); container.classList.add('hidden'); // Callback an FiveM senden fetch(`https://${GetParentResourceName()}/closeLicense`, { method: 'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8', }, body: JSON.stringify({}) }); } // ESC-Taste zum Schließen document.addEventListener('keydown', function(event) { if (event.key === 'Escape') { closeLicense(); } }); // Klick außerhalb der Karte zum Schließen document.getElementById('license-container').addEventListener('click', function(event) { if (event.target === this) { closeLicense(); } });