From aa69c4a41a09ffb623fc7318755420a710e01032 Mon Sep 17 00:00:00 2001 From: RaduCristianPopescu <119046336+RaduCristianPopescu@users.noreply.github.com> Date: Thu, 25 Sep 2025 17:49:36 +0300 Subject: [PATCH 1/3] feat: add watermark to the advanced submenu --- .../parts/connected/settings/Menu.js | 4 + .../parts/connected/settings/Watermark.js | 79 +++++++++++++++++++ .../parts/connected/settings/index.js | 26 +++--- inc/admin.php | 9 +++ 4 files changed, 109 insertions(+), 9 deletions(-) create mode 100644 assets/src/dashboard/parts/connected/settings/Watermark.js diff --git a/assets/src/dashboard/parts/connected/settings/Menu.js b/assets/src/dashboard/parts/connected/settings/Menu.js index c688113d0..90ebf8b3c 100644 --- a/assets/src/dashboard/parts/connected/settings/Menu.js +++ b/assets/src/dashboard/parts/connected/settings/Menu.js @@ -28,6 +28,10 @@ const menuItems = [ label: strings.advanced_settings_menu_item, value: 'compression', children: [ + { + label: strings.settings_watermark_menu_item, + value: 'watermark' + }, { label: strings.settings_compression_menu_item, value: 'compression' diff --git a/assets/src/dashboard/parts/connected/settings/Watermark.js b/assets/src/dashboard/parts/connected/settings/Watermark.js new file mode 100644 index 000000000..3a5d1a3e2 --- /dev/null +++ b/assets/src/dashboard/parts/connected/settings/Watermark.js @@ -0,0 +1,79 @@ +/** + * WordPress dependencies. + */ +import { + BaseControl, + Button +} from '@wordpress/components'; + +import { Icon, external } from '@wordpress/icons'; + +const Watermark = () => { + const { options_strings } = optimoleDashboardApp.strings; + + const containerStyle = { + border: '2px solid #DCDCDC', + borderRadius: '8px', + padding: '16px' + }; + + return ( + <> +
+

+ {options_strings.watermark_media_title} +

+

+ {options_strings.watermark_media_desc} +

+
+ +
+
+
+
+ {options_strings.watermark_info_1} +
+
+
+ {options_strings.watermark_info_2} +
+
+
+ {options_strings.watermark_info_3} +
+
+ +
+ + +
+

+ {options_strings.watermark_footer} +

+
+ + ); +}; + +export default Watermark; diff --git a/assets/src/dashboard/parts/connected/settings/index.js b/assets/src/dashboard/parts/connected/settings/index.js index 4bda66ecb..14b802502 100644 --- a/assets/src/dashboard/parts/connected/settings/index.js +++ b/assets/src/dashboard/parts/connected/settings/index.js @@ -10,6 +10,7 @@ import Lazyload from './Lazyload'; import Exclusions from './Exclusions'; import OffloadMedia from './OffloadMedia'; import CloudLibrary from './CloudLibrary'; +import Watermark from './Watermark'; import { saveSettings } from '../../../utils/api'; import { toggleDamSidebarLink } from '../../../utils/helpers'; @@ -129,16 +130,23 @@ const Settings = ({ /> ) } + { 'watermark' === tab && ( + + ) } +
- + { 'watermark' !== tab && ( + + ) } { ( 'disabled' === settings.autoquality && 'compression' === tab ) && (
-

+ {options_strings.watermark_footer} -

+ ); From f5636ef55dce20fa76468ce2ed2db5e2275f8047 Mon Sep 17 00:00:00 2001 From: RaduCristianPopescu <119046336+RaduCristianPopescu@users.noreply.github.com> Date: Fri, 26 Sep 2025 10:44:26 +0300 Subject: [PATCH 3/3] chore: copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- inc/admin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/admin.php b/inc/admin.php index ba7bd5362..eb651434b 100755 --- a/inc/admin.php +++ b/inc/admin.php @@ -1714,7 +1714,7 @@ private function get_dashboard_strings() { 'watermark_media_title' => __( 'Watermarks', 'optimole-wp' ), 'learn_more' => __( 'Learn more', 'optimole-wp' ), 'open_optimole_dashboard' => __( 'Open Optimole Dashboard', 'optimole-wp' ), - 'watermark_footer' => __( 'Watermark rules and exclusions are fully managed in your Optimole Dashboard.', 'optimole-wp' ), + 'watermark_footer' => __( 'Watermark rules and exclusions are fully managed in your Optimole Dashboard.', 'optimole-wp' ), 'watermark_info_1' => __( 'Choose from multiple watermark positions and set opacity.', 'optimole-wp' ), 'watermark_info_2' => __( 'Set different watermarks for different image sizes.', 'optimole-wp' ), 'watermark_info_3' => __( 'Create rule-based targeting by filename, page URL, class, and more.', 'optimole-wp' ),