diff --git a/launch.html b/launch.html index 721890a..412f27f 100644 --- a/launch.html +++ b/launch.html @@ -428,8 +428,12 @@ */ const CONFIG = { + /* + * Your Jitsi Launcher domain + */ + jitsiLauncher: "meet.bnvb.eu", /* - * Your Jitsi Domain. + * Your Jitsi domain. */ jitsiHost: "meet.bnvb-ingenieure.de", /* @@ -532,7 +536,8 @@ startTimeRequired: "Please select a start time", endTimeRequired: "Please select an end time", endAfterStart: "End time must be after start time", - organizerRequired: "Please enter an organizer email" + organizerRequired: "Please enter an organizer email", + organizerInvalid: "Please enter a valid organizer email address" } }, @@ -617,7 +622,8 @@ startTimeRequired: "Bitte wähle eine Startzeit", endTimeRequired: "Bitte wähle eine Endzeit", endAfterStart: "Die Endzeit muss nach der Startzeit liegen", - organizerRequired: "Bitte gib eine Organisator-E-Mail ein" + organizerRequired: "Bitte gib eine Organisator-E-Mail ein", + organizerInvalid: "Bitte gib eine gültige Organisator-E-Mail-Adresse ein" } }, @@ -701,7 +707,8 @@ startTimeRequired: "Veuillez sélectionner une heure de début", endTimeRequired: "Veuillez sélectionner une heure de fin", endAfterStart: "L'heure de fin doit être après l'heure de début", - organizerRequired: "Veuillez entrer un email d'organisateur" + organizerRequired: "Veuillez entrer un email d'organisateur", + organizerInvalid: "Veuillez entrer une adresse email d'organisateur valide" } } }; @@ -1180,7 +1187,7 @@ function generateICS(meetingName, description, startTime, endTime, organizer) { /* Generate a unique room name from the meeting name */ const roomName = meetingName.toLowerCase().replace(/\s+/g, '-').replace(/[^a-z0-9-]/g, ''); - const meetingUrl = `https://${CONFIG.jitsiHost}/launch.html?room=${encodeURIComponent(roomName)}`; + const meetingUrl = `https://${CONFIG.jitsiLauncher}/launch.html?room=${encodeURIComponent(roomName)}`; /* Format dates for ICS */ const formatICSDate = (date) => { @@ -1297,6 +1304,12 @@ END:VCALENDAR`; return; } + const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + if (!emailPattern.test(organizer)) { + alert(getTranslation('creator.organizerInvalid') || 'Please enter a valid organizer email address'); + return; + } + /* Generate ICS */ const icsData = generateICS(meetingName, description || meetingName, startTime, endTime, organizer);