62 Commits

Author SHA1 Message Date
gitea-actions[bot] 806a1de120 chore(release): build 01.07.00 [skip ci] 2026-05-30 22:25:21 +00:00
gitea-actions[bot] d68fb4a425 chore(release): build 01.06.00 [skip ci] 2026-05-30 21:40:58 +00:00
gitea-actions[bot] a89d7bc264 chore(version): auto-bump 01.04.01-dev [skip ci] 2026-05-30 21:13:25 +00:00
gitea-actions[bot] 794cc0f13f chore(release): build 01.04.00 [skip ci] 2026-05-30 20:36:00 +00:00
gitea-actions[bot] 9cc0117c11 chore(version): auto-bump 01.03.02-dev [skip ci] 2026-05-30 20:35:29 +00:00
Jonathan Miller bca09b42d9 chore: merge main into dev, resolve updates.xml conflict
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-30 15:28:42 -05:00
Jonathan Miller 2fea58db47 feat: add local video mode with media picker and install script
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
- New "Local Video" hero mode with Joomla Media Manager file picker
- Install script creates images/heroes/ folder on install/update
- Updated showMuteToggle to show for both video and localvideo modes
- All language strings (en-US/en-GB, ini + sys.ini) updated with new
  keys: MODE_LOCALVIDEO, LOCAL_VIDEO_LABEL/DESC, CARD_DELAY, MUTE_TOGGLE

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-30 15:22:29 -05:00
gitea-actions[bot] 700dadab7e chore(release): build 01.03.00 [skip ci] 2026-05-30 19:43:21 +00:00
jmiller 901016b795 Merge pull request 'feat: card fade-in delay and video mute toggle' (#41) from dev into main
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Cascade Main → Dev / Cascade main → branches (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
2026-05-30 19:08:40 +00:00
Jonathan Miller 17b66b0210 feat: add card fade-in delay and video mute toggle (#39, #40)
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Generic: Repo Health / Site Health (pull_request) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Generic: Repo Health / Access control (pull_request) Has been cancelled
Joomla: Extension CI / Release Readiness Check (pull_request) Has been cancelled
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Has been cancelled
Joomla: Extension CI / Lint & Validate (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
Universal: Build & Release / Promote to RC (pull_request) Has been cancelled
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Has been cancelled
Joomla: Extension CI / PHPStan Analysis (pull_request) Has been cancelled
Joomla: Extension CI / Build RC Pre-Release (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Generic: Repo Health / Release configuration (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
- Card fade-in delay: configurable delay (0-5000ms) before the content
  card appears with a smooth slide-up animation. Set via cardDelay param.
- Mute toggle: optional button in bottom-right corner to unmute/mute
  video audio. Videos always start muted (browser autoplay requirement).
  Supports YouTube postMessage API, Vimeo postMessage, and native video.
- New manifest params: cardDelay (number), showMuteToggle (radio)
- Language strings added for both en-US and en-GB

Closes #39, closes #40
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-30 14:02:37 -05:00
gitea-actions[bot] cc2569cccc chore(release): build 01.01.00 [skip ci] 2026-05-30 15:56:48 +00:00
gitea-actions[bot] 4747a44678 chore(release): build 01.00.20-dev [skip ci] 2026-05-30 10:49:05 -05:00
gitea-actions[bot] 36c6044ee4 chore(release): build 01.00.19-dev [skip ci] 2026-05-30 10:48:40 -05:00
gitea-actions[bot] 17ebf2b612 chore(version): auto-bump 01.00.18-dev [skip ci] 2026-05-30 15:46:40 +00:00
Jonathan Miller 22c9349b5d feat: pause/resume videos when hero scrolls out of viewport
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Use IntersectionObserver to pause videos when the hero is not visible
and resume when it scrolls back in. Supports native <video>, YouTube
(postMessage API with enablejsapi=1), and Vimeo embeds.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-30 10:46:27 -05:00
gitea-actions[bot] 38df39cfb5 chore(version): auto-bump 01.00.17-dev [skip ci] 2026-05-30 15:37:24 +00:00
Jonathan Miller 65169f8730 fix: render module title inside hero card and preserve btn styles
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
- Show module title as h2 inside the card/content when showtitle is
  enabled, keeping it within the overlay rather than above the hero
- Exclude .btn from card link color override so buttons retain their
  own styling

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-30 10:37:09 -05:00
gitea-actions[bot] 4e7a8073b3 chore(version): auto-bump 01.00.16-dev [skip ci] 2026-05-30 15:11:50 +00:00
Jonathan Miller 7130c27840 fix: correct WebAsset registration and iframe video cover
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
- Add #style/#script suffixes to preset dependencies (Joomla defaults
  untyped deps to "preset", causing UnsatisfiedDependencyException)
- Fix asset URIs to use extension_name/file pattern — Joomla's
  HTMLHelper auto-inserts the css/js folder
- Split video CSS into <video> (object-fit:cover) and <iframe>
  (oversize+centre-crop) rules since object-fit doesn't apply to iframes

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-30 10:11:11 -05:00
gitea-actions[bot] eead1571f7 chore(version): pre-release bump to 01.00.02-dev [skip ci] 2026-05-29 05:25:35 +00:00
gitea-actions[bot] af48b6ecf9 chore(version): auto-bump patch 01.00.15-dev [skip ci] 2026-05-29 05:25:20 +00:00
gitea-actions[bot] b7139476ae chore(version): auto-bump patch 01.00.14-dev [skip ci] 2026-05-29 05:23:59 +00:00
Jonathan Miller 42c578fc7a refactor: move assets to media/ for proper Joomla WAM integration
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Joomla's addExtensionRegistryFile('mod_foo') resolves to
media/mod_foo/joomla.asset.json, not modules/mod_foo/. Move CSS, JS,
and joomla.asset.json to src/media/ and add <media> tag to manifest.

- src/css/ → src/media/css/
- src/js/ → src/media/js/
- src/joomla.asset.json → src/media/joomla.asset.json
- Manifest: replace <folder>css/js</folder> in <files> with <media> tag
- Entry point: restore addExtensionRegistryFile + usePreset

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-29 00:23:52 -05:00
gitea-actions[bot] 059b8fe6a2 chore(version): auto-bump patch 01.00.13-dev [skip ci] 2026-05-29 05:20:22 +00:00
Jonathan Miller 96e7ae65eb fix: use inline asset registration instead of preset registry
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
addExtensionRegistryFile fails during countModules() — Joomla renders
modules early during template parsing and the preset registry lookup
fails. Switch to registerAndUseStyle/registerAndUseScript which work
reliably in all contexts.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-29 00:20:15 -05:00
gitea-actions[bot] fde8e54c62 chore(version): pre-release bump to 01.00.02-dev [skip ci] 2026-05-29 03:59:35 +00:00
gitea-actions[bot] f1bfe21a21 chore(version): auto-bump patch 01.00.12-dev [skip ci] 2026-05-29 03:57:20 +00:00
Jonathan Miller 29a32a9e07 fix(mobile): hide video/images on mobile, show card only
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
On mobile (<=768px) the video/slideshow is hidden behind the card
and wastes bandwidth. Now:
- Hide video and slide elements via display:none
- Remove fixed height so hero auto-sizes to card content
- Clear overlay background (no need without background media)
- Skip slideshow JS timer on mobile via matchMedia check

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-28 22:57:13 -05:00
gitea-actions[bot] 5d18c0f6c9 chore(version): auto-bump patch 01.00.11-dev [skip ci] 2026-05-29 03:56:03 +00:00
Jonathan Miller d738d75fad feat: add WYSIWYG content editor with card display on hero
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
- Add heroContent param with Joomla editor field for rich HTML input
- Add showCard toggle to wrap content in a styled card (white bg, shadow, rounded)
- Card CSS: semi-transparent white, 8px radius, centered, max 700px
- Remove old $module->content fallback — content now comes from params
- Language strings for en-GB and en-US (both .ini and .sys.ini)

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-28 22:55:54 -05:00
gitea-actions[bot] b44ffefd9d chore(version): pre-release bump to 01.00.02-dev [skip ci] 2026-05-29 03:41:03 +00:00
gitea-actions[bot] 2fddc6dc8f chore(version): auto-bump patch 01.00.10-dev [skip ci] 2026-05-29 03:36:18 +00:00
Jonathan Miller 2b49acefaa feat(params): default hero height to 60vh, clarify vh/px in description
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
- Change default from 400px to 60vh (viewport-relative is more responsive)
- Add hint placeholder showing "e.g. 60vh or 400px"
- Update description to explain both px and vh units

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-28 22:36:11 -05:00
gitea-actions[bot] 1c5737df6c chore(version): pre-release bump to 01.00.02-dev [skip ci] 2026-05-29 02:58:15 +00:00
gitea-actions[bot] ee4d7a7323 chore(version): auto-bump patch 01.00.09-dev [skip ci] 2026-05-28 23:04:27 +00:00
Jonathan Miller 1d50f88bbc fix(manifest): hardcode name and description in XML manifest
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Joomla does not reliably translate language keys in <name> and
<description> manifest elements — the .sys.ini may not be loaded
when these are first read. Hardcode the values instead.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-28 18:04:17 -05:00
gitea-actions[bot] 49c6a72bd3 chore(version): auto-bump patch 01.00.08-dev [skip ci] 2026-05-28 23:02:58 +00:00
Jonathan Miller 894866bf53 fix(i18n): add param labels to .ini files for admin form rendering
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Joomla's Module Manager loads mod_mokojoomhero.ini (not .sys.ini) when
rendering the configuration form fields. All param labels were only in
.sys.ini, causing raw constants to show in the admin edit screen.

Duplicated all param label/description strings into both .ini and
.sys.ini for en-GB and en-US locales.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-28 18:02:46 -05:00
gitea-actions[bot] e492c4d181 chore(version): auto-bump patch 01.00.07-dev [skip ci] 2026-05-28 22:46:56 +00:00
Jonathan Miller d5bf76e642 feat(i18n): add en-US locale alongside en-GB
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
- en-GB: British English (Colour, Centre)
- en-US: American English (Color, Center)
- Both locales declared in manifest <languages> section

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-28 17:46:47 -05:00
gitea-actions[bot] afa5eb35fc chore(version): pre-release bump to 01.00.02-dev [skip ci] 2026-05-28 22:20:41 +00:00
gitea-actions[bot] 6287d63da4 chore(version): auto-bump patch 01.00.06-dev [skip ci] 2026-05-28 22:13:48 +00:00
Jonathan Miller e3d156bf2f refactor: align with Joomla 5 module conventions
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
- Rename css/template.css → css/mod_mokojoomhero.css
- Rename js/template.js → js/mod_mokojoomhero.js
- Update joomla.asset.json URIs to match new filenames
- Use $app (injected by Joomla) instead of Factory::getApplication()
- Remove unused Factory import
- Add proper scope annotations ($app, $module, $params)

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-28 17:13:32 -05:00
gitea-actions[bot] a57e236a06 chore(version): auto-bump patch 01.00.05-dev [skip ci] 2026-05-28 22:00:42 +00:00
gitea-actions[bot] c2f21468be chore(version): pre-release bump to 01.00.02-dev [skip ci] 2026-05-28 21:55:03 +00:00
gitea-actions[bot] a299ec7954 chore(version): pre-release bump to 01.00.02-dev [skip ci] 2026-05-28 20:14:30 +00:00
gitea-actions[bot] 2f4d028416 chore(version): auto-bump patch 01.00.04-dev [skip ci] 2026-05-28 20:13:09 +00:00
Jonathan Miller ae948e41a7 feat: smart video URL detection for YouTube, Vimeo, and local files
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
The video field now accepts any URL format and auto-detects the source:
- YouTube: watch, embed, shorts, youtu.be (extracts video ID)
- Vimeo: vimeo.com/ID, player.vimeo.com/video/ID
- Local/direct: relative paths or direct URLs render as <video>

Also fix videoFile filter from url to string to allow local paths.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-28 15:12:52 -05:00
Jonathan Miller 7684780e07 fix(params): change videoFile filter from url to string
The url filter rejects local relative paths like images/video.mp4.
Changed to string filter to support both local paths and YouTube URLs.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-28 15:11:43 -05:00
gitea-actions[bot] 731b6b60e3 chore(version): pre-release bump to 01.00.02-dev [skip ci] 2026-05-28 19:41:04 +00:00