From 08bd479cf9277ee3e4ee136a06b9ff54d802f5e3 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Tue, 18 Feb 2025 01:51:02 -0600 Subject: [PATCH 1/3] fixed comment --- src/browser/base/zen-components/ZenGradientGenerator.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index aa83a0149..29b46b6f3 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -181,7 +181,7 @@ this.dots.push({ ID: id, Element: dot, - Position: { x: null, y: null }, // WARNING: these values are not correct because dot pads bound rect does not exist yet + Position: { x: null, y: null }, // at some point possition should instead be stored as percentege just so that the size of the color picker does not matter. }); } if (!fromWorkspace) { From 2c82d44b6492f2a37893538d2b26c41f143a960a Mon Sep 17 00:00:00 2001 From: neurokitti Date: Tue, 18 Feb 2025 09:08:53 -0600 Subject: [PATCH 2/3] fixes primary colors (it should at least) --- .../base/zen-components/ZenGradientGenerator.mjs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 29b46b6f3..890a226a4 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -245,6 +245,7 @@ const existingPrimaryDot = this.dots.find((d) => d.ID === 0); if (existingPrimaryDot) { existingPrimaryDot.ID = this.dots.length; + dot.style.setProperty('--zen-primary-color'); } } @@ -450,6 +451,12 @@ this.dots.forEach((dot, index) => { dot.ID = index; + if (index === 0) { + dot.Element.style.setProperty( + '--zen-primary-color', + dot.Element.style.getPropertyValue('--zen-primary-color') || '' + ); + } }); let colorPositions = this.calculateCompliments(this.dots, 'remove', this.useAlgo); @@ -586,6 +593,12 @@ // Reassign the IDs after sorting this.dots.forEach((dot, index) => { dot.ID = index; + if (index === 0) { + dot.Element.style.setProperty( + '--zen-primary-color', + dot.Element.style.getPropertyValue('--zen-primary-color') || '' + ); + } }); let colorPositions = this.calculateCompliments(this.dots, 'remove', this.useAlgo); From 59e64499fbaab86471980820998b9bd13f5f56e9 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Tue, 18 Feb 2025 10:30:23 -0600 Subject: [PATCH 3/3] fixed issue with primary --- .../zen-components/ZenGradientGenerator.mjs | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 8e2050b07..909d75028 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -189,6 +189,10 @@ dot.style.left = `${x * 100}%`; dot.style.top = `${y * 100}%`; + if (this.dots.length < 1) { + dot.classList.add('primary'); + } + dotPad.appendChild(dot); let id = this.dots.length; @@ -262,8 +266,9 @@ const existingPrimaryDot = this.dots.find((d) => d.ID === 0); if (existingPrimaryDot) { existingPrimaryDot.ID = this.dots.length; - dot.style.setProperty('--zen-primary-color'); + existingPrimaryDot.Element.classList.remove('primary'); } + dot.classList.add('primary'); } const colorFromPos = this.getColorFromPosition(relativePosition.x, relativePosition.y); @@ -469,10 +474,9 @@ this.dots.forEach((dot, index) => { dot.ID = index; if (index === 0) { - dot.Element.style.setProperty( - '--zen-primary-color', - dot.Element.style.getPropertyValue('--zen-primary-color') || '' - ); + dot.Element.classList.add('primary'); + } else { + dot.Element.classList.remove('primary'); } }); @@ -611,10 +615,9 @@ this.dots.forEach((dot, index) => { dot.ID = index; if (index === 0) { - dot.Element.style.setProperty( - '--zen-primary-color', - dot.Element.style.getPropertyValue('--zen-primary-color') || '' - ); + dot.Element.classList.add('primary'); + } else { + dot.Element.classList.remove('primary'); } }); @@ -984,12 +987,14 @@ .sort((a, b) => a.getAttribute('data-index') - b.getAttribute('data-index')) .map((dot) => { const color = dot.style.getPropertyValue('--zen-theme-picker-dot-color'); + const isPrimary = dot.classList.contains('primary'); + if (color === 'undefined') { return; } const isCustom = dot.classList.contains('custom'); const algorithm = this.useAlgo; - return { c: isCustom ? color : color.match(/\d+/g).map(Number), isCustom, algorithm }; + return { c: isCustom ? color : color.match(/\d+/g).map(Number), isCustom, algorithm, isPrimary }; }); const gradient = ZenThemePicker.getTheme(colors, this.currentOpacity, this.currentRotation, this.currentTexture); let currentWorkspace = await ZenWorkspaces.getActiveWorkspace();