From eb1e62c511b0b03574a7a368881156b11bfad0f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Tollk=C3=BChn?= Date: Tue, 29 Sep 2026 14:38:34 +0200 Subject: [PATCH] add email validator --- launch.html | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) 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);