Commit Graph

1365 Commits

Author SHA1 Message Date
1205690dcb Load Bootstrap collapse component for mobile menu toggle
The navbar hamburger uses data-bs-toggle="collapse" but the
Bootstrap collapse JS was never loaded. Now loaded unconditionally
since the main menu always needs it on mobile viewports.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:34:08 -05:00
github-actions[bot]
fb0b2bc293 chore(release): build 03.06.12 [skip ci] 2026-04-04 20:33:40 +00:00
6f72b0ffcd Use Font Awesome for hamburger menu icon
Replace Bootstrap navbar-toggler-icon SVG with fa-solid fa-bars
in mainmenu.php. Update .container-header .navbar-toggler CSS to
use --mainmenu-nav-link-color for color and border.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:33:22 -05:00
0cda4a6844 Make search module full width in header search position
Set width: 100% on .container-search, .mod-finder, .mod-finder__form,
and the input-group so the search bar stretches the full width of
the navigation area.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:31:37 -05:00
649ac1e2bd Merge branch 'dev/03.09.01' of https://github.com/mokoconsulting-tech/MokoCassiopeia into dev/03.09.01 2026-04-04 15:28:02 -05:00
0f23431ee6 Update template.css 2026-04-04 15:27:59 -05:00
6db423fab1 Update template.css 2026-04-04 15:26:09 -05:00
e416499764 ci: sync workflows from main
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:19:47 -05:00
488d605390 ci: sync all workflows from MokoStandards v04.05
- deploy-dev now uses deploy-joomla.php for smart routing
- deploy respects only .ftpignore (not .gitignore)
- Updated standards-compliance with URL route exclusions
- Updated repo_health with enhanced Joomla checks

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:19:26 -05:00
8a2f45a2b3 chore: add .mokostandards platform marker (waas-component)
Enables smart Joomla deploy routing via deploy-joomla.php

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:18:21 -05:00
9a83d52539 Match navbar toggler color to nav link color in header
.container-header .navbar-toggler now uses --mainmenu-nav-link-color
for both text/border color and the hamburger icon SVG, matching
the rest of the navigation links.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:14:31 -05:00
ccf385c1cf Fix container-nav links, blog card heights, and empty message container
- .container-nav a now uses --mainmenu-nav-link-color so all links
  in the navigation area match the navbar color scheme.
- Blog items use flex: 1 + height: 100% so cards in the same row
  are equal height. Read more button pinned to bottom via
  margin-top: auto.
- #system-message-container:empty hides the Joomla message wrapper
  when no messages are present, removing empty whitespace.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:09:46 -05:00
e6fd1d303b Update template.css 2026-04-04 15:03:21 -05:00
17c8e23a5e Update template.css 2026-04-04 15:03:08 -05:00
f08c001317 Update template.css 2026-04-04 14:58:44 -05:00
5af1a27676 Fix FA7 not loading: simplify to single all.css, fix kit code check
Simplify Font Awesome loading to scan three candidate paths for
all.css, register whichever exists via WebAssetManager, then call
useStyle(). Falls back to joomla.asset.json registry if no local
file found. Covers both standard Joomla media path and SFTP
deploy layout.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:44:14 -05:00
b070be683b Add system-wide IcoMoon to Font Awesome 7 compatibility layer
Replace the partial 10-icon mapping with a comprehensive layer
that covers 80+ Joomla IcoMoon icon-* classes. All icon-* prefixed
elements now render using Font Awesome 7 Free glyphs via ::before
pseudo-elements with the correct font-family, weight, and
smoothing. Covers navigation, actions, objects, status, media,
layout, and publishing icons.

Also fix back-to-top icon in error.php (icon-arrow-up → fa-solid
fa-arrow-up).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:27:04 -05:00
c762a9acde ci: sync workflow files from main
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:26:17 -05:00
4801571b53 Fix main menu link color in header and back-to-top functionality
Main menu links in the header now explicitly use
--mainmenu-nav-link-color via .container-header .nav-link
selector, preventing the generic --nav-link-color from bleeding
through when variables resolve to the body link color.

Back-to-top link:
- Switch icon from IcoMoon (icon-arrow-up) to Font Awesome
  (fa-solid fa-arrow-up) for consistency with the rest of the
  template.
- Add id="top" to the header element so the href="#top" fallback
  works even when JavaScript is disabled.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:24:23 -05:00
a767f97995 Fix FA7 not loading: try both media and template paths
Font Awesome CSS was not loading because the asset path
(media/templates/site/mokocassiopeia/) doesn't exist when
deployed via SFTP to the template directory. Now checks the
file system for both the standard Joomla media path and the
SFTP-deployed template-relative path before falling back to
the asset registry.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:18:18 -05:00
90d68db350 Align template version to branch: 03.09.01
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:09:07 -05:00
c52f6b833e Fix a11y toolbar overlapping theme FAB — increase vertical offset
Bump a11y toolbar bottom from 3.5rem to 5rem when theme FAB is
present, ensuring the toggle button clears the FAB completely.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 13:58:02 -05:00
github-actions[bot]
6fc8435909 chore(version): auto-bump patch 03.06.11 → 03.06.12 [skip ci] 2026-04-04 18:49:06 +00:00
d7ec331d28 style(blog): full-width category blog images with 250px max height
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 13:48:41 -05:00
bde8fbbbc0 Add mod_menu default override with showtitle; fix a11y/FAB overlap
- Create default.php for mod_menu with showtitle support, suitable
  for sidebar and footer menu modules (simple nav list, not navbar).
- Fix accessibility toolbar overlapping theme FAB by stacking the
  a11y toggle above the FAB instead of beside it.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 12:39:38 -05:00
7ba7806c63 Complete module overrides with showtitle for all Joomla core modules
New overrides: mod_articles_archive, mod_articles_categories,
mod_banners, mod_languages, mod_random_image, mod_syndicate.

Fix mod_stats: replace right-aligned badge layout with definition
list (dl/dt/dd) for natural left-aligned display of stat labels
and values. Add CSS for the stats definition list.

All standard Joomla 5 site modules now have template overrides
with showtitle support and BEM-style class names.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 12:08:50 -05:00
7f0737f1bb Add module overrides with showtitle, fix footer and a11y positioning
New module overrides with showtitle support:
- mod_stats, mod_feed, mod_wrapper, mod_whosonline, mod_users_latest

Footer CSS:
- Each footer module now stacks full-width (flex-direction: column)
- Remove hardcoded padding-right: 300px inline style
- Dynamic footer padding-right based on theme FAB and a11y toolbar

Accessibility toolbar positioning:
- Toolbar now sits to the right of the theme FAB (bottom-right area)
- Shifts automatically when theme FAB is enabled via CSS attribute
  selectors on body data attributes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 11:49:26 -05:00
81e89db88c Scope TOC to article body only and use language string for title
- Move data-toc-scope from outer column to .article-content div so
  the TOC only sees headings inside the article body, ignoring page
  headers and article titles.
- Pass $scope explicitly in the JS auto-init so headings outside the
  article content are never picked up.
- Replace hardcoded article title in TOC heading with a
  TPL_MOKOCASSIOPEIA_TOC_TITLE language string ("Table of Contents").
- Add Text use statement to both toc-left.php and toc-right.php.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 11:28:45 -05:00
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
8d4ddbc1e4 Clarify custom palette files survive template updates
Add update-safe note to light and dark custom palette descriptions
in both en-US and en-GB language files, matching the existing
user.css/user.js messaging.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 11:24:52 -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
005644b07f CSS adjustment 2026-04-04 08:48:24 -05:00
628a99c37c Fix sticky header: remove position:relative override on .container-header
.container-header had position:relative which overrode .sticky-top's
position:sticky due to CSS source order (container-header appeared
later). Removed the conflicting rule. Added .container-header.sticky-top
with z-index:1020 to keep header above all content. Mobile media query
now only disables sticky when the sticky class is present.

Fixes #115

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 23:07:12 -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
8b49ff679b Fix mod_finder and mod_footer overrides to match Joomla core contracts
mod_finder:
- Use correct language keys (MOD_FINDER_SEARCH_VALUE, JSEARCH_FILTER_SUBMIT)
- Use $app (available from module dispatcher) instead of Factory
- Load com_finder.finder script and awesomplete preset
- Add show_label, show_button, show_advanced support from core
- Register com_finder extension assets
- Use $route from module dispatcher (not hardcoded)

mod_footer:
- Use $lineone variable from module helper (not $module->content)
- Add MOD_FOOTER_LINE2 language string output
- mod_footer generates its own content, it's not a custom HTML module

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:55:54 -05:00
f1b44f0530 fix: update all workflows to latest MokoStandards v04.04 templates [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:47:03 -05:00
c80f12455c fix: update all workflows to latest MokoStandards v04.04 templates [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:47:01 -05:00
aa616544ec fix(ci): update standards-compliance with all composer guards + false positive fix [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:43:57 -05:00
9cb11861ad fix(ci): guard composer install + use MokoStandards tools for version check [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:42:21 -05:00
0e27011057 Load module language files in template overrides
Added explicit language loading for overrides that use Text::_():
- mod_breadcrumbs: loads mod_breadcrumbs language
- mod_login: loads mod_login language
- mod_finder: loads mod_finder + com_finder language
- mod_articles_category: loads mod_articles_category language

Without this, language strings could show as raw keys when the
module chrome doesn't preload the language file.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:39:14 -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
65bb4c13f9 Update dark.standard.css 2026-04-02 21:56:14 -05:00
github-actions[bot]
e38e956b42 chore(version): auto-bump patch 03.06.10 → 03.06.11 [skip ci] 2026-04-03 02:55:47 +00:00
1e180dab81 Update dark.standard.css 2026-04-02 21:55:36 -05:00
73d7e05dc4 Remove vendor/ from .gitignore to fix deploy exclusion
The vendor/ rule causes deploy workflows to skip media/vendor/
files (FA7, bootstrap-toc). This repo has no Composer vendor
directory — Composer only runs in /tmp/mokostandards during CI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:55:00 -05:00
f48b3348d8 Remove vendor/ from .gitignore to fix deploy exclusion
The vendor/ rule was causing the deploy workflow to skip all files
under media/vendor/ (FA7, bootstrap-toc) because the deployed path
no longer has the src/ prefix. This repo has no Composer vendor
directory, so the rule is unnecessary.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:42:38 -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
62e64954a7 fix: update all workflows to latest MokoStandards v04.04 templates [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:25:38 -05:00
a25f0cb2ea fix: update all workflows to latest MokoStandards v04.04 templates [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:25:36 -05:00