diff --git a/src/css/template.css b/src/css/template.css index 795a90c..fde141a 100644 --- a/src/css/template.css +++ b/src/css/template.css @@ -48,6 +48,8 @@ width: 100%; height: 100%; object-fit: cover; + border: 0; + pointer-events: none; } /* ============================================================ diff --git a/src/language/en-GB/mod_mokojoomhero.sys.ini b/src/language/en-GB/mod_mokojoomhero.sys.ini index ffdc730..4d3533e 100644 --- a/src/language/en-GB/mod_mokojoomhero.sys.ini +++ b/src/language/en-GB/mod_mokojoomhero.sys.ini @@ -27,8 +27,8 @@ MOD_MOKOJOOMHERO_SLIDE_INTERVAL_LABEL="Slide Interval (ms)" MOD_MOKOJOOMHERO_SLIDE_INTERVAL_DESC="Time between slides in milliseconds (e.g. 5000 = 5 seconds)." ; Video settings -MOD_MOKOJOOMHERO_VIDEO_FILE_LABEL="Video File" -MOD_MOKOJOOMHERO_VIDEO_FILE_DESC="Path or URL to the background video file (MP4 recommended)." +MOD_MOKOJOOMHERO_VIDEO_FILE_LABEL="Video File / YouTube URL" +MOD_MOKOJOOMHERO_VIDEO_FILE_DESC="Path to a local video file (MP4), or a YouTube URL (e.g. https://www.youtube.com/watch?v=abc123)." ; Hero height MOD_MOKOJOOMHERO_HERO_HEIGHT_LABEL="Hero Height" diff --git a/src/mod_mokojoomhero.php b/src/mod_mokojoomhero.php index f8e908a..a03804c 100644 --- a/src/mod_mokojoomhero.php +++ b/src/mod_mokojoomhero.php @@ -60,13 +60,19 @@ if ($heroMode === 'images') { } } -// Build video URL (relative path → absolute) -$videoUrl = ''; +// Build video URL — detect YouTube vs local file +$videoUrl = ''; +$youtubeId = ''; if ($heroMode === 'video' && $videoFile) { - $videoUrl = (strpos($videoFile, '://') !== false) - ? $videoFile - : Uri::root() . ltrim($videoFile, '/'); + // Match youtube.com/watch?v=ID, youtu.be/ID, youtube.com/embed/ID + if (preg_match('/(?:youtube\.com\/(?:watch\?v=|embed\/)|youtu\.be\/)([\w-]{11})/', $videoFile, $m)) { + $youtubeId = $m[1]; + } else { + $videoUrl = (strpos($videoFile, '://') !== false) + ? $videoFile + : Uri::root() . ltrim($videoFile, '/'); + } } // Module content from the editor (overlay text) diff --git a/src/tmpl/default.php b/src/tmpl/default.php index f4042b8..5ed6791 100644 --- a/src/tmpl/default.php +++ b/src/tmpl/default.php @@ -16,6 +16,7 @@ use Joomla\CMS\Language\Text; /** @var array $heroImages */ /** @var int $slideInterval */ /** @var string $videoUrl */ +/** @var string $youtubeId */ /** @var string $heroHeight */ /** @var string $overlayColor */ /** @var float $overlayOpacity */ @@ -40,7 +41,9 @@ $heightAttr = htmlspecialchars($heroHeight, ENT_QUOTES, 'UTF-8'); > - + + +