From 73390def22c220785eb90c0b34831ab8551dfe7a Mon Sep 17 00:00:00 2001 From: Mikhaela Tapia Date: Tue, 25 Nov 2025 14:31:57 +0800 Subject: [PATCH 1/2] fix jumping when dragging color picker --- .../color-schemes/color-scheme-picker.js | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/plugins/global-settings/color-schemes/color-scheme-picker.js b/src/plugins/global-settings/color-schemes/color-scheme-picker.js index 7c5f44cdb..40a96a3c0 100644 --- a/src/plugins/global-settings/color-schemes/color-scheme-picker.js +++ b/src/plugins/global-settings/color-schemes/color-scheme-picker.js @@ -236,22 +236,24 @@ const ColorSchemePicker = props => { } } - const currentItem = cloneDeep( itemInEdit ) + setItemInEdit( prevItem => { + const currentItem = prevItem - if ( ! schemeHasValue( currentItem.colorScheme ) && changeDefaultName ) { - currentItem.name = currentItem?.key === 'scheme-default-1' ? 'Color Scheme 1' : 'Color Scheme 2' - } + if ( ! schemeHasValue( currentItem.colorScheme ) && changeDefaultName ) { + currentItem.name = currentItem?.key === 'scheme-default-1' ? 'Color Scheme 1' : 'Color Scheme 2' + } - currentItem.colorScheme[ property ][ currentState ] = color + currentItem.colorScheme[ property ][ currentState ] = color - if ( property === 'backgroundColor' && isGradient( color ) ) { - currentItem.colorScheme[ property ].desktopHover = '' - currentItem.colorScheme[ property ].desktopParentHover = '' - } + if ( property === 'backgroundColor' && isGradient( color ) ) { + currentItem.colorScheme[ property ].desktopHover = '' + currentItem.colorScheme[ property ].desktopParentHover = '' + } - setItemInEdit( currentItem ) + updateColorSchemes( currentItem ) - updateColorSchemes( currentItem ) + return currentItem + } ) } // For updating option to show the color scheme in color pickers From a1cd0a8124b3f368caf77a6a3d273aefa0eca212 Mon Sep 17 00:00:00 2001 From: Mikhaela Tapia Date: Tue, 25 Nov 2025 14:50:12 +0800 Subject: [PATCH 2/2] add comment --- .../global-settings/color-schemes/color-scheme-picker.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/global-settings/color-schemes/color-scheme-picker.js b/src/plugins/global-settings/color-schemes/color-scheme-picker.js index 40a96a3c0..6f5a401ed 100644 --- a/src/plugins/global-settings/color-schemes/color-scheme-picker.js +++ b/src/plugins/global-settings/color-schemes/color-scheme-picker.js @@ -237,7 +237,8 @@ const ColorSchemePicker = props => { } setItemInEdit( prevItem => { - const currentItem = prevItem + // clone deep causes the color picker to jump when dragging, so we use a spread operator to create a new object + const currentItem = { ...prevItem } if ( ! schemeHasValue( currentItem.colorScheme ) && changeDefaultName ) { currentItem.name = currentItem?.key === 'scheme-default-1' ? 'Color Scheme 1' : 'Color Scheme 2'