Commit Graph

4 Commits

Author SHA1 Message Date
Jonathan Miller
b92f6a41ff Favicon: tri-backend support — GD, Imagick, or pure PHP fallback
Some checks failed
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 4s
Repo Health / Scripts governance (push) Successful in 5s
Repo Health / Repository health (push) Failing after 4s
Pure PHP backend decodes PNG (IHDR+IDAT+zlib), resizes with bilinear
interpolation, and encodes back to PNG — zero extension dependencies.
Supports RGB, RGBA, and indexed PNG color types.

Priority: GD → Imagick → pure PHP. Falls back gracefully.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-19 13:52:06 -05:00
Jonathan Miller
2ad624a48c Fix favicon: support JPG/WebP/GIF, add logging, fix path resolution
Some checks failed
Repo Health / Access control (push) Successful in 1s
Auto-Update SHA Hash / Update SHA-256 Hash in updates.xml (release) Failing after 5s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Repository health (push) Failing after 3s
- Support all common image formats (PNG, JPEG, GIF, WebP, BMP)
  not just PNG — uses getimagesize() to detect type
- Add Log::add() warnings when generation fails (GD missing,
  file not found, unsupported format)
- Fix source path: try both direct path and images/ prefix
  to handle Joomla media field variations

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 12:24:42 -05:00
Jonathan Miller
5e5d6a4e89 Offline page redesign, remove brand showcase tab, force a11y/theme to bottom-right
Some checks failed
Repo Health / Access control (push) Failing after 1s
Repo Health / Release configuration (push) Has been skipped
Repo Health / Scripts governance (push) Has been skipped
Repo Health / Repository health (push) Has been skipped
- Offline page: full-viewport Joomla offline_image background, centered glass card
  overlay with logo glow, message, offline position, login accordion, copyright
- Favicon: added to offline page, HTML-escaped paths in helper
- Removed brand showcase tab, added footer CSS vars to CSS Variables tab
- Forced a11y toolbar and theme FAB to bottom-right (removed position selectors)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 18:29:43 -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