feat(template): header background opacity + position theming; remove unused codeception.yml #170
@@ -5,7 +5,7 @@
|
||||
# FILE INFORMATION
|
||||
# DEFGROUP: MokoGIT.Workflow
|
||||
# INGROUP: MokoCLI.Automation
|
||||
# VERSION: 02.29.11
|
||||
# VERSION: 02.30.04
|
||||
# BRIEF: Auto-create feature branch when an issue is opened
|
||||
|
||||
name: "Universal: Issue Branch"
|
||||
|
||||
+5
-2
@@ -8,23 +8,26 @@
|
||||
DEFGROUP: Joomla.Template.Site
|
||||
INGROUP: MokoOnyx.Documentation
|
||||
PATH: ./CHANGELOG.md
|
||||
VERSION: 02.29.11
|
||||
VERSION: 02.30.04
|
||||
BRIEF: Changelog file documenting version history of MokoOnyx
|
||||
-->
|
||||
|
||||
# Changelog — MokoOnyx (VERSION: 02.29.11)
|
||||
# Changelog — MokoOnyx (VERSION: 02.30.04)
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- Accessible GDPR cookie-consent banner (opt-in via template settings): a `role="dialog"` banner with focus trap, Escape-to-decline, `aria-live` status, and `localStorage` persistence. Blocks Google Analytics / Tag Manager via Consent Mode (`analytics_storage` defaults to `denied` until the visitor accepts) and can be reopened from any `[data-cookie-open]` control. Optional privacy-policy link.
|
||||
- Tabbed user profile edit and registration screens: `com_users` fieldsets are grouped into Bootstrap tabs via the shared `layouts/mokoonyx/profile-tabset` layout (Account, Basic Settings, Passkey Login, Multi-factor Authentication, plus any plugin-contributed fieldsets such as MokoSuiteCRM / MokoSuiteCommunity)
|
||||
- Header background theming controls: new `--header-background-position`, `--header-background-opacity`, and `--header-background-filter` variables let each theme place, fade, and colour-treat the header image independently. The image renders on a `.container-header::before` pseudo-element so `--header-background-opacity` fades only the artwork, not the logo or menu.
|
||||
|
||||
### Changed
|
||||
- Drawer menu links now follow the drawer's own foreground colour (`--offcanvas-color`) instead of the header navbar link colour, so they adapt to the active theme
|
||||
- Header background now uses the branding `header-background.svg` in both themes (`cover`, `position: bottom`, `0.35` opacity). Dark theme inverts the monochrome artwork via `filter: invert(1)`, mirroring the light treatment. Light and dark palettes are kept in sync across their standard and custom (`source/templates/*.custom.css`) files.
|
||||
|
||||
### Fixed
|
||||
- Extensions Manager now shows the template as **"Template - MokoOnyx"** (Type - Name standard): added the `MOKOONYX` sys.ini key that Joomla's `Text::_($item->name)` actually resolves (uppercased element name). The manifest `<name>` stays `mokoonyx` (it is the element/folder, so it must not change).
|
||||
- Drawer menu links were invisible (white-on-white) in the light theme; they now render correctly in both light and dark themes
|
||||
- Light theme palette was missing the `--color-active` variable that the dark palette defined; added it so all four theme files (light/dark × standard/custom) declare an identical variable set
|
||||
|
||||
### Removed
|
||||
- Retired the right drawer entirely: the `drawer-right` template position, its toggle button, offcanvas markup, the `drawerRightIcon` parameter, and the associated CSS / JS / RTL rules. On update, any modules still assigned to `drawer-right` are automatically moved to the `sidebar-right` position
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
INGROUP: MokoOnyx.Governance
|
||||
REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx
|
||||
FILE: SECURITY.md
|
||||
VERSION: 02.29.11
|
||||
VERSION: 02.30.04
|
||||
BRIEF: Security policy and vulnerability reporting process for MokoOnyx.
|
||||
PATH: /SECURITY.md
|
||||
NOTE: This policy is process oriented and does not replace secure engineering practices.
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
namespace: Tests
|
||||
paths:
|
||||
tests: tests
|
||||
output: tests/_output
|
||||
data: tests/_data
|
||||
support: tests/_support
|
||||
envs: tests/_envs
|
||||
settings:
|
||||
shuffle: false
|
||||
lint: true
|
||||
colors: true
|
||||
memory_limit: 1024M
|
||||
coverage:
|
||||
enabled: true
|
||||
include:
|
||||
- src/*
|
||||
exclude:
|
||||
- src/vendor/*
|
||||
- src/media/*
|
||||
- src/language/*
|
||||
extensions:
|
||||
enabled:
|
||||
- Codeception\Extension\RunFailed
|
||||
params:
|
||||
- env
|
||||
modules:
|
||||
config:
|
||||
Db:
|
||||
dsn: 'mysql:host=localhost;dbname=joomla_test'
|
||||
user: 'root'
|
||||
password: ''
|
||||
dump: tests/_data/dump.sql
|
||||
populate: true
|
||||
cleanup: true
|
||||
@@ -1 +0,0 @@
|
||||
Sat May 23 23:50:00 CDT 2026
|
||||
@@ -10,7 +10,7 @@
|
||||
* INGROUP: MokoOnyx
|
||||
* REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx
|
||||
* PATH: /html/layouts/joomla/module/card.php
|
||||
* VERSION: 02.29.11
|
||||
* VERSION: 02.30.04
|
||||
* BRIEF: Custom card module chrome — renders module titles for all modules
|
||||
*/
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
* INGROUP: MokoOnyx.Layouts
|
||||
* REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx
|
||||
* PATH: /src/html/layouts/mokoonyx/article-metadata.php
|
||||
* VERSION: 02.29.11
|
||||
* VERSION: 02.30.04
|
||||
* BRIEF: Article metadata footer layout -- renders jcfields grouped by field group
|
||||
*/
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
* INGROUP: MokoOnyx.Accessibility
|
||||
* REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx
|
||||
* PATH: ./media/css/a11y-high-contrast.css
|
||||
* VERSION: 02.29.11
|
||||
* VERSION: 02.30.04
|
||||
* BRIEF: High-contrast stylesheet for accessibility toolbar
|
||||
*/
|
||||
|
||||
|
||||
@@ -14222,14 +14222,34 @@ fieldset>* {
|
||||
}
|
||||
|
||||
.container-header {
|
||||
position: relative;
|
||||
z-index: 100;
|
||||
background-color: var(--header-background-color, #adadad);
|
||||
background-image: var(--header-background-image, url('../../../../../../media/templates/site/mokoonyx/images/bg.svg'));
|
||||
background-size: var(--header-background-size, auto);
|
||||
background-repeat: var(--header-background-repeat, repeat);
|
||||
box-shadow: 0 5px 5px hsla(0, 0%, 0%, 0.03) inset;
|
||||
}
|
||||
|
||||
/*
|
||||
* Header background IMAGE lives on this pseudo-element, not on .container-header
|
||||
* itself, so --header-background-opacity fades ONLY the image. Setting opacity on
|
||||
* .container-header directly would also fade the logo, menu and all other content.
|
||||
* Layer order: solid --header-background-color (element bg, back) < faded image
|
||||
* (this pseudo, z-index -1) < header content (normal flow, front).
|
||||
*/
|
||||
.container-header::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: -1;
|
||||
background-image: var(--header-background-image, url('../../../../../../media/templates/site/mokoonyx/images/header-background.svg'));
|
||||
background-size: var(--header-background-size, cover);
|
||||
background-repeat: var(--header-background-repeat, repeat);
|
||||
background-position: var(--header-background-position, center);
|
||||
background-attachment: var(--header-background-attachment, fixed);
|
||||
opacity: var(--header-background-opacity, 1);
|
||||
filter: var(--header-background-filter, none);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Sticky header: override z-index to stay above all content */
|
||||
.container-header.sticky-top {
|
||||
z-index: 1020;
|
||||
|
||||
@@ -211,10 +211,13 @@ color-scheme: dark;
|
||||
|
||||
/* ===== HEADER BACKGROUND ===== */
|
||||
--header-background-color: #1a1f2b;
|
||||
--header-background-image: url('../../../../../../media/templates/site/mokoonyx/images/bg.svg');
|
||||
--header-background-image: url('../../../../../../media/templates/site/mokoonyx/images/header-background.svg');
|
||||
--header-background-attachment: fixed;
|
||||
--header-background-repeat: repeat;
|
||||
--header-background-size: auto;
|
||||
--header-background-size: cover;
|
||||
--header-background-position: bottom;
|
||||
--header-background-opacity: 0.35;
|
||||
--header-background-filter: invert(1);
|
||||
|
||||
|
||||
/* ===== CONTAINER BACKGROUNDS ===== */
|
||||
|
||||
@@ -181,6 +181,7 @@ color-scheme: light;
|
||||
/* ===== LINKS ===== */
|
||||
--color-link: #224FAA;
|
||||
--color-hover: var(--accent-color-primary);
|
||||
--color-active: var(--mainmenu-nav-link-color);
|
||||
--link-color: #224faa;
|
||||
--link-color-rgb: 34, 79, 170;
|
||||
--link-decoration: underline;
|
||||
@@ -209,11 +210,14 @@ color-scheme: light;
|
||||
|
||||
|
||||
/* ===== HEADER BACKGROUND ===== */
|
||||
--header-background-color: #adadad;
|
||||
--header-background-image: url('../../../../../../media/templates/site/mokoonyx/images/bg.svg');
|
||||
--header-background-color: #dfdfdf;
|
||||
--header-background-image: url('../../../../../../media/templates/site/mokoonyx/images/header-background.svg');
|
||||
--header-background-attachment: fixed;
|
||||
--header-background-repeat: repeat;
|
||||
--header-background-size: auto;
|
||||
--header-background-size: cover;
|
||||
--header-background-position: bottom;
|
||||
--header-background-opacity: 0.35;
|
||||
--header-background-filter: none;
|
||||
|
||||
|
||||
/* ===== CONTAINER BACKGROUNDS ===== */
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 96 KiB |
@@ -35,7 +35,7 @@
|
||||
</updateservers>
|
||||
<dlid prefix="dlid=" suffix=""/>
|
||||
<name>mokoonyx</name>
|
||||
<version>02.29.11</version>
|
||||
<version>02.30.04</version>
|
||||
<scriptfile>script.php</scriptfile>
|
||||
<creationDate>2026-05-16</creationDate>
|
||||
<author>Jonathan Miller || Moko Consulting</author>
|
||||
|
||||
@@ -211,10 +211,13 @@ color-scheme: dark;
|
||||
|
||||
/* ===== HEADER BACKGROUND ===== */
|
||||
--header-background-color: #1a1f2b;
|
||||
--header-background-image: url('../../../../../../media/templates/site/mokoonyx/images/bg.svg');
|
||||
--header-background-image: url('../../../../../../media/templates/site/mokoonyx/images/header-background.svg');
|
||||
--header-background-attachment: fixed;
|
||||
--header-background-repeat: repeat;
|
||||
--header-background-size: auto;
|
||||
--header-background-size: cover;
|
||||
--header-background-position: bottom;
|
||||
--header-background-opacity: 0.35;
|
||||
--header-background-filter: invert(1);
|
||||
|
||||
|
||||
/* ===== CONTAINER BACKGROUNDS ===== */
|
||||
|
||||
@@ -181,6 +181,7 @@ color-scheme: light;
|
||||
/* ===== LINKS ===== */
|
||||
--color-link: #224FAA;
|
||||
--color-hover: var(--accent-color-primary);
|
||||
--color-active: var(--mainmenu-nav-link-color);
|
||||
--link-color: #224faa;
|
||||
--link-color-rgb: 34, 79, 170;
|
||||
--link-decoration: underline;
|
||||
@@ -209,11 +210,14 @@ color-scheme: light;
|
||||
|
||||
|
||||
/* ===== HEADER BACKGROUND ===== */
|
||||
--header-background-color: #adadad;
|
||||
--header-background-image: url('../../../../../../media/templates/site/mokoonyx/images/bg.svg');
|
||||
--header-background-color: #dfdfdf;
|
||||
--header-background-image: url('../../../../../../media/templates/site/mokoonyx/images/header-background.svg');
|
||||
--header-background-attachment: fixed;
|
||||
--header-background-repeat: repeat;
|
||||
--header-background-size: auto;
|
||||
--header-background-size: cover;
|
||||
--header-background-position: bottom;
|
||||
--header-background-opacity: 0.35;
|
||||
--header-background-filter: none;
|
||||
|
||||
|
||||
/* ===== CONTAINER BACKGROUNDS ===== */
|
||||
|
||||
Reference in New Issue
Block a user