11 Commits
Author SHA1 Message Date
Mark Gregory a433897538 Implemented the dynamic theme manager and merged the supplied themes.
Included

* Standardised all six theme.json files to manifest version 2:
    * admin
    * common
    * corporate
    * saasland
    * swiss
    * welcome
* Every manifest now uses the same fields and structure.
* Separate active frontend and backend themes.
* One-click theme activation.
* Theme preview in a new browser tab without activating it.
* Theme cards showing:
    * Preview
    * Name
    * Version
    * Author
    * Description
    * Theme type
    * Active status
* Dynamic theme-specific settings.
* Support for:
    * Text
    * URL
    * Colour
    * Textarea
    * Checkbox fields
    * Variants
    * Appearance
    * Accent palettes
* Theme ZIP installation.
* Theme ZIP export.
* Asset optimisation.
* Accessibility validation.
* Safe ZIP path validation.
* Theme inheritance.
* Active themes cannot be uninstalled.
* Parent themes cannot be uninstalled while child themes depend on them.
* Stylist administration routes now require an authenticated, verified user.
* Manifest validation now restricts theme types to:
    * frontend
    * backend
    * common
* Added activation tests for independent frontend and backend theme selection.

The supplied corporate theme was incomplete, so I added the required backend entry view and placeholder asset files while preserving its supplied layout.
2026-07-28 12:54:10 +01:00
Mark Gregory f834328044 themes how part of site settings 2026-07-28 12:43:19 +01:00
Mark Gregory df5d6077cb structure changes 2026-07-27 14:17:30 +01:00
Mark Gregory 0c26d8db8f Visual header, body, and footer composition screen.
* Drag-and-drop section ordering with automatic saving.
* Add existing reusable documents to regions.
* Remove placements without deleting documents.
* Create independent page-specific copies.
* Shared-document usage warnings.
* Document creation, duplication, deletion protection and filtering.
* Draft and published document states.
* Document and placement scheduling.
* Authenticated homepage preview.
* Draft sections displayed in preview with a clear draft marker.
* Content Composer added to the administration sidebar.
* Public rendering now respects:
    * Publication status
    * Future publication dates
    * Expiry dates
    * Placement start and end dates
    * Enabled state
* Original Saasland homepage remains as the fallback when no composition exists.
2026-07-27 08:39:20 +01:00
Mark Gregory 3a93d4eaea phase oen updates 2026-07-27 08:19:38 +01:00
Mark Gregory 09cad63280 front end fixes 2026-07-27 07:41:54 +01:00
Mark Gregory 108f95dbfa front end fixes 2026-07-27 07:37:11 +01:00
Mark Gregory 4988cb85bd breakign changes 2026-07-24 15:16:10 +01:00
Mark Gregory dd23205d0b style updates 2026-07-24 14:59:44 +01:00
Mark Gregory 63e00d99c1 tests updates 2026-07-24 14:19:51 +01:00
Mark Gregory 55bf5ea995 New Branch Structure 2026-07-23 17:23:57 +01:00