Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/phpunit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:

- name: Run JavaScript tests
run: |
npm run test:cookie-notice
npm run test:column-link
npm run test:table-of-contents
npm run test:accessibility-utils
npm run test:carousel-accessibility
Expand Down
10 changes: 10 additions & 0 deletions .wordpress-playground/blueprint.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,16 @@
"activate": true
}
},
{
"step": "installPlugin",
"pluginZipFile": {
"resource": "wordpress.org/plugins",
"slug": "frontconsent"
},
"options": {
"activate": true
}
},
{
"step": "installPlugin",
"pluginZipFile": {
Expand Down
6 changes: 4 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ Guidelines for AI coding agents working on this WordPress plugin.

## Project Overview

**FrontBlocks Site Tools** is a free, all-in-one WordPress plugin covering the everyday needs of a site — not just a block-extension add-on. It bundles Gutenberg/GeneratePress block enhancements alongside general-purpose site utilities: cookie consent, maintenance mode, image management (size control + WebP/AVIF delivery), social login, and more. New features do not need to be block-related to belong here — evaluate additions against "does a typical WordPress site commonly need this," not "is this a block." The PRO companion lives at `wp-content/plugins/frontblocks-pro/`.
**FrontBlocks Site Tools** is a free, all-in-one WordPress plugin covering the everyday needs of a site — not just a block-extension add-on. It bundles Gutenberg/GeneratePress block enhancements alongside general-purpose site utilities: maintenance mode, image management (size control + WebP/AVIF delivery), social login, and more. New features do not need to be block-related to belong here — evaluate additions against "does a typical WordPress site commonly need this," not "is this a block." The PRO companion lives at `wp-content/plugins/frontblocks-pro/`.

**Cookie Notice is deprecated here and moving to FrontConsent** (`wp-content/plugins/frontconsent/`), a dedicated standalone plugin. It still ships and works in FrontBlocks during the transition (see `includes/Frontend/CookieNotice.php` and `includes/Admin/CookieNoticeDeprecationNotice.php`), but do not extend it further — new cookie-consent work belongs in FrontConsent's own `AGENTS.md`. FrontBlocks' module disables itself automatically once FrontConsent is active (`FRCN_VERSION` defined), and FrontConsent migrates the site's settings/stats on activation.

- **PHP minimum:** 7.0
- **WordPress minimum:** 5.8 (required for the image-format-output filters used by Image Management)
Expand Down Expand Up @@ -148,7 +150,7 @@ Every feature is a self-contained class following the same shape:

Actions for making a release:
- Update the Stable Tag in `readme.txt` and the plugin version in its header and `CCRMRE_VERSION` constant.
- Finalize the `= Unreleased =` changelog entries under the released version and create a new empty `= Unreleased =` section.
- Finalize the `= Unreleased =` changelog entries under the released version.
- Create the matching GitHub release and tag.

## Test Enforcement
Expand Down
57 changes: 19 additions & 38 deletions assets/admin/settings.css
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,21 @@
--tw-color-red-200: oklch(88.5% 0.062 18.334);
--tw-color-red-600: oklch(57.7% 0.245 27.325);
--tw-color-red-700: oklch(50.5% 0.213 27.518);
--tw-color-amber-50: oklch(98.7% 0.022 95.277);
--tw-color-amber-200: oklch(92.4% 0.12 95.746);
--tw-color-amber-600: oklch(66.6% 0.179 58.318);
--tw-color-amber-800: oklch(47.3% 0.137 46.201);
--tw-color-amber-900: oklch(41.4% 0.112 45.904);
--tw-color-yellow-50: oklch(98.7% 0.026 102.212);
--tw-color-yellow-200: oklch(94.5% 0.129 101.54);
--tw-color-yellow-400: oklch(85.2% 0.199 91.936);
--tw-color-yellow-700: oklch(55.4% 0.135 66.442);
--tw-color-green-50: oklch(98.2% 0.018 155.826);
--tw-color-green-200: oklch(92.5% 0.084 155.995);
--tw-color-green-700: oklch(52.7% 0.154 150.069);
--tw-color-green-800: oklch(44.8% 0.119 151.328);
--tw-color-blue-50: oklch(97% 0.014 254.604);
--tw-color-blue-200: oklch(88.2% 0.059 254.128);
--tw-color-blue-400: oklch(70.7% 0.165 254.624);
--tw-color-blue-700: oklch(48.8% 0.243 264.376);
--tw-color-blue-800: oklch(42.4% 0.199 265.638);
--tw-color-blue-900: oklch(37.9% 0.146 265.522);
--tw-color-gray-50: oklch(98.5% 0.002 247.839);
--tw-color-gray-200: oklch(92.8% 0.006 264.531);
--tw-color-gray-300: oklch(87.2% 0.01 258.338);
Expand All @@ -36,6 +36,7 @@
--tw-color-gray-900: oklch(21% 0.034 264.665);
--tw-color-white: #fff;
--tw-spacing: 0.25rem;
--tw-container-xl: 36rem;
--tw-text-xs: 0.75rem;
--tw-text-xs--line-height: calc(1 / 0.75);
--tw-text-sm: 0.875rem;
Expand Down Expand Up @@ -218,9 +219,6 @@
}
}
@layer utilities {
.frbl-settings-wrapper .tw\:m-0 {
margin: 0px;
}
.frbl-settings-wrapper .tw\:mt-0 {
margin-top: 0px;
}
Expand Down Expand Up @@ -278,18 +276,15 @@
.frbl-settings-wrapper .tw\:h-5 {
height: calc(var(--tw-spacing) * 5);
}
.frbl-settings-wrapper .tw\:h-10 {
height: calc(var(--tw-spacing) * 10);
}
.frbl-settings-wrapper .tw\:w-5 {
width: calc(var(--tw-spacing) * 5);
}
.frbl-settings-wrapper .tw\:w-32 {
width: calc(var(--tw-spacing) * 32);
}
.frbl-settings-wrapper .tw\:w-full {
width: 100%;
}
.frbl-settings-wrapper .tw\:max-w-xl {
max-width: var(--tw-container-xl);
}
.frbl-settings-wrapper .tw\:flex-1 {
flex: 1;
}
Expand All @@ -302,9 +297,6 @@
.frbl-settings-wrapper .tw\:grid-cols-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.frbl-settings-wrapper .tw\:grid-cols-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.frbl-settings-wrapper .tw\:items-center {
align-items: center;
}
Expand All @@ -326,11 +318,6 @@
.frbl-settings-wrapper .tw\:gap-6 {
gap: calc(var(--tw-spacing) * 6);
}
:where(.frbl-settings-wrapper .tw\:space-y-2 > :not(:last-child)) {
--tw-space-y-reverse: 0;
margin-block-start: calc(calc(var(--tw-spacing) * 2) * var(--tw-space-y-reverse));
margin-block-end: calc(calc(var(--tw-spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
}
:where(.frbl-settings-wrapper .tw\:space-y-6 > :not(:last-child)) {
--tw-space-y-reverse: 0;
margin-block-start: calc(calc(var(--tw-spacing) * 6) * var(--tw-space-y-reverse));
Expand Down Expand Up @@ -360,8 +347,8 @@
border-left-style: var(--tw-border-style);
border-left-width: 4px;
}
.frbl-settings-wrapper .tw\:border-amber-200 {
border-color: var(--tw-color-amber-200);
.frbl-settings-wrapper .tw\:border-blue-200 {
border-color: var(--tw-color-blue-200);
}
.frbl-settings-wrapper .tw\:border-blue-400 {
border-color: var(--tw-color-blue-400);
Expand All @@ -387,9 +374,6 @@
.frbl-settings-wrapper .tw\:border-yellow-400 {
border-color: var(--tw-color-yellow-400);
}
.frbl-settings-wrapper .tw\:bg-amber-50 {
background-color: var(--tw-color-amber-50);
}
.frbl-settings-wrapper .tw\:bg-blue-50 {
background-color: var(--tw-color-blue-50);
}
Expand Down Expand Up @@ -453,9 +437,6 @@
.frbl-settings-wrapper .tw\:text-center {
text-align: center;
}
.frbl-settings-wrapper .tw\:font-mono {
font-family: var(--tw-font-mono);
}
.frbl-settings-wrapper .tw\:text-2xl {
font-size: var(--tw-text-2xl);
line-height: var(--tw-leading, var(--tw-text-2xl--line-height));
Expand Down Expand Up @@ -492,24 +473,21 @@
--tw-font-weight: var(--tw-font-weight-semibold);
font-weight: var(--tw-font-weight-semibold);
}
.frbl-settings-wrapper .tw\:whitespace-nowrap {
white-space: nowrap;
}
.frbl-settings-wrapper .tw\:text-amber-600 {
color: var(--tw-color-amber-600);
}
.frbl-settings-wrapper .tw\:text-amber-800 {
color: var(--tw-color-amber-800);
}
.frbl-settings-wrapper .tw\:text-amber-900 {
color: var(--tw-color-amber-900);
}
.frbl-settings-wrapper .tw\:text-blue-400 {
color: var(--tw-color-blue-400);
}
.frbl-settings-wrapper .tw\:text-blue-700 {
color: var(--tw-color-blue-700);
}
.frbl-settings-wrapper .tw\:text-blue-800 {
color: var(--tw-color-blue-800);
}
.frbl-settings-wrapper .tw\:text-blue-900 {
color: var(--tw-color-blue-900);
}
.frbl-settings-wrapper .tw\:text-gray-500 {
color: var(--tw-color-gray-500);
}
Expand All @@ -525,6 +503,9 @@
.frbl-settings-wrapper .tw\:text-green-700 {
color: var(--tw-color-green-700);
}
.frbl-settings-wrapper .tw\:text-green-800 {
color: var(--tw-color-green-800);
}
.frbl-settings-wrapper .tw\:text-red-600 {
color: var(--tw-color-red-600);
}
Expand Down
Loading
Loading