Commit Graph

27 Commits

Author SHA1 Message Date
93e9d3a88c Auto-enable dev mode when Joomla debug is on; fix TOC heading detection
- Development mode now activates automatically when Joomla global
  debug is enabled, so admins don't need to toggle both settings.
- Bootstrap TOC now detects the highest heading level present (even
  if only one exists) and includes up to two levels below it
  (e.g. h2 → h2, h3, h4). Fixes incorrect top-level detection and
  adds proper three-level nesting support.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 11:26:37 -05:00
28bf07a443 Add accessibility toolbar with 6 toggleable options
Adds a floating accessibility toolbar to the template with individually
enable/disable options: text resize, color inversion, high contrast,
highlight links, readable font, and pause animations. Each option has
an admin toggle in the Theme tab and persists visitor preferences in
localStorage. Also fixes count() on null in mod_login override.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 11:21:22 -05:00
27c0006ac2 Fix FA7 not loading: simplify to single all.css, fix kit code check
- Load only all.css (or all.min.css) instead of 5 redundant files
- Trim fA6KitCode to prevent whitespace from triggering CDN path
- Remove nested try/catch with 10 fallback registrations
- Single clean try/catch with one dynamic fallback
- all.css already bundles brands + solid + regular + fontawesome

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 23:03:49 -05:00
a8e1ddbb05 Auto-minify CSS/JS: dev mode deletes .min, prod mode regenerates
- helper/minify.php: PHP-based CSS/JS minifier with timestamp caching
- Dev mode ON: deletes all .min.css and .min.js files
- Dev mode OFF: regenerates .min files from source if stale or missing
- Covers template.css, light/dark standard/custom theme CSS, template.js
- No external build tools needed — template is self-contained

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:05:09 -05:00
d98e42a936 Development mode controls CSS/JS minification
- When dev mode OFF (default): loads template.min.css,
  template.min.js, minified theme CSS, and minified FA7
- When dev mode ON: loads unminified sources for debugging
- Uncommented developmentmode field in templateDetails.xml
  with default set to 0 (off) for production use
- Updated language strings to describe minification behavior
- Resolved hero-card-max-width to 800px

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:01:45 -05:00
cd59cf3eb8 Wrap main-top and main-bottom positions in conditional divs
Both positions already existed but rendered unconditionally.
Now wrapped with $this->countModules() checks so the containing
<div> only renders when modules are assigned to the position.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:37:02 -05:00
4a0b905c6c Update index.php 2026-04-02 18:40:29 -05:00
f476c6310d Strip remaining FILE INFORMATION headers from all non-XML/README files
Removes DEFGROUP, INGROUP, PATH, VERSION, BRIEF metadata from:
- Root PHP files (index.php, custom.php, error.php, offline.php, component.php)
- Language INI files (en-GB, en-US)
- All index.html security stubs
- brand-showcase.html, theme-test.html

Copyright/SPDX block preserved in all files.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 15:50:35 -05:00
96161f34ae Add favicon configuration with auto-generation from PNG upload
- New "Favicon" tab in template config with media picker for PNG upload
- helper/favicon.php generates all standard sizes from source PNG using GD:
  - favicon.ico (16x16 + 32x32 embedded)
  - apple-touch-icon.png (180x180)
  - favicon-32x32.png, favicon-16x16.png
  - android-chrome-192x192.png, android-chrome-512x512.png
  - site.webmanifest for PWA icon discovery
- Generated files cached in images/favicons/ with timestamp checking
- Link tags auto-injected in <head> when favicon source is configured
- Language strings added for en-GB and en-US

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 13:45:34 -05:00
26e7be57d3 Hero variable system, CSS fallbacks, header cleanup, remove mobile overrides
- Hero card fully variable-driven: --hero-card-bg/color/overlay/border-radius/padding/max-width
- Alternative hero variant: --hero-alt-card-* for secondary theme
- Overlay bg-position and bg-size now customizable via variables
- Mobile breakpoint: photo bg hidden, hero full-bleed on small screens
- Added fallback values to 1365 var() calls in template.css
- .btn --btn-bg changed from transparent to var(--body-bg) in dark/light themes
- .offcanvas-header .btn-close gets background-color from overlay
- Stripped file info headers (@package/DEFGROUP/VERSION) from 48 files, kept copyright/SPDX
- Synced all theme variables across standard and custom templates
- Removed 26 mobile.php layout overrides
- Added *.py to .gitignore, card-border-radius fallback

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 11:17:53 -05:00
9b9bbf7d57 Sync all file VERSION headers to 03.09.02
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:54:44 -05:00
044d8277f8 CSS and Joomla 6 fixes: dropdown icons, footer, drawers, horizontal menu
- Replace CSS border-triangle dropdown toggles with FontAwesome chevron icon
- Fix footer: use --nav-bg-color background, --mainmenu-nav-link-color links, add display:flex to grid-child
- Dynamic footer padding-right when theme control is active
- Drawer close buttons: align left in left drawer, right in right drawer
- Fix .menu-horizontal selector (was .metismenu.menu-horizontal, actual output is .mod-menu.menu-horizontal)
- Add horizontal padding to .mod-list li
- Joomla 6 compat: replace legacy JHtml with namespaced HTMLHelper in mod_kunenalogin

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:48:12 -05:00
8e6835cd47 Added close buttons to drawers 2026-03-31 13:19:11 -05:00
bd4b9390a9 Update index.php 2026-03-26 16:43:44 -05:00
f0e7ccac6d Add minify build script and generate .min CSS/JS; rename position to brand-aside
Build tooling:
- Add package.json with clean-css and terser dev dependencies
- Add scripts/minify.js: reads joomla.asset.json, auto-detects source/.min
  pairs, and minifies all template-owned CSS and JS files
- Add node_modules/ to .gitignore

Generated .min files (all 6 manifest pairs):
- css/template.min.css      (17.8% saved)
- css/editor.min.css        (49.4% saved)
- css/theme/light.standard.min.css  (13.1% saved)
- css/theme/dark.standard.min.css   (14.4% saved)
- js/template.min.js        (58.2% saved)
- js/gtm.min.js             (62.3% saved)

Rename: header-aside → brand-aside (position, CSS class, language keys)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 20:22:09 -05:00
f0de3bf342 Add header-aside module position to the right of the logo
- New position renders inside .header-brand-wrap, right-aligned via
  margin-inline-start: auto on .container-header-aside
- CSS: .header-brand-wrap uses flexbox so logo stays left, aside floats right
- Registered in templateDetails.xml positions list
- Language strings added to both en-US and en-GB sys.ini files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 20:16:39 -05:00
9a1269797a Add Google Search Console verification and ensure all Google services coexist
- Add googlesitekey param to Google fieldset in templateDetails.xml
- Inject <meta name="google-site-verification"> via setMetaData() in
  index.php, component.php, and offline.php
- GTM, GA, and Search Console verification can now all be active simultaneously
- Add language strings for new field in en-US and en-GB

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 20:14:00 -05:00
copilot-swe-agent[bot]
d7ff91d90d Add conditional custom palette loading and user.js support to all templates
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-08 03:30:34 +00:00
copilot-swe-agent[bot]
ed8b7fdef1 Add file existence checks and fix JSON formatting
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-08 01:33:03 +00:00
copilot-swe-agent[bot]
2b385e57ab Remove alternative palette refs and make custom palette loading conditional
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-08 01:31:14 +00:00
copilot-swe-agent[bot]
dc5b59c973 Convert theme stylesheets to use Joomla Web Asset Manager
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-08 01:02:04 +00:00
copilot-swe-agent[bot]
a273ece724 Finalize hard-coded theme stylesheet loading
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-08 00:57:11 +00:00
copilot-swe-agent[bot]
cd5b94da94 Rename custom palette files and hard-code theme style registration
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-08 00:54:42 +00:00
copilot-swe-agent[bot]
eb5f718039 Changes before error encountered
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-08 00:24:05 +00:00
copilot-swe-agent[bot]
bee3614223 Changes before error encountered
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-07 23:25:40 +00:00
copilot-swe-agent[bot]
34057518c8 Remove Google Fonts CDN dependencies
- Update templateDetails.xml to use local font CSS files only
- Add Noto Sans and Fira Sans as local font options
- Remove Google Fonts CDN preconnect links from index.php
- Remove Google Fonts CDN preconnect links from component.php
- Remove Google Fonts CDN preconnect link from offline.php

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-07 20:43:39 +00:00
06df7bb604 Reorganization 2026-03-01 01:15:39 -06:00