Complete template system overhaul: CSS variables, theme management, and UI improvements #74
Merged
Copilot
merged 47 commits from 2026-02-07 17:49:30 +00:00
copilot/fix-language-constants-display into main
Labels
Clear labels
automation
breaking-change
bug
build
ci-cd
config
css
dependencies
deploy-failure
docker
documentation
dolibarr
duplicate
enhancement
generic
good first issue
health-check
health: excellent
health: fair
health: good
health: poor
help wanted
html
invalid
javascript
joomla
major-release
minor-release
mokostandards
needs-changelog
needs-review
needs-testing
patch-release
php
priority: critical
priority: high
priority: low
priority: medium
push-failure
python
question
regression
release
release-candidate
security
size/l
size/m
size/s
size/xl
size/xs
size/xxl
standards-drift
standards-update
standards-violation
status: blocked
status: in-progress
status: on-hold
status: pending
status: wontfix
sync-failure
sync-report
template-validation-failure
test-failure
tests
type: bug
type: chore
type: enhancement
type: feature
type: refactor
type: release
type: test
type: version
typescript
version
version-branch
version-drift
version-update
wontfix
work-in-progress
bug
chore
documentation
enhancement
feature
priority: critical
priority: high
priority: low
priority: medium
refactor
scope: client
scope: dolibarr
scope: infrastructure
scope: joomla
scope: waas
security
status: blocked
status: duplicate
status: in-progress
status: needs-review
status: wontfix
Automated processes or scripts
Breaking API or functionality change
Something isn't working
Build system changes
CI/CD pipeline changes
Configuration file changes
CSS/styling changes
Dependency updates
Automated deploy failure tracking
Docker configuration changes
Documentation changes
Dolibarr module or extension
This issue or pull request already exists
New feature or request
Generic project or library
Good for newcomers
Repository health check results
Health score 90-100
Health score 50-69
Health score 70-89
Health score below 50
Extra attention is needed
HTML template changes
This doesn't seem right
JavaScript code changes
Joomla extension or component
Major version release (breaking changes)
Minor version release (XX.YY.00)
MokoStandards compliance
Awaiting code review
Requires manual or automated testing
Patch version release (XX.YY.ZZ)
PHP code changes
Critical priority, must be addressed immediately
High priority
Low priority
Medium priority
File push failure requiring attention
Python code changes
Further information is requested
Regression from a previous working state
Release related PR
Release candidate build
Security-related changes
Large change (101-300 lines)
Medium change (31-100 lines)
Small change (11-30 lines)
Extra large change (301-1000 lines)
Extra small change (1-10 lines)
Extremely large change (1000+ lines)
Repository drifted from MokoStandards
MokoStandards sync update
Standards compliance failure
Blocked by another issue or dependency
Currently being worked on
Temporarily on hold
Pending action or decision
This will not be worked on
Bulk sync failure requiring attention
Bulk sync run report
Template workflow validation failure
Automated test failure
Test suite changes
Something isn't working
Maintenance tasks
Enhancement to existing feature
New feature or request
Code refactoring
Release preparation or tracking
Test suite additions or changes
Version-related change
TypeScript code changes
Version bump or release
Version branch related
Version mismatch detected
Version bump and release PR
This will not be worked on
Work in progress, not ready for merge
Something is not working
Maintenance and housekeeping
Documentation improvements
Improvement to existing functionality
New feature or request
Must fix immediately
Should fix soon
Nice to have
Fix when convenient
Code restructuring without behavior change
Client-specific work
Dolibarr modules and customizations
Server, CI, backups, monitoring
Joomla templates and extensions
MokoWaaS platform
Security vulnerability or hardening
Waiting on external dependency
Duplicate of another issue
Being worked on
Ready for review
Will not be addressed
No Label
Milestone
No items
No Milestone
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: MokoConsulting/MokoCassiopeia#74
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "copilot/fix-language-constants-display"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Pull Request
Purpose
Comprehensive template modernization addressing language constant issues, CSS variable architecture, theme management, and user experience improvements across configuration and styling systems.
Change Summary
Language & Translation System
COM_TEMPLATES_*→TPL_MOKOCASSIOPEIA_*UPPER_SNAKE_CASE(removed hyphens)Asset & Resource Loading
template.global.base→template.basetheme-init.js,darkmode-toggle.js)/css/global/→/css/colors/CSS Variable Architecture (200+ variables)
docs/CSS_VARIABLES.md(495 → 1,240 lines)Theme & Color Management
Component Styling
.icon-whiteto use--body-bg(was--body-color)--nav-bg-colorTemplate Configuration
Code Cleanup
Testing Evidence
All changes tested across:
Risk and Rollback
Medium Risk:
Rollback: All changes are additive or reorganizational. Reverting commit restores previous state. Alternative theme files remain for manual selection if needed.
Checklist
Reviewer Notes
Focus areas:
src/media/css/colors/*/- verify all variables present and properly scopedtemplate.css- test button/alert themingtemplateDetails.xml- verify tooltips display correctlyBreaking changes:
Review and Approval
Technical review requested for:
color-mix()💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.
Pull request overview
This PR modernizes the MokoCassiopeia Joomla template by standardizing language constants, restructuring theme/color assets around CSS variables, and improving admin UX and frontend styling (buttons/alerts/forms/search/header branding).
Changes:
Reviewed changes
Copilot reviewed 29 out of 29 changed files in this pull request and generated 10 comments.
Show a summary per file
Comments suppressed due to low confidence (1)
src/templates/joomla.asset.json:83
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
@@ -134,0 +174,4 @@- **Usage**: Navbar brand vertical spacing### `--navbar-brand-margin-end`- **Description**: Right margin for navbar brandDocumentation mismatch:
--navbar-colordefaults are documented as Bootstrap’s rgba values, but in the actual scheme files it’s set tovar(--nav-text-color)(white/gray in this template). Please update the documented defaults to match the template’s real variable values.Documentation mismatch:
--offcanvas-padding-x/--offcanvas-padding-yare documented with a1.5remdefault, but the color scheme files set them to1rem. Please correct the documented defaults (or adjust the variables to match the documentation).@@ -422,0 +1007,4 @@### VM Vendor Menu#### `--vm-vendor-menu-bg`- **Description**: Background for vendor menuDocumentation mismatch:
--padding-x/--padding-yare documented with a1remdefault, but the color scheme files set them to0.15rem. Please update the docs to reflect the current defaults so users don’t end up with unexpected spacing when customizing.@@ -226,0 +289,4 @@--focus-ring-color: #01015640;--input-color: hsl(210, 11%, 15%);--input-bg: hsl(210, 20%, 98%);--input-border-color: hsl(210, 14%, 83%);--body-font-familyhas an extra closing parenthesis at the end of the font stack. When used (e.g.font-family: var(--body-font-family)), this can invalidate the property and cause fallback fonts to be used instead. Remove the trailing)so the variable value is a valid font-family list.@@ -18329,0 +18437,4 @@--btn-border-color: var(--secondary);--btn-hover-color: white;--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary);.site-titleis set tocolor: var(--nav-bg-color), but the header/nav container also usesbackground-color: var(--nav-bg-color). This will make the site title text effectively invisible in the header. Use a foreground variable instead (e.g.,--nav-text-color/--mainmenu-nav-link-color).@@ -18329,0 +18513,4 @@--alert-border-color: color-mix(in srgb, var(--info) 20%, var(--body-bg));}.alert-warning {.container-search .icon-searchis forced tocolor: var(--nav-bg-color), which can override the icon color inside the styled submit button (the button text/icon color is otherwise set viacolor: var(--mainmenu-nav-link-color)). Consider letting the icon inherit from the button (or set it to the same foreground variable) to avoid low-contrast icons.@@ -86,29 +68,35 @@ $darkKey = 'template.dark.' . $colorDarkKey;try {$wa->useStyle('template.light.colors_standard');$wrapperis computed fromfluidContainerbut never used anywhere in this file. Either apply it in the error page markup (as done in index.php) or remove it to avoid dead code.PR description says the Alternative theme files are kept for compatibility, but this change removes the Alternative options from the dropdown and the PR also deletes the
colors_alternative.cssfiles. Please align the PR description with the actual behavior, or keep the files/asset entries if backward compatibility is required.@@ -0,0 +20,4 @@2. Customize the CSS variables below to match your brand colors for dark mode3. In Joomla admin, go to System → Site Templates → MokoCassiopeia4. Under Theme tab, set "Dark Mode Palette" to "Custom"5. Save and view your site in dark mode to see the custom colorsFile header/usage text is inconsistent with the actual file: the PATH/BRIEF still reference a dark-only filename, and the light palette copy-path line has a stray trailing backtick. Please update the header and instructions to match
templates/colors_custom.cssand remove the stray character to avoid confusing users following the copy instructions.@@ -0,0 +37,4 @@--color-primary: #112855;--accent-color-primary: #3f8ff0;--accent-color-secondary: #6fb3ff;The custom palette template instructs users to copy this file for both light and dark custom palettes, but the file only defines variables under :root[data-bs-theme='dark']. If copied to the light palette location, it will have no effect in light mode. Consider including both a light and dark :root block in this template (or provide separate light/dark template files and update the instructions accordingly).