diff --git a/.mokogitea/workflows/issue-branch.yml b/.mokogitea/workflows/issue-branch.yml index 19f5edc3..86ebb9fa 100644 --- a/.mokogitea/workflows/issue-branch.yml +++ b/.mokogitea/workflows/issue-branch.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: MokoGitea.Workflow # INGROUP: mokocli.Automation -# VERSION: 02.59.04 +# VERSION: 02.59.05 # BRIEF: Auto-create feature branch when an issue is opened name: "Universal: Issue Branch" diff --git a/SECURITY.md b/SECURITY.md index 210d04af..c8221357 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -23,7 +23,7 @@ DEFGROUP: Template-Joomla INGROUP: Template-Joomla.Documentation REPO: https://git.mokoconsulting.tech/MokoConsulting/Template-Joomla PATH: /SECURITY.md -VERSION: 02.59.04 +VERSION: 02.59.05 BRIEF: Security vulnerability reporting and handling policy --> diff --git a/source/packages/com_mokosuitebackup/media/css/runbackup.css b/source/packages/com_mokosuitebackup/media/css/runbackup.css new file mode 100644 index 00000000..f29dea3a --- /dev/null +++ b/source/packages/com_mokosuitebackup/media/css/runbackup.css @@ -0,0 +1,84 @@ +/* + * @package MokoSuiteBackup + * @subpackage com_mokosuitebackup + * @copyright Copyright (C) 2026 Moko Consulting. All rights reserved. + * @license GNU General Public License version 3 or later; see LICENSE + * + * Full-screen backup progress screen (view=runbackup). Loaded via the Joomla + * Web Asset Manager (asset com_mokosuitebackup.runbackup). + */ + +/* Full-screen backup runs on a black backdrop. */ +html, +body { + background-color: #000 !important; +} + +/* Colours are pulled from the Atum admin template's own CSS custom properties + so the screen matches whatever theme the site runs, with Bootstrap and then + a literal as progressive fallbacks. */ +.msb-runbackup { + --msb-accent: var(--template-link-color, var(--bs-link-color, #2a69b8)); + --msb-accent2: var(--template-special-color, var(--msb-accent)); + --msb-success: var(--template-success-color, var(--bs-success, #2f7d32)); + --msb-danger: var(--template-danger-color, var(--bs-danger, #c52128)); + --msb-track: var(--template-bg-light, var(--bs-gray-200, #edf0f5)); + + padding: 0 1rem; +} + +/* overflow:hidden clips the full-bleed bar to the card's rounded corners. */ +.msb-runbackup .card { + overflow: hidden; +} + +.msb-rb-progress { + height: 2.5rem; + background: var(--msb-track); + overflow: hidden; +} + +.msb-rb-bar { + position: relative; + height: 100%; + width: 0; + display: flex; + align-items: center; + justify-content: center; + color: #fff; + font-weight: 600; + font-size: .95rem; + white-space: nowrap; + background-color: var(--msb-accent); + background-image: linear-gradient(90deg, var(--msb-accent), var(--msb-accent2)); + transition: width .35s ease; +} + +.msb-rb-bar.is-animated::after { + content: ""; + position: absolute; + inset: 0; + background-image: linear-gradient(45deg, rgba(255, 255, 255, .18) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .18) 50%, rgba(255, 255, 255, .18) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; + animation: msb-rb-stripes 1s linear infinite; +} + +.msb-rb-bar.is-success { + background-image: none; + background-color: var(--msb-success); +} + +.msb-rb-bar.is-danger { + background-image: none; + background-color: var(--msb-danger); +} + +@keyframes msb-rb-stripes { + from { + background-position: 1rem 0; + } + + to { + background-position: 0 0; + } +} diff --git a/source/packages/com_mokosuitebackup/media/joomla.asset.json b/source/packages/com_mokosuitebackup/media/joomla.asset.json index f967399c..12194cba 100644 --- a/source/packages/com_mokosuitebackup/media/joomla.asset.json +++ b/source/packages/com_mokosuitebackup/media/joomla.asset.json @@ -9,6 +9,11 @@ "name": "com_mokosuitebackup.admin", "type": "style", "uri": "com_mokosuitebackup/css/admin.css" + }, + { + "name": "com_mokosuitebackup.runbackup", + "type": "style", + "uri": "com_mokosuitebackup/css/runbackup.css" } ] } diff --git a/source/packages/com_mokosuitebackup/mokosuitebackup.xml b/source/packages/com_mokosuitebackup/mokosuitebackup.xml index ca225c4c..22bab237 100644 --- a/source/packages/com_mokosuitebackup/mokosuitebackup.xml +++ b/source/packages/com_mokosuitebackup/mokosuitebackup.xml @@ -17,7 +17,7 @@ display label there. --> MokoSuiteBackup - 02.59.04 + 02.59.05 2026-06-02 Moko Consulting hello@mokoconsulting.tech diff --git a/source/packages/com_mokosuitebackup/sql/updates/mysql/02.59.05.sql b/source/packages/com_mokosuitebackup/sql/updates/mysql/02.59.05.sql new file mode 100644 index 00000000..0105d7ae --- /dev/null +++ b/source/packages/com_mokosuitebackup/sql/updates/mysql/02.59.05.sql @@ -0,0 +1 @@ +/* 02.59.05 — no schema changes */ diff --git a/source/packages/com_mokosuitebackup/tmpl/runbackup/default.php b/source/packages/com_mokosuitebackup/tmpl/runbackup/default.php index d15582c5..0238f35f 100644 --- a/source/packages/com_mokosuitebackup/tmpl/runbackup/default.php +++ b/source/packages/com_mokosuitebackup/tmpl/runbackup/default.php @@ -88,56 +88,11 @@ $config = [ 'leaveWarn' => Text::_('COM_MOKOJOOMBACKUP_RUNBACKUP_LEAVE_WARNING'), ], ]; -?> - +// All screen CSS loads via the Joomla Web Asset Manager (media/joomla.asset.json), +// not an inline