From d96655d6b7c160826ea351c7ab10a3c5792fff78 Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Sun, 26 Jan 2025 13:39:30 +0100 Subject: [PATCH 01/40] Refactor gradient dot handling and enhance color modification logic in ZenGradientGenerator --- .../zen-components/ZenGradientGenerator.mjs | 164 +++++++++++------- 1 file changed, 99 insertions(+), 65 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index e5b169004..f201c07dc 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -240,57 +240,21 @@ dot.style.top = `${y * 100}%`; dot.addEventListener('mousedown', this.onDotMouseDown.bind(this)); } + if (color.isPrimary) { + dot.classList.add('primary'); + } + const lastDot = this.panel.querySelector('.zen-theme-picker-dot:last-child'); + let newIndex = 0; + if (lastDot) { + newIndex = parseInt(lastDot.getAttribute('data-index')) + 1; + } + dot.setAttribute('data-index', newIndex); this.panel.querySelector('.zen-theme-picker-gradient').appendChild(dot); if (!fromWorkspace) { this.updateCurrentWorkspace(true); } } - onThemePickerClick(event) { - event.preventDefault(); - if (event.button !== 0 || this.dragging) return; - const gradient = this.panel.querySelector('.zen-theme-picker-gradient'); - const rect = gradient.getBoundingClientRect(); - const padding = 90; // each side - - const centerX = rect.left + rect.width / 2; - const centerY = rect.top + rect.height / 2; - const radius = (rect.width - padding) / 2; - let pixelX = event.clientX; - let pixelY = event.clientY; - - // Check if the click is within the circle - const distance = Math.sqrt((pixelX - centerX) ** 2 + (pixelY - centerY) ** 2); - if (distance > radius) { - return; // Don't create a dot if clicking outside the circle - } - - // Check if we clicked on an existing dot - const clickedElement = event.target; - const isExistingDot = clickedElement.classList.contains('zen-theme-picker-dot'); - - // Only proceed if not clicking on an existing dot - if (!isExistingDot) { - const relativeX = event.clientX - rect.left; - const relativeY = event.clientY - rect.top; - - const color = this.getColorFromPosition(relativeX, relativeY); - - // Create new dot - const dot = document.createElement('div'); - dot.classList.add('zen-theme-picker-dot'); - dot.addEventListener('mousedown', this.onDotMouseDown.bind(this)); - - dot.style.left = `${relativeX}px`; - dot.style.top = `${relativeY}px`; - dot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${color[0]}, ${color[1]}, ${color[2]})`); - - gradient.appendChild(dot); - - this.updateCurrentWorkspace(true); - } - } - onDotMouseDown(event) { event.preventDefault(); if (event.button === 2) { @@ -336,10 +300,69 @@ this.draggedDot.style.top = `${relativeY}px`; const color = this.getColorFromPosition(relativeX, relativeY); this.draggedDot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${color[0]}, ${color[1]}, ${color[2]})`); - this.updateCurrentWorkspace(); + this.updateOtherColorsAndUpdateTheme(color); } } + updateOtherColorsAndUpdateTheme(primaryColor) { + // Convert the other colors into the correct color by using color theory + const dots = this.panel.querySelectorAll('.zen-theme-picker-dot'); + const primaryColorRGB = primaryColor; + const primaryColorDot = this.draggedDot; + const primaryColorIndex = parseInt(primaryColorDot.getAttribute('data-index')); + + for (const dot of dots) { + if (dot.classList.contains('primary') || dot.classList.contains('custom')) { + continue; + } + + const index = parseInt(dot.getAttribute('data-index')); + if (index === primaryColorIndex) { + continue; + } + + const [r, g, b] = this.getColorFromPosition(parseInt(dot.style.left), parseInt(dot.style.top)); + const color = [r, g, b]; + + // modify the color based on the index and color theory + const modifiedColor = this.modifyColor(primaryColorRGB, color, index - primaryColorIndex); + dot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${modifiedColor[0]}, ${modifiedColor[1]}, ${modifiedColor[2]})`); + + // update y and x + const rect = this.panel.querySelector('.zen-theme-picker-gradient').getBoundingClientRect(); + const centerX = rect.left + rect.width / 2; + const centerY = rect.top + rect.height / 2; + const radius = (rect.width - 90) / 2; + const angle = Math.atan2(modifiedColor[1] - primaryColorRGB[1], modifiedColor[0] - primaryColorRGB[0]); + const distance = Math.sqrt((modifiedColor[0] - primaryColorRGB[0]) ** 2 + (modifiedColor[1] - primaryColorRGB[1]) ** 2); + let x = centerX + Math.cos(angle) * radius; + let y = centerY + Math.sin(angle) * radius; + if (distance > radius) { + x = primaryColorDot.style.left; + y = primaryColorDot.style.top; + } + dot.style.left = x + 'px'; + dot.style.top = y + 'px'; + } + this.updateCurrentWorkspace(); + } + + modifyColor(primaryColor, color, index) { + // index may be negative + if (index < 0) { + index = -(1 / index); + } + const [r, g, b] = primaryColor; + const [r2, g2, b2] = color; + const factor = 0.5; + const modifiedColor = [ + Math.floor(Math.min(255, r + (r2 - r) * factor * index)), + Math.floor(Math.min(255, g + (g2 - g) * factor * index)), + Math.floor(Math.min(255, b + (b2 - b) * factor * index)), + ]; + return modifiedColor; + } + addColorToCustomList(color) { const listItems = window.MozXULElement.parseXULToFragment(` @@ -415,6 +438,13 @@ dot.style.top = `${relativeY}px`; dot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${color[0]}, ${color[1]}, ${color[2]})`); + const lastDot = this.panel.querySelector('.zen-theme-picker-dot:last-child'); + let newIndex = 0; + if (lastDot) { + newIndex = parseInt(lastDot.getAttribute('data-index')) + 1; + } + dot.setAttribute('data-index', newIndex); + gradient.appendChild(dot); this.updateCurrentWorkspace(true); @@ -426,6 +456,9 @@ if (event.button === 2) { return; } + if (!event.target.classList.contains('primary')) { + return; + } this.dragging = true; this.draggedDot = event.target; this.draggedDot.style.zIndex = 1; @@ -592,23 +625,7 @@ }; getMostDominantColor(allColors) { - const colors = this.themedColors(allColors); - const themedColors = colors.filter((color) => !color.isCustom); - if (themedColors.length === 0 || !this.allowWorkspaceColors) { - return null; - } - // get the most dominant color in the gradient - let dominantColor = themedColors[0].c; - let dominantColorCount = 0; - for (const color of themedColors) { - const count = themedColors.filter( - (c) => c.c[0] === color.c[0] && c.c[1] === color.c[1] && c.c[2] === color.c[2] - ).length; - if (count > dominantColorCount) { - dominantColorCount = count; - dominantColor = color.c; - } - } + const dominantColor = this.getPrimaryColor(allColors); const result = this.pSBC( this.isDarkMode ? 0.2 : -0.5, `rgb(${dominantColor[0]}, ${dominantColor[1]}, ${dominantColor[2]})` @@ -632,7 +649,7 @@ } // get the theme from the window - workspaceTheme = theme || windowWorkspace.theme; + workspaceTheme = this.fixTheme(theme || windowWorkspace.theme); if (!skipUpdate) { for (const dot of browser.gZenThemePicker.panel.querySelectorAll('.zen-theme-picker-dot')) { @@ -713,6 +730,14 @@ }); } + fixTheme(theme) { + // add a primary color if there isn't one + if (!theme.gradientColors.find((color) => color.isPrimary)) { + theme.gradientColors[(theme.gradientColors.length / 2) | 0].isPrimary = true; + } + return theme; + } + get riceManager() { if (!this._riceManager) { this._riceManager = new window.ZenRiceManager(); @@ -747,6 +772,15 @@ this.updateCurrentWorkspace(); } + getPrimaryColor(colors) { + const primaryColor = colors.find((color) => color.isPrimary); + if (primaryColor) { + return primaryColor.c; + } + // Get the middle color + return colors[Math.floor(colors.length / 2)].c; + } + recalculateDots(colors) { //THIS IS PART OF THE ISSUE for (const color of colors) { @@ -757,7 +791,7 @@ async updateCurrentWorkspace(skipSave = true) { this.updated = skipSave; const dots = this.panel.querySelectorAll('.zen-theme-picker-dot'); - const colors = Array.from(dots).map((dot) => { + const colors = Array.from(dots).sort((a, b) => a.getAttribute('data-index') - b.getAttribute('data-index')).map((dot) => { const color = dot.style.getPropertyValue('--zen-theme-picker-dot-color'); if (color === 'undefined') { return; From 42c93a7fc41cc05f36b37aaf5e4ab968d1ca8d46 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Tue, 11 Feb 2025 17:39:45 -0600 Subject: [PATCH 02/40] this is a test --- src/browser/base/zen-components/ZenGradientGenerator.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 125c45da7..a5fc7ad48 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -1,3 +1,4 @@ +//this is a test { class ZenThemePicker extends ZenMultiWindowFeature { static GRADIENT_IMAGE_URL = 'chrome://browser/content/zen-images/gradient.png'; From 580e3596b2898a4009cd8e8fffe2e35a34f12924 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Tue, 11 Feb 2025 17:42:12 -0600 Subject: [PATCH 03/40] test 2 --- 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 a5fc7ad48..d8d0ae1c9 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -1,4 +1,4 @@ -//this is a test +//this is a test 1 { class ZenThemePicker extends ZenMultiWindowFeature { static GRADIENT_IMAGE_URL = 'chrome://browser/content/zen-images/gradient.png'; From 3b3d5292e51f53e223befe7b747506b927df04c0 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sat, 15 Feb 2025 01:52:12 -0600 Subject: [PATCH 04/40] removed test comment --- src/browser/base/zen-components/ZenGradientGenerator.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 4a952703d..963f87f76 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -1,4 +1,3 @@ -//this is a test 1 { class ZenThemePicker extends ZenMultiWindowFeature { static GRADIENT_IMAGE_URL = 'chrome://browser/content/zen-images/gradient.png'; From fceb1e85a6fd2c65fcbf06f7caeaea3b74104678 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sat, 15 Feb 2025 17:02:53 -0600 Subject: [PATCH 05/40] added function to calculate compliments --- .../zen-components/ZenGradientGenerator.mjs | 66 ++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 963f87f76..f8b7f535e 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -6,7 +6,7 @@ currentOpacity = 0.5; currentRotation = 45; - + dots = []; numberOfDots = 0; constructor() { @@ -331,6 +331,70 @@ await this.updateCurrentWorkspace(); } + spawnDot() { + + } + + calculateCompliments(primaryDot, dots, colorHarmonyType) { + const colorHarmonies = { + complementary: [180], + splitComplementary: [150, 210], + analogous: [30, 330], + triadic: [120, 240], + }; + + function getColorHarmony(colorHarmonyType) { + return colorHarmonies[colorHarmonyType] || null; + } + + // rule: if the data will be inputed into an argument it should be stored as an object else not + function getAngleFromPosition(position, centerPosition) { + let deltaX = position.x - centerPosition.x; + let deltaY = position.y - centerPosition.y; + let angle = Math.atan2(deltaY, deltaX) * (180 / Math.PI); + return (angle + 360) % 360; + } + + const dotPad = this.panel.querySelector('.zen-theme-picker-gradient'); + const rect = dotPad.getBoundingClientRect(); + const padding = 90; + + // Calculate the center of the color wheel + const centerX = rect.left + rect.width / 2; + const centerY = rect.top + rect.height / 2; + const radius = (rect.width - padding) / 2; + const centerPosition = { x: rect.width / 2, y: rect.height / 2 }; + + const harmonyAngles = getColorHarmony(colorHarmonyType); + if (harmonyAngles.length === 0) return []; + + primaryDot = this.dots.find((dot) => {dot.Element === primaryDot}); + if (!primaryDot) return []; + const baseAngle = getAngleFromPosition(primaryDot.position, centerPosition) + + dots.sort((a, b) => a.ID - b.ID); + + let updatedDots = []; + + harmonyAngles.forEach((angleOffset, index) => { + const dot = dots[index + 1]; // Skip the primary dot + if (!dot) return; + + let newAngle = (baseAngle + angleOffset) % 360; + let radian = (newAngle * Math.PI) / 180; + + let newPosition = { + x: centerPosition.x + radius * Math.cos(radian), + y: centerPosition.y + radius * Math.sin(radian), + }; + + updatedDots.push({ dot, newPosition }); + }); + + return updatedDots; + } + + onThemePickerClick(event) { event.preventDefault(); From e6166c751253b90df48d61fc133640d7053ceb01 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sat, 15 Feb 2025 22:06:12 -0600 Subject: [PATCH 06/40] basic working version --- .../zen-components/ZenGradientGenerator.mjs | 202 +++++++++++++----- 1 file changed, 143 insertions(+), 59 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index f8b7f535e..4886b55d4 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -171,12 +171,17 @@ } onCustomColorKeydown(event) { - //checks for enter key for custom colors + // Check for Enter key to add custom colors if (event.key === 'Enter') { event.preventDefault(); this.addCustomColor(); + + let colorPositions = this.calculateCompliments(this.dots); + console.log("colorPositions: ", colorPositions); + this.handleColorPositions(colorPositions); } } + initThemePicker() { const themePicker = this.panel.querySelector('.zen-theme-picker-gradient'); @@ -245,23 +250,6 @@ } } - onDotMouseDown(event) { - event.preventDefault(); - if (event.button === 2) { - return; - } - this.dragging = true; - this.draggedDot = event.target; - this.draggedDot.style.zIndex = 1; - this.draggedDot.classList.add('dragging'); - - // Store the starting position of the drag - this.dragStartPosition = { - x: event.clientX, - y: event.clientY, - }; - } - onDotMouseMove(event) { if (this.dragging) { event.preventDefault(); @@ -331,20 +319,53 @@ await this.updateCurrentWorkspace(); } - spawnDot() { + spawnDot(relativePosition, primary = false) { + const dotPad = this.panel.querySelector('.zen-theme-picker-gradient'); + const dot = document.createElement('div'); + dot.classList.add('zen-theme-picker-dot'); + + dot.style.left = `${relativePosition.x}px`; + dot.style.top = `${relativePosition.y}px`; + + dotPad.appendChild(dot); + + let id = this.dots.length + + if (primary === true) { + id = 0 + const existingPrimaryDot = this.dots.find((d) => d.ID === 0); + if (existingPrimaryDot) { + existingPrimaryDot.ID = this.dots.length; + } + } + const colorFromPos = this.getColorFromPosition(relativePosition.x, relativePosition.y); + dot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})`); + + + this.dots.push({ + ID: id, + Element: dot, + Position: { x: parseFloat(dot.style.left), y: parseFloat(dot.style.top) } + }); + console.log("dotsss: ", this.dots); } - calculateCompliments(primaryDot, dots, colorHarmonyType) { - const colorHarmonies = { - complementary: [180], - splitComplementary: [150, 210], - analogous: [30, 330], - triadic: [120, 240], - }; + calculateCompliments(dots, dotRemoved = false) { + console.log("calculateCompliments"); + console.log("dots", dots); + const colorHarmonies = [ + { type: 'complementary', angles: [180] }, + { type: 'splitComplementary', angles: [150, 210] }, + { type: 'analogous', angles: [30, 330] }, + { type: 'triadic', angles: [120, 240] }, + ]; - function getColorHarmony(colorHarmonyType) { - return colorHarmonies[colorHarmonyType] || null; + function getColorHarmonyType(numDots) { + if (dotRemoved) { + return colorHarmonies.find((harmony) => harmony.angles.length === numDots - 1); + } + return colorHarmonies.find((harmony) => harmony.angles.length === numDots); } // rule: if the data will be inputed into an argument it should be stored as an object else not @@ -354,7 +375,13 @@ let angle = Math.atan2(deltaY, deltaX) * (180 / Math.PI); return (angle + 360) % 360; } - + + function getDistanceFromCenter(position, centerPosition) { + const deltaX = position.x - centerPosition.x; + const deltaY = position.y - centerPosition.y; + return Math.sqrt(deltaX * deltaX + deltaY * deltaY); + } + const dotPad = this.panel.querySelector('.zen-theme-picker-gradient'); const rect = dotPad.getBoundingClientRect(); const padding = 90; @@ -365,41 +392,70 @@ const radius = (rect.width - padding) / 2; const centerPosition = { x: rect.width / 2, y: rect.height / 2 }; - const harmonyAngles = getColorHarmony(colorHarmonyType); - if (harmonyAngles.length === 0) return []; + //check for null harmonys + console.log("DOTS LENGTH: ", dots.length) + const harmonyAngles = getColorHarmonyType(dots.length); + console.log("harmonyAngles",harmonyAngles); + if (!harmonyAngles || harmonyAngles.angles.length === 0) return []; + + let primaryDot = dots.find((dot) => dot.ID === 0); - primaryDot = this.dots.find((dot) => {dot.Element === primaryDot}); if (!primaryDot) return []; - const baseAngle = getAngleFromPosition(primaryDot.position, centerPosition) + + const baseAngle = getAngleFromPosition(primaryDot.Position, centerPosition) + + let distance = getDistanceFromCenter(primaryDot.Position, centerPosition); + console.log("distance", distance); + // If the dot is outside the radius, adjust it to stay inside + if (distance > radius) { + const angle = Math.atan2(dy, dx); + cursorPosition.x = centerX + Math.cos(angle) * radius; + cursorPosition.y = centerY + Math.sin(angle) * radius; + distance = radius; // Set distance to the constrained radius + } dots.sort((a, b) => a.ID - b.ID); let updatedDots = []; - - harmonyAngles.forEach((angleOffset, index) => { - const dot = dots[index + 1]; // Skip the primary dot - if (!dot) return; - + harmonyAngles.angles.forEach((angleOffset, index) => { let newAngle = (baseAngle + angleOffset) % 360; let radian = (newAngle * Math.PI) / 180; let newPosition = { - x: centerPosition.x + radius * Math.cos(radian), - y: centerPosition.y + radius * Math.sin(radian), + x: centerPosition.x + distance * Math.cos(radian), + y: centerPosition.y + distance * Math.sin(radian), }; - updatedDots.push({ dot, newPosition }); + updatedDots.push({ID: index + 1, Position: newPosition}); }); - return updatedDots; + return updatedDots; } - + + handleColorPositions(colorPositions) { + colorPositions.sort((a, b) => a.ID - b.ID); + + colorPositions.forEach(dotPosition => { + const existingDot = this.dots.find(dot => dot.ID === dotPosition.ID); + + if (existingDot) { + existingDot.Position = dotPosition.Position; + existingDot.Element.style.left = `${dotPosition.Position.x}px`; + existingDot.Element.style.top = `${dotPosition.Position.y}px`; + const colorFromPos = this.getColorFromPosition(dotPosition.Position.x, dotPosition.Position.y); + existingDot.Element.style.setProperty('--zen-theme-picker-dot-color', `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})`); + } else { + this.spawnDot(dotPosition.Position); + } + }); + } + onThemePickerClick(event) { event.preventDefault(); if (event.button !== 0 || this.dragging) return; - + const gradient = this.panel.querySelector('.zen-theme-picker-gradient'); const rect = gradient.getBoundingClientRect(); const padding = 90; // each side @@ -417,26 +473,47 @@ } const clickedElement = event.target; - const isExistingDot = clickedElement.classList.contains('zen-theme-picker-dot'); + let clickedDot = null; + const existingPrimaryDot = this.dots.find((d) => d.ID === 0); + clickedDot = this.dots.find(dot => dot.Element === clickedElement); + if (clickedDot) { + existingPrimaryDot.ID = clickedDot.ID; + clickedDot.ID = 0; + console.log("clickedDot.ID", clickedDot.ID) + console.log("existingPrimaryDot.ID", existingPrimaryDot.ID) - if (!isExistingDot && this.numberOfDots < ZenThemePicker.MAX_DOTS) { - const relativeX = event.clientX - rect.left; - const relativeY = event.clientY - rect.top; + let colorPositions = this.calculateCompliments(this.dots, true); + this.handleColorPositions(colorPositions); + return; + } + + const relativeX = event.clientX - rect.left; + const relativeY = event.clientY - rect.top; - const color = this.getColorFromPosition(relativeX, relativeY); - - const dot = document.createElement('div'); - dot.classList.add('zen-theme-picker-dot'); - dot.addEventListener('mousedown', this.onDotMouseDown.bind(this)); - - dot.style.left = `${relativeX}px`; - dot.style.top = `${relativeY}px`; - dot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${color[0]}, ${color[1]}, ${color[2]})`); - - gradient.appendChild(dot); + + if (!clickedDot && this.dots.length < 1) { + if (this.dots.length === 0) { + this.spawnDot({x: relativeX, y: relativeY}, true); + } + else{ + this.spawnDot({x: relativeX, y: relativeY}); + } + this.updateCurrentWorkspace(true); } + else if (!clickedDot && existingPrimaryDot) { + existingPrimaryDot.Element.style.left = `${relativeX}px`; + existingPrimaryDot.Element.style.top = `${relativeY}px`; + existingPrimaryDot.Position = { + x: relativeX, + y: relativeY + }; + let colorPositions = this.calculateCompliments(this.dots, true); + this.handleColorPositions(colorPositions); + } + + console.log(this.dots); } onDotMouseDown(event) { @@ -461,7 +538,14 @@ if (!event.target.classList.contains('zen-theme-picker-dot')) { return; } + this.dots = this.dots.filter(dot => dot.Element !== event.target); + console.log("this.dots: ", this.dots); event.target.remove(); + + let colorPositions = this.calculateCompliments(this.dots, true); + console.log("colorPositions: ", colorPositions); + this.handleColorPositions(colorPositions); + this.updateCurrentWorkspace(); this.numberOfDots--; return; From b068e9729a9126d531237f67c7096eb483cc12c9 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sat, 15 Feb 2025 23:11:39 -0600 Subject: [PATCH 07/40] made dots bigger and fixed primary dot color issue --- .../zen-styles/zen-gradient-generator.css | 25 ++-- .../zen-components/ZenGradientGenerator.mjs | 140 ++++++++++-------- 2 files changed, 89 insertions(+), 76 deletions(-) diff --git a/src/browser/base/content/zen-styles/zen-gradient-generator.css b/src/browser/base/content/zen-styles/zen-gradient-generator.css index c9a0844ae..7be09dc58 100644 --- a/src/browser/base/content/zen-styles/zen-gradient-generator.css +++ b/src/browser/base/content/zen-styles/zen-gradient-generator.css @@ -237,18 +237,19 @@ } & .zen-theme-picker-dot { - position: absolute; - z-index: 2; - width: 20px; - height: 20px; - border-radius: 50%; - background: var(--zen-theme-picker-dot-color); - box-shadow: 0 0 0 2px var(--zen-themed-toolbar-bg); - cursor: pointer; - border: 2px solid #fff; - animation: zen-theme-picker-dot-animation 0.5s; - transition: transform 0.2s; - transform: translate(-50%, -50%); + position: absolute; + z-index: 2; + width: 28px; + height: 28px; + border-radius: 50%; + background: var(--zen-theme-picker-dot-color); + box-shadow: 0 0 0 2px var(--zen-themed-toolbar-bg); + cursor: pointer; + border: 3px solid #fff; + animation: zen-theme-picker-dot-animation 0.5s; + transition: transform 0.2s; + transform: translate(-50%, -50%); + &[dragging='true'] { transform: scale(1.2) translate(-50%, -50%) !important; diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 4886b55d4..f4591a419 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -7,7 +7,6 @@ currentOpacity = 0.5; currentRotation = 45; dots = []; - numberOfDots = 0; constructor() { super(); @@ -177,7 +176,6 @@ this.addCustomColor(); let colorPositions = this.calculateCompliments(this.dots); - console.log("colorPositions: ", colorPositions); this.handleColorPositions(colorPositions); } } @@ -188,6 +186,7 @@ themePicker.style.setProperty('--zen-theme-picker-gradient-image', `url(${ZenThemePicker.GRADIENT_DISPLAY_URL})`); themePicker.addEventListener('mousemove', this.onDotMouseMove.bind(this)); themePicker.addEventListener('mouseup', this.onDotMouseUp.bind(this)); + themePicker.addEventListener('mousedown', this.onDotMouseDown.bind(this)); themePicker.addEventListener('click', this.onThemePickerClick.bind(this)); } @@ -250,38 +249,6 @@ } } - onDotMouseMove(event) { - if (this.dragging) { - event.preventDefault(); - const rect = this.panel.querySelector('.zen-theme-picker-gradient').getBoundingClientRect(); - const padding = 90; // each side - // do NOT let the ball be draged outside of an imaginary circle. You can drag it anywhere inside the circle - // if the distance between the center of the circle and the dragged ball is bigger than the radius, then the ball - // should be placed on the edge of the circle. If it's inside the circle, then the ball just follows the mouse - - const centerX = rect.left + rect.width / 2; - const centerY = rect.top + rect.height / 2; - const radius = (rect.width - padding) / 2; - let pixelX = event.clientX; - let pixelY = event.clientY; - const distance = Math.sqrt((pixelX - centerX) ** 2 + (pixelY - centerY) ** 2); - if (distance > radius) { - const angle = Math.atan2(pixelY - centerY, pixelX - centerX); - pixelX = centerX + Math.cos(angle) * radius; - pixelY = centerY + Math.sin(angle) * radius; - } - - // set the location of the dot in pixels - const relativeX = pixelX - rect.left; - const relativeY = pixelY - rect.top; - this.draggedDot.style.left = `${relativeX}px`; - this.draggedDot.style.top = `${relativeY}px`; - const color = this.getColorFromPosition(relativeX, relativeY); - this.draggedDot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${color[0]}, ${color[1]}, ${color[2]})`); - this.updateCurrentWorkspace(); - } - } - addColorToCustomList(color) { const listItems = window.MozXULElement.parseXULToFragment(` @@ -334,8 +301,10 @@ if (primary === true) { id = 0 + const existingPrimaryDot = this.dots.find((d) => d.ID === 0); if (existingPrimaryDot) { + existingPrimaryDot.Element.style.zIndex = 999; existingPrimaryDot.ID = this.dots.length; } } @@ -348,12 +317,9 @@ Element: dot, Position: { x: parseFloat(dot.style.left), y: parseFloat(dot.style.top) } }); - console.log("dotsss: ", this.dots); } calculateCompliments(dots, dotRemoved = false) { - console.log("calculateCompliments"); - console.log("dots", dots); const colorHarmonies = [ { type: 'complementary', angles: [180] }, { type: 'splitComplementary', angles: [150, 210] }, @@ -386,16 +352,12 @@ const rect = dotPad.getBoundingClientRect(); const padding = 90; - // Calculate the center of the color wheel const centerX = rect.left + rect.width / 2; const centerY = rect.top + rect.height / 2; const radius = (rect.width - padding) / 2; const centerPosition = { x: rect.width / 2, y: rect.height / 2 }; - //check for null harmonys - console.log("DOTS LENGTH: ", dots.length) const harmonyAngles = getColorHarmonyType(dots.length); - console.log("harmonyAngles",harmonyAngles); if (!harmonyAngles || harmonyAngles.angles.length === 0) return []; let primaryDot = dots.find((dot) => dot.ID === 0); @@ -405,13 +367,9 @@ const baseAngle = getAngleFromPosition(primaryDot.Position, centerPosition) let distance = getDistanceFromCenter(primaryDot.Position, centerPosition); - console.log("distance", distance); - // If the dot is outside the radius, adjust it to stay inside + if (distance > radius) { - const angle = Math.atan2(dy, dx); - cursorPosition.x = centerX + Math.cos(angle) * radius; - cursorPosition.y = centerY + Math.sin(angle) * radius; - distance = radius; // Set distance to the constrained radius + distance = radius; } dots.sort((a, b) => a.ID - b.ID); @@ -434,7 +392,14 @@ handleColorPositions(colorPositions) { colorPositions.sort((a, b) => a.ID - b.ID); - + + const existingPrimaryDot = this.dots.find((d) => d.ID === 0); + + if (existingPrimaryDot) { + existingPrimaryDot.Element.style.zIndex = 999; + const colorFromPos = this.getColorFromPosition(existingPrimaryDot.Position.x, existingPrimaryDot.Position.y); + existingPrimaryDot.Element.style.setProperty('--zen-theme-picker-dot-color', `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})`); + } colorPositions.forEach(dotPosition => { const existingDot = this.dots.find(dot => dot.ID === dotPosition.ID); @@ -444,6 +409,21 @@ existingDot.Element.style.top = `${dotPosition.Position.y}px`; const colorFromPos = this.getColorFromPosition(dotPosition.Position.x, dotPosition.Position.y); existingDot.Element.style.setProperty('--zen-theme-picker-dot-color', `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})`); + + if (!this.dragging) { + gZenUIManager.motion.animate( + existingDot.Element, + { + left: `${dotPosition.Position.x}px`, + top: `${dotPosition.Position.y}px`, + }, + { + duration: 0.4, + type: 'spring', + bounce: 0.3, + } + ); + } } else { this.spawnDot(dotPosition.Position); } @@ -458,7 +438,7 @@ const gradient = this.panel.querySelector('.zen-theme-picker-gradient'); const rect = gradient.getBoundingClientRect(); - const padding = 90; // each side + const padding = 90; const centerX = rect.left + rect.width / 2; const centerY = rect.top + rect.height / 2; @@ -479,8 +459,7 @@ if (clickedDot) { existingPrimaryDot.ID = clickedDot.ID; clickedDot.ID = 0; - console.log("clickedDot.ID", clickedDot.ID) - console.log("existingPrimaryDot.ID", existingPrimaryDot.ID) + clickedDot.Element.style.zIndex = 999; let colorPositions = this.calculateCompliments(this.dots, true); this.handleColorPositions(colorPositions); @@ -513,7 +492,6 @@ this.handleColorPositions(colorPositions); } - console.log(this.dots); } onDotMouseDown(event) { @@ -521,10 +499,13 @@ if (event.button === 2) { return; } - this.dragging = true; - this.draggedDot = event.target; - this.draggedDot.style.zIndex = 1; - this.draggedDot.classList.add('dragging'); + const draggedDot = this.dots.find(dot => dot.Element === event.target) + if (draggedDot) { + this.dragging = true; + this.draggedDot = event.target; + this.draggedDot.classList.add('dragging'); + } + // Store the starting position of the drag this.dragStartPosition = { @@ -539,15 +520,11 @@ return; } this.dots = this.dots.filter(dot => dot.Element !== event.target); - console.log("this.dots: ", this.dots); event.target.remove(); - let colorPositions = this.calculateCompliments(this.dots, true); - console.log("colorPositions: ", colorPositions); this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(); - this.numberOfDots--; return; } @@ -555,14 +532,51 @@ event.preventDefault(); event.stopPropagation(); this.dragging = false; - this.draggedDot.style.zIndex = 1; this.draggedDot.classList.remove('dragging'); this.draggedDot = null; this.dragStartPosition = null; // Reset the drag start position return; } + } - this.numberOfDots = this.panel.querySelectorAll('.zen-theme-picker-dot').length; + + onDotMouseMove(event) { + if (this.dragging) { + event.preventDefault(); + const rect = this.panel.querySelector('.zen-theme-picker-gradient').getBoundingClientRect(); + const padding = 90; // each side + // do NOT let the ball be draged outside of an imaginary circle. You can drag it anywhere inside the circle + // if the distance between the center of the circle and the dragged ball is bigger than the radius, then the ball + // should be placed on the edge of the circle. If it's inside the circle, then the ball just follows the mouse + + const centerX = rect.left + rect.width / 2; + const centerY = rect.top + rect.height / 2; + const radius = (rect.width - padding) / 2; + let pixelX = event.clientX; + let pixelY = event.clientY; + const distance = Math.sqrt((pixelX - centerX) ** 2 + (pixelY - centerY) ** 2); + if (distance > radius) { + const angle = Math.atan2(pixelY - centerY, pixelX - centerX); + pixelX = centerX + Math.cos(angle) * radius; + pixelY = centerY + Math.sin(angle) * radius; + } + + // set the location of the dot in pixels + const relativeX = pixelX - rect.left; + const relativeY = pixelY - rect.top; + + const draggedDot = this.dots.find(dot => dot.Element === this.draggedDot) + draggedDot.Element.style.left = `${relativeX}px`; + draggedDot.Element.style.top = `${relativeY}px`; + draggedDot.Position = { + x: relativeX, + y: relativeY + }; + let colorPositions = this.calculateCompliments(this.dots, true); + this.handleColorPositions(colorPositions); + + this.updateCurrentWorkspace(); + } } themedColors(colors) { @@ -780,8 +794,6 @@ browser.gZenThemePicker.currentRotation = workspaceTheme.rotation ?? 45; browser.gZenThemePicker.currentTexture = workspaceTheme.texture ?? 0; - browser.gZenThemePicker.numberOfDots = workspaceTheme.gradientColors.length; - browser.document.getElementById('PanelUI-zen-gradient-generator-opacity').value = browser.gZenThemePicker.currentOpacity; browser.document.getElementById('PanelUI-zen-gradient-generator-texture').value = From 05a97971b155559b3f09658bc0818fe661a564c1 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sun, 16 Feb 2025 01:04:07 -0600 Subject: [PATCH 08/40] fixed creatDot issue --- .../zen-components/ZenGradientGenerator.mjs | 87 +++++++++++++------ 1 file changed, 59 insertions(+), 28 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 9a91c3023..f8318554b 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -237,13 +237,26 @@ dot.style.opacity = 0; dot.style.setProperty('--zen-theme-picker-dot-color', color.c); } else { - dot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${r}, ${g}, ${b})`); const { x, y } = this.calculateInitialPosition(color); + const dotPad = this.panel.querySelector('.zen-theme-picker-gradient'); + + const dot = document.createElement('div'); + dot.classList.add('zen-theme-picker-dot'); + dot.style.left = `${x * 100}%`; dot.style.top = `${y * 100}%`; - dot.addEventListener('mousedown', this.onDotMouseDown.bind(this)); + + dotPad.appendChild(dot); + let id = this.dots.length; + + dot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${r}, ${g}, ${b})`); + + this.dots.push({ + ID: id, + Element: dot, + Position: { x: parseFloat(dot.style.left), y: parseFloat(dot.style.top) } + }); } - this.panel.querySelector('.zen-theme-picker-gradient').appendChild(dot); if (!fromWorkspace) { this.updateCurrentWorkspace(true); } @@ -297,17 +310,16 @@ dotPad.appendChild(dot); - let id = this.dots.length + let id = this.dots.length; if (primary === true) { id = 0 - const existingPrimaryDot = this.dots.find((d) => d.ID === 0); if (existingPrimaryDot) { - existingPrimaryDot.Element.style.zIndex = 999; existingPrimaryDot.ID = this.dots.length; } } + const colorFromPos = this.getColorFromPosition(relativePosition.x, relativePosition.y); dot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})`); @@ -364,7 +376,7 @@ if (!primaryDot) return []; - const baseAngle = getAngleFromPosition(primaryDot.Position, centerPosition) + const baseAngle = getAngleFromPosition(primaryDot.Position, centerPosition); let distance = getDistanceFromCenter(primaryDot.Position, centerPosition); @@ -434,8 +446,8 @@ onThemePickerClick(event) { event.preventDefault(); - if (event.button !== 0 || this.dragging) return; - + if (event.button !== 0 || this.dragging || this.recentlyDragged) return; + const gradient = this.panel.querySelector('.zen-theme-picker-gradient'); const rect = gradient.getBoundingClientRect(); const padding = 90; @@ -446,29 +458,28 @@ let pixelX = event.clientX; let pixelY = event.clientY; + const clickedElement = event.target; + let clickedDot = null; + const existingPrimaryDot = this.dots.find((d) => d.ID === 0); + clickedDot = this.dots.find((dot) => dot.Element === clickedElement); + console.log(clickedDot); + if (clickedDot) { + existingPrimaryDot.ID = clickedDot.ID; + clickedDot.ID = 0; + clickedDot.Element.style.zIndex = 999; + let colorPositions = this.calculateCompliments(this.dots, true); + this.handleColorPositions(colorPositions); + return; + } + // Check if the click is within the circle const distance = Math.sqrt((pixelX - centerX) ** 2 + (pixelY - centerY) ** 2); if (distance > radius) { return; } - - const clickedElement = event.target; - let clickedDot = null; - const existingPrimaryDot = this.dots.find((d) => d.ID === 0); - clickedDot = this.dots.find(dot => dot.Element === clickedElement); - if (clickedDot) { - existingPrimaryDot.ID = clickedDot.ID; - clickedDot.ID = 0; - clickedDot.Element.style.zIndex = 999; - - let colorPositions = this.calculateCompliments(this.dots, true); - this.handleColorPositions(colorPositions); - return; - } const relativeX = event.clientX - rect.left; const relativeY = event.clientY - rect.top; - if (!clickedDot && this.dots.length < 1) { @@ -488,10 +499,23 @@ x: relativeX, y: relativeY }; + let colorPositions = this.calculateCompliments(this.dots, true); this.handleColorPositions(colorPositions); - } + gZenUIManager.motion.animate( + existingPrimaryDot.Element, + { + left: `${relativeX}px`, + top: `${relativeY}px`, + }, + { + duration: 0.4, + type: 'spring', + bounce: 0.3, + } + ); + } } onDotMouseDown(event) { @@ -505,8 +529,10 @@ this.draggedDot = event.target; this.draggedDot.classList.add('dragging'); } - - + console.log("Dots: ", this.dots); + this.dots.forEach((dot) => { + console.log(dot.Element); + }); // Store the starting position of the drag this.dragStartPosition = { x: event.clientX, @@ -535,6 +561,11 @@ this.draggedDot.classList.remove('dragging'); this.draggedDot = null; this.dragStartPosition = null; // Reset the drag start position + + this.recentlyDragged = true; + setTimeout(() => { + this.recentlyDragged = false; + }, 100); return; } } @@ -822,6 +853,7 @@ } if (!skipUpdate) { + this.dots = []; browser.gZenThemePicker.recalculateDots(workspaceTheme.gradientColors); } }); @@ -862,7 +894,6 @@ } recalculateDots(colors) { - //THIS IS PART OF THE ISSUE for (const color of colors) { this.createDot(color, true); } From ff14d2b32e45ae1dd58b90ab6f78d00ce67c17c3 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sun, 16 Feb 2025 01:54:17 -0600 Subject: [PATCH 09/40] removed console logs --- src/browser/base/zen-components/ZenGradientGenerator.mjs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index f8318554b..f3a20d0e2 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -462,7 +462,6 @@ let clickedDot = null; const existingPrimaryDot = this.dots.find((d) => d.ID === 0); clickedDot = this.dots.find((dot) => dot.Element === clickedElement); - console.log(clickedDot); if (clickedDot) { existingPrimaryDot.ID = clickedDot.ID; clickedDot.ID = 0; @@ -529,10 +528,7 @@ this.draggedDot = event.target; this.draggedDot.classList.add('dragging'); } - console.log("Dots: ", this.dots); - this.dots.forEach((dot) => { - console.log(dot.Element); - }); + // Store the starting position of the drag this.dragStartPosition = { x: event.clientX, From a0d2770d702da5c73e8ccda1ca9ca9d4d8bf5946 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sun, 16 Feb 2025 02:21:35 -0600 Subject: [PATCH 10/40] removed console log --- l10n | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/l10n b/l10n index 19e2af33c..83464a5d3 160000 --- a/l10n +++ b/l10n @@ -1 +1 @@ -Subproject commit 19e2af33c4d901a4edece2b95c4372b40d50a942 +Subproject commit 83464a5d3596558a8d15c7fd7f495f61726a0f05 From c71cea87ccc15ecba4bd231b56a399a958e15be5 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sun, 16 Feb 2025 02:24:05 -0600 Subject: [PATCH 11/40] fixed formatting --- .../zen-styles/zen-gradient-generator.css | 25 ++-- .../zen-components/ZenGradientGenerator.mjs | 121 +++++++++--------- 2 files changed, 72 insertions(+), 74 deletions(-) diff --git a/src/browser/base/content/zen-styles/zen-gradient-generator.css b/src/browser/base/content/zen-styles/zen-gradient-generator.css index 7be09dc58..20980305c 100644 --- a/src/browser/base/content/zen-styles/zen-gradient-generator.css +++ b/src/browser/base/content/zen-styles/zen-gradient-generator.css @@ -237,19 +237,18 @@ } & .zen-theme-picker-dot { - position: absolute; - z-index: 2; - width: 28px; - height: 28px; - border-radius: 50%; - background: var(--zen-theme-picker-dot-color); - box-shadow: 0 0 0 2px var(--zen-themed-toolbar-bg); - cursor: pointer; - border: 3px solid #fff; - animation: zen-theme-picker-dot-animation 0.5s; - transition: transform 0.2s; - transform: translate(-50%, -50%); - + position: absolute; + z-index: 2; + width: 28px; + height: 28px; + border-radius: 50%; + background: var(--zen-theme-picker-dot-color); + box-shadow: 0 0 0 2px var(--zen-themed-toolbar-bg); + cursor: pointer; + border: 3px solid #fff; + animation: zen-theme-picker-dot-animation 0.5s; + transition: transform 0.2s; + transform: translate(-50%, -50%); &[dragging='true'] { transform: scale(1.2) translate(-50%, -50%) !important; diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index f3a20d0e2..093e6c2b3 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -174,12 +174,11 @@ if (event.key === 'Enter') { event.preventDefault(); this.addCustomColor(); - + let colorPositions = this.calculateCompliments(this.dots); this.handleColorPositions(colorPositions); } } - initThemePicker() { const themePicker = this.panel.querySelector('.zen-theme-picker-gradient'); @@ -242,19 +241,19 @@ const dot = document.createElement('div'); dot.classList.add('zen-theme-picker-dot'); - + dot.style.left = `${x * 100}%`; dot.style.top = `${y * 100}%`; - + dotPad.appendChild(dot); let id = this.dots.length; dot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${r}, ${g}, ${b})`); - + this.dots.push({ ID: id, Element: dot, - Position: { x: parseFloat(dot.style.left), y: parseFloat(dot.style.top) } + Position: { x: parseFloat(dot.style.left), y: parseFloat(dot.style.top) }, }); } if (!fromWorkspace) { @@ -307,13 +306,13 @@ dot.style.left = `${relativePosition.x}px`; dot.style.top = `${relativePosition.y}px`; - + dotPad.appendChild(dot); - + let id = this.dots.length; if (primary === true) { - id = 0 + id = 0; const existingPrimaryDot = this.dots.find((d) => d.ID === 0); if (existingPrimaryDot) { existingPrimaryDot.ID = this.dots.length; @@ -322,12 +321,11 @@ const colorFromPos = this.getColorFromPosition(relativePosition.x, relativePosition.y); dot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})`); - this.dots.push({ ID: id, Element: dot, - Position: { x: parseFloat(dot.style.left), y: parseFloat(dot.style.top) } + Position: { x: parseFloat(dot.style.left), y: parseFloat(dot.style.top) }, }); } @@ -377,71 +375,76 @@ if (!primaryDot) return []; const baseAngle = getAngleFromPosition(primaryDot.Position, centerPosition); - + let distance = getDistanceFromCenter(primaryDot.Position, centerPosition); if (distance > radius) { distance = radius; } - dots.sort((a, b) => a.ID - b.ID); + dots.sort((a, b) => a.ID - b.ID); let updatedDots = []; harmonyAngles.angles.forEach((angleOffset, index) => { let newAngle = (baseAngle + angleOffset) % 360; let radian = (newAngle * Math.PI) / 180; - + let newPosition = { x: centerPosition.x + distance * Math.cos(radian), y: centerPosition.y + distance * Math.sin(radian), }; - updatedDots.push({ID: index + 1, Position: newPosition}); + updatedDots.push({ ID: index + 1, Position: newPosition }); }); - - return updatedDots; + + return updatedDots; } - + handleColorPositions(colorPositions) { colorPositions.sort((a, b) => a.ID - b.ID); const existingPrimaryDot = this.dots.find((d) => d.ID === 0); - + if (existingPrimaryDot) { existingPrimaryDot.Element.style.zIndex = 999; const colorFromPos = this.getColorFromPosition(existingPrimaryDot.Position.x, existingPrimaryDot.Position.y); - existingPrimaryDot.Element.style.setProperty('--zen-theme-picker-dot-color', `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})`); + existingPrimaryDot.Element.style.setProperty( + '--zen-theme-picker-dot-color', + `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})` + ); } - colorPositions.forEach(dotPosition => { - const existingDot = this.dots.find(dot => dot.ID === dotPosition.ID); - + colorPositions.forEach((dotPosition) => { + const existingDot = this.dots.find((dot) => dot.ID === dotPosition.ID); + if (existingDot) { existingDot.Position = dotPosition.Position; existingDot.Element.style.left = `${dotPosition.Position.x}px`; existingDot.Element.style.top = `${dotPosition.Position.y}px`; const colorFromPos = this.getColorFromPosition(dotPosition.Position.x, dotPosition.Position.y); - existingDot.Element.style.setProperty('--zen-theme-picker-dot-color', `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})`); - - if (!this.dragging) { - gZenUIManager.motion.animate( - existingDot.Element, - { - left: `${dotPosition.Position.x}px`, - top: `${dotPosition.Position.y}px`, - }, - { - duration: 0.4, - type: 'spring', - bounce: 0.3, - } + existingDot.Element.style.setProperty( + '--zen-theme-picker-dot-color', + `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})` ); - } + + if (!this.dragging) { + gZenUIManager.motion.animate( + existingDot.Element, + { + left: `${dotPosition.Position.x}px`, + top: `${dotPosition.Position.y}px`, + }, + { + duration: 0.4, + type: 'spring', + bounce: 0.3, + } + ); + } } else { this.spawnDot(dotPosition.Position); } }); } - onThemePickerClick(event) { event.preventDefault(); @@ -476,27 +479,24 @@ if (distance > radius) { return; } - + const relativeX = event.clientX - rect.left; const relativeY = event.clientY - rect.top; - - if (!clickedDot && this.dots.length < 1) { + if (!clickedDot && this.dots.length < 1) { if (this.dots.length === 0) { - this.spawnDot({x: relativeX, y: relativeY}, true); + this.spawnDot({ x: relativeX, y: relativeY }, true); + } else { + this.spawnDot({ x: relativeX, y: relativeY }); } - else{ - this.spawnDot({x: relativeX, y: relativeY}); - } - + this.updateCurrentWorkspace(true); - } - else if (!clickedDot && existingPrimaryDot) { + } else if (!clickedDot && existingPrimaryDot) { existingPrimaryDot.Element.style.left = `${relativeX}px`; existingPrimaryDot.Element.style.top = `${relativeY}px`; existingPrimaryDot.Position = { - x: relativeX, - y: relativeY + x: relativeX, + y: relativeY, }; let colorPositions = this.calculateCompliments(this.dots, true); @@ -513,8 +513,8 @@ type: 'spring', bounce: 0.3, } - ); - } + ); + } } onDotMouseDown(event) { @@ -522,7 +522,7 @@ if (event.button === 2) { return; } - const draggedDot = this.dots.find(dot => dot.Element === event.target) + const draggedDot = this.dots.find((dot) => dot.Element === event.target); if (draggedDot) { this.dragging = true; this.draggedDot = event.target; @@ -541,7 +541,7 @@ if (!event.target.classList.contains('zen-theme-picker-dot')) { return; } - this.dots = this.dots.filter(dot => dot.Element !== event.target); + this.dots = this.dots.filter((dot) => dot.Element !== event.target); event.target.remove(); let colorPositions = this.calculateCompliments(this.dots, true); this.handleColorPositions(colorPositions); @@ -566,7 +566,6 @@ } } - onDotMouseMove(event) { if (this.dragging) { event.preventDefault(); @@ -591,17 +590,17 @@ // set the location of the dot in pixels const relativeX = pixelX - rect.left; const relativeY = pixelY - rect.top; - - const draggedDot = this.dots.find(dot => dot.Element === this.draggedDot) + + const draggedDot = this.dots.find((dot) => dot.Element === this.draggedDot); draggedDot.Element.style.left = `${relativeX}px`; draggedDot.Element.style.top = `${relativeY}px`; draggedDot.Position = { - x: relativeX, - y: relativeY + x: relativeX, + y: relativeY, }; let colorPositions = this.calculateCompliments(this.dots, true); this.handleColorPositions(colorPositions); - + this.updateCurrentWorkspace(); } } From 3c323519a829e7f6df0f6dafaada442fe65757b9 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sun, 16 Feb 2025 02:38:55 -0600 Subject: [PATCH 12/40] fixed issue with removing dots in wrong order --- src/browser/base/zen-components/ZenGradientGenerator.mjs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 093e6c2b3..51091938b 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -543,6 +543,15 @@ } this.dots = this.dots.filter((dot) => dot.Element !== event.target); event.target.remove(); + + this.dots.sort((a, b) => a.ID - b.ID); + + // Reassign the IDs after sorting + this.dots.forEach((dot, index) => { + dot.ID = index; + }); + + console.log(this.dots); let colorPositions = this.calculateCompliments(this.dots, true); this.handleColorPositions(colorPositions); From 8783c469bedc0812973ed864a456dc909d464bc3 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sun, 16 Feb 2025 02:45:10 -0600 Subject: [PATCH 13/40] fixed white space issue --- 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 51091938b..6b5036c1b 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -548,7 +548,7 @@ // Reassign the IDs after sorting this.dots.forEach((dot, index) => { - dot.ID = index; + dot.ID = index; }); console.log(this.dots); From 944e7cb60a89cb4368bf35bebccf0d4d179c9fbf Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sun, 16 Feb 2025 03:03:33 -0600 Subject: [PATCH 14/40] dot now moves inside circle if user clicks outside circle instead of not appearing --- src/browser/base/zen-components/ZenGradientGenerator.mjs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 6b5036c1b..8c3c4160b 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -474,14 +474,15 @@ return; } - // Check if the click is within the circle const distance = Math.sqrt((pixelX - centerX) ** 2 + (pixelY - centerY) ** 2); if (distance > radius) { - return; + const angle = Math.atan2(pixelY - centerY, pixelX - centerX); + pixelX = centerX + Math.cos(angle) * radius; + pixelY = centerY + Math.sin(angle) * radius; } - const relativeX = event.clientX - rect.left; - const relativeY = event.clientY - rect.top; + const relativeX = pixelX - rect.left; + const relativeY = pixelY - rect.top; if (!clickedDot && this.dots.length < 1) { if (this.dots.length === 0) { From 2140029a4a3557cc39af864e1c7bde247bba79e3 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sun, 16 Feb 2025 03:23:37 -0600 Subject: [PATCH 15/40] fixed custom color input button css --- .../base/content/zen-styles/zen-gradient-generator.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/browser/base/content/zen-styles/zen-gradient-generator.css b/src/browser/base/content/zen-styles/zen-gradient-generator.css index 20980305c..411523b32 100644 --- a/src/browser/base/content/zen-styles/zen-gradient-generator.css +++ b/src/browser/base/content/zen-styles/zen-gradient-generator.css @@ -97,8 +97,8 @@ #PanelUI-zen-gradient-generator-color-custom-add { position: absolute; - right: 5px; - top: 5px; + right: 0px; + top: 0px; cursor: pointer; } From fdb26de6648a1b631325f5d5860c6aa7f9d3a51b Mon Sep 17 00:00:00 2001 From: "mr. m" Date: Sun, 16 Feb 2025 14:14:38 +0100 Subject: [PATCH 16/40] Small updates --- src/browser/app/profile/zen-browser.js | 1 + .../base/content/zen-popupset.inc.xhtml | 9 +++++ .../zen-styles/zen-gradient-generator.css | 33 +++++++++++++++++++ src/browser/themes/shared/zen-icons/icons.css | 6 ++-- 4 files changed, 47 insertions(+), 2 deletions(-) diff --git a/src/browser/app/profile/zen-browser.js b/src/browser/app/profile/zen-browser.js index fb124d615..fa3dfc6be 100644 --- a/src/browser/app/profile/zen-browser.js +++ b/src/browser/app/profile/zen-browser.js @@ -85,6 +85,7 @@ pref('zen.theme.accent-color', "#ffb787"); pref('zen.theme.content-element-separation', 6); // In pixels pref('zen.theme.pill-button', false); pref('zen.theme.gradient', true); +pref('zen.theme.gradient.show-custom-colors', false); pref('zen.theme.essentials-favicon-bg', true); pref('zen.tabs.show-newtab-vertical', true); diff --git a/src/browser/base/content/zen-popupset.inc.xhtml b/src/browser/base/content/zen-popupset.inc.xhtml index 043a877d4..45f3b9316 100644 --- a/src/browser/base/content/zen-popupset.inc.xhtml +++ b/src/browser/base/content/zen-popupset.inc.xhtml @@ -105,6 +105,15 @@ +
+ + + + +
diff --git a/src/browser/base/content/zen-styles/zen-gradient-generator.css b/src/browser/base/content/zen-styles/zen-gradient-generator.css index 411523b32..8c5c0893d 100644 --- a/src/browser/base/content/zen-styles/zen-gradient-generator.css +++ b/src/browser/base/content/zen-styles/zen-gradient-generator.css @@ -255,3 +255,36 @@ } } } + +#PanelUI-zen-gradient-generator-color-actions { + display: flex; + gap: 10px; + position: absolute; + bottom: 15px; + left: 50%; + transform: translateX(-50%); + & .separator, + & button { + background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.1)); + } + + & button { + padding: 0.4rem; + border-radius: 5px; + transition: background 0.2s; + &:hover { + background: light-dark(rgba(0,0,0,0.2), rgba(255,255,255,0.2)); + } + } + + & .separator { + width: 1px; + height: 20px; + } +} + +@media not (-moz-bool-pref: 'zen.theme.gradient.show-custom-colors') { + #PanelUI-zen-gradient-generator-custom-colors { + display: none !important; + } +} diff --git a/src/browser/themes/shared/zen-icons/icons.css b/src/browser/themes/shared/zen-icons/icons.css index a44d27339..36d1b2e34 100644 --- a/src/browser/themes/shared/zen-icons/icons.css +++ b/src/browser/themes/shared/zen-icons/icons.css @@ -45,7 +45,8 @@ list-style-image: url('reload.svg') !important; } -.tab-reset-button { +.tab-reset-button, +#PanelUI-zen-gradient-generator-color-remove { list-style-image: url('unpin.svg') !important; } @@ -87,7 +88,8 @@ list-style-image: url('translations.svg') !important; } -#appMenu-zoom-controls { +#appMenu-zoom-controls, +#PanelUI-zen-gradient-generator-color-add { list-style-image: url('plus.svg') !important; } From fdc8fd1b01a0d892ed942c64fe7d8c2af38a7e54 Mon Sep 17 00:00:00 2001 From: "mr. m" Date: Sun, 16 Feb 2025 16:57:18 +0100 Subject: [PATCH 17/40] New design --- .../base/content/zen-popupset.inc.xhtml | 6 ++--- .../zen-styles/zen-gradient-generator.css | 27 ++++++++++--------- .../zen-components/ZenGradientGenerator.mjs | 12 ++++++--- src/browser/themes/shared/zen-icons/icons.css | 4 +++ .../themes/shared/zen-icons/jar.inc.mn | 1 + .../themes/shared/zen-icons/palette.svg | 1 + 6 files changed, 33 insertions(+), 18 deletions(-) create mode 100644 src/browser/themes/shared/zen-icons/palette.svg diff --git a/src/browser/base/content/zen-popupset.inc.xhtml b/src/browser/base/content/zen-popupset.inc.xhtml index 45f3b9316..4bbcd7efd 100644 --- a/src/browser/base/content/zen-popupset.inc.xhtml +++ b/src/browser/base/content/zen-popupset.inc.xhtml @@ -106,12 +106,12 @@
- - -
diff --git a/src/browser/base/content/zen-styles/zen-gradient-generator.css b/src/browser/base/content/zen-styles/zen-gradient-generator.css index 8c5c0893d..7999c51f6 100644 --- a/src/browser/base/content/zen-styles/zen-gradient-generator.css +++ b/src/browser/base/content/zen-styles/zen-gradient-generator.css @@ -5,7 +5,7 @@ */ #PanelUI-zen-gradient-generator { - --panel-width: 300px; + --panel-width: 350px; --panel-padding: 10px; min-width: var(--panel-width); } @@ -68,9 +68,6 @@ padding-right: var(--panel-padding); align-items: center; gap: var(--panel-padding); - border-bottom: 1px solid color-mix(in srgb, var(--zen-colors-border) 50%, transparent 50%); - padding-bottom: 15px; - margin-bottom: 15px; } #zen-theme-picker-color { @@ -225,7 +222,7 @@ inset: 0; background-image: linear-gradient(to right, var(--zen-primary-color) 1px, transparent 1px), linear-gradient(to bottom, var(--zen-primary-color) 1px, transparent 1px); - background-size: 24px 24px; + background-size: 20px 20px; content: ''; position: absolute; top: 0; @@ -258,28 +255,34 @@ #PanelUI-zen-gradient-generator-color-actions { display: flex; - gap: 10px; position: absolute; - bottom: 15px; + bottom: 20px; left: 50%; + z-index: 1; transform: translateX(-50%); & .separator, & button { - background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.1)); + background: light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1)); } & button { - padding: 0.4rem; - border-radius: 5px; + border: none !important; + padding: 0.4rem !important; + min-width: fit-content !important; transition: background 0.2s; + & .button-text { + display: none; + } + appearance: none; &:hover { - background: light-dark(rgba(0,0,0,0.2), rgba(255,255,255,0.2)); + background: light-dark(rgba(0, 0, 0, 0.2), rgba(255, 255, 255, 0.2)); } } & .separator { width: 1px; - height: 20px; + margin: 0 0.5rem; + height: 30px; } } diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 8c3c4160b..2d2096d65 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -2,7 +2,7 @@ class ZenThemePicker extends ZenMultiWindowFeature { static GRADIENT_IMAGE_URL = 'chrome://browser/content/zen-images/gradient.png'; static GRADIENT_DISPLAY_URL = 'chrome://browser/content/zen-images/gradient-display.png'; - static MAX_DOTS = 5; + static MAX_DOTS = 3; currentOpacity = 0.5; currentRotation = 45; @@ -78,7 +78,7 @@ onImageLoad() { // resize the image to fit the panel - const imageSize = 300 - 20; // 20 is the padding (10px) + const imageSize = 350 - 20; // 20 is the padding (10px) const scale = imageSize / Math.max(this.image.width, this.image.height); this.image.width *= scale; this.image.height *= scale; @@ -448,12 +448,18 @@ onThemePickerClick(event) { event.preventDefault(); + const target = event.target; + if (target.id === 'PanelUI-zen-gradient-generator-color-add') { + if (this.dots.length >= ZenThemePicker.MAX_DOTS) return; + } else if (target.id === 'PanelUI-zen-gradient-generator-color-remove') { + } else if (target.id === 'PanelUI-zen-gradient-generator-color-toggle-algo') { + } if (event.button !== 0 || this.dragging || this.recentlyDragged) return; const gradient = this.panel.querySelector('.zen-theme-picker-gradient'); const rect = gradient.getBoundingClientRect(); - const padding = 90; + const padding = 60; const centerX = rect.left + rect.width / 2; const centerY = rect.top + rect.height / 2; diff --git a/src/browser/themes/shared/zen-icons/icons.css b/src/browser/themes/shared/zen-icons/icons.css index 36d1b2e34..aa00115d3 100644 --- a/src/browser/themes/shared/zen-icons/icons.css +++ b/src/browser/themes/shared/zen-icons/icons.css @@ -45,6 +45,10 @@ list-style-image: url('reload.svg') !important; } +#PanelUI-zen-gradient-generator-color-toggle-algo { + list-style-image: url('palette.svg'); +} + .tab-reset-button, #PanelUI-zen-gradient-generator-color-remove { list-style-image: url('unpin.svg') !important; diff --git a/src/browser/themes/shared/zen-icons/jar.inc.mn b/src/browser/themes/shared/zen-icons/jar.inc.mn index ba6f17c2c..011515c27 100644 --- a/src/browser/themes/shared/zen-icons/jar.inc.mn +++ b/src/browser/themes/shared/zen-icons/jar.inc.mn @@ -82,6 +82,7 @@ skin/classic/browser/zen-icons/nucleo-copyright-notice.html (../shared/zen-icons/nucleo-copyright-notice.html) skin/classic/browser/zen-icons/open.svg (../shared/zen-icons/open.svg) skin/classic/browser/zen-icons/page-portrait.svg (../shared/zen-icons/page-portrait.svg) + skin/classic/browser/zen-icons/palette.svg (../shared/zen-icons/palette.svg) skin/classic/browser/zen-icons/passwords.svg (../shared/zen-icons/passwords.svg) skin/classic/browser/zen-icons/paste-and-go.svg (../shared/zen-icons/paste-and-go.svg) skin/classic/browser/zen-icons/permissions.svg (../shared/zen-icons/permissions.svg) diff --git a/src/browser/themes/shared/zen-icons/palette.svg b/src/browser/themes/shared/zen-icons/palette.svg new file mode 100644 index 000000000..44c6edbf2 --- /dev/null +++ b/src/browser/themes/shared/zen-icons/palette.svg @@ -0,0 +1 @@ + \ No newline at end of file From dba5771f3f01737a030339080b719bcccfc5a61e Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sun, 16 Feb 2025 13:21:43 -0600 Subject: [PATCH 18/40] added floating dots and button functionality --- .../zen-components/ZenGradientGenerator.mjs | 64 +++++++++++++++---- 1 file changed, 53 insertions(+), 11 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 2d2096d65..6521f9ee6 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -7,7 +7,7 @@ currentOpacity = 0.5; currentRotation = 45; dots = []; - + useAlgo = ''; constructor() { super(); if (!Services.prefs.getBoolPref('zen.theme.gradient', true) || !ZenWorkspaces.shouldHaveWorkspaces) { @@ -174,9 +174,6 @@ if (event.key === 'Enter') { event.preventDefault(); this.addCustomColor(); - - let colorPositions = this.calculateCompliments(this.dots); - this.handleColorPositions(colorPositions); } } @@ -329,15 +326,19 @@ }); } - calculateCompliments(dots, dotRemoved = false) { + calculateCompliments(dots, dotRemoved = false, useHarmony = '') { const colorHarmonies = [ { type: 'complementary', angles: [180] }, { type: 'splitComplementary', angles: [150, 210] }, { type: 'analogous', angles: [30, 330] }, { type: 'triadic', angles: [120, 240] }, + { type: 'floating', angles: [] }, ]; function getColorHarmonyType(numDots) { + if (useHarmony === 'floating') { + return colorHarmonies.find((harmony) => harmony.type === useHarmony); + } if (dotRemoved) { return colorHarmonies.find((harmony) => harmony.angles.length === numDots - 1); } @@ -362,12 +363,18 @@ const rect = dotPad.getBoundingClientRect(); const padding = 90; + let updatedDots = []; const centerX = rect.left + rect.width / 2; const centerY = rect.top + rect.height / 2; const radius = (rect.width - padding) / 2; const centerPosition = { x: rect.width / 2, y: rect.height / 2 }; const harmonyAngles = getColorHarmonyType(dots.length); + if (harmonyAngles.type === 'floating' && dotRemoved === false) { + updatedDots = this.dots.map((dot) => ({ ID: dot.ID, Position: dot.Position })); + updatedDots.push({ ID: this.dots.length, Position: centerPosition }); + return updatedDots; + } if (!harmonyAngles || harmonyAngles.angles.length === 0) return []; let primaryDot = dots.find((dot) => dot.ID === 0); @@ -384,7 +391,6 @@ dots.sort((a, b) => a.ID - b.ID); - let updatedDots = []; harmonyAngles.angles.forEach((angleOffset, index) => { let newAngle = (baseAngle + angleOffset) % 360; let radian = (newAngle * Math.PI) / 180; @@ -397,12 +403,24 @@ updatedDots.push({ ID: index + 1, Position: newPosition }); }); + this.useAlgo = harmonyAngles.type; return updatedDots; } handleColorPositions(colorPositions) { colorPositions.sort((a, b) => a.ID - b.ID); + if (this.useAlgo === 'floating') { + this.dots.forEach((dot) => { + dot.Element.style.zIndex = 999; + const colorFromPos = this.getColorFromPosition(dot.Position.x, dot.Position.y); + dot.Element.style.setProperty( + '--zen-theme-picker-dot-color', + `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})` + ); + }); + } + const existingPrimaryDot = this.dots.find((d) => d.ID === 0); if (existingPrimaryDot) { @@ -413,6 +431,7 @@ `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})` ); } + colorPositions.forEach((dotPosition) => { const existingDot = this.dots.find((dot) => dot.ID === dotPosition.ID); @@ -451,8 +470,31 @@ const target = event.target; if (target.id === 'PanelUI-zen-gradient-generator-color-add') { if (this.dots.length >= ZenThemePicker.MAX_DOTS) return; + let colorPositions = this.calculateCompliments(this.dots, false, this.useAlgo); + this.handleColorPositions(colorPositions); + this.updateCurrentWorkspace(); + return; } else if (target.id === 'PanelUI-zen-gradient-generator-color-remove') { + this.dots.sort((a, b) => a.ID - b.ID); + if (this.dots.length === 0) return; + + const lastDot = this.dots.pop(); + lastDot.Element.remove(); + + this.dots.forEach((dot, index) => { + dot.ID = index; + }); + + let colorPositions = this.calculateCompliments(this.dots, true, this.useAlgo); + this.handleColorPositions(colorPositions); + this.updateCurrentWorkspace(); + return; } else if (target.id === 'PanelUI-zen-gradient-generator-color-toggle-algo') { + this.useAlgo = this.useAlgo === 'floating' ? '' : 'floating'; + let colorPositions = this.calculateCompliments(this.dots, true, this.useAlgo); + this.handleColorPositions(colorPositions); + this.updateCurrentWorkspace(); + return; } if (event.button !== 0 || this.dragging || this.recentlyDragged) return; @@ -470,12 +512,13 @@ const clickedElement = event.target; let clickedDot = null; const existingPrimaryDot = this.dots.find((d) => d.ID === 0); + clickedDot = this.dots.find((dot) => dot.Element === clickedElement); if (clickedDot) { existingPrimaryDot.ID = clickedDot.ID; clickedDot.ID = 0; clickedDot.Element.style.zIndex = 999; - let colorPositions = this.calculateCompliments(this.dots, true); + let colorPositions = this.calculateCompliments(this.dots, true, this.useAlgo); this.handleColorPositions(colorPositions); return; } @@ -506,7 +549,7 @@ y: relativeY, }; - let colorPositions = this.calculateCompliments(this.dots, true); + let colorPositions = this.calculateCompliments(this.dots, true, this.useAlgo); this.handleColorPositions(colorPositions); gZenUIManager.motion.animate( @@ -558,8 +601,7 @@ dot.ID = index; }); - console.log(this.dots); - let colorPositions = this.calculateCompliments(this.dots, true); + let colorPositions = this.calculateCompliments(this.dots, true, this.useAlgo); this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(); @@ -614,7 +656,7 @@ x: relativeX, y: relativeY, }; - let colorPositions = this.calculateCompliments(this.dots, true); + let colorPositions = this.calculateCompliments(this.dots, true, this.useAlgo); this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(); From e2775c17de040f232d5503a417756a69665f14a3 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Sun, 16 Feb 2025 16:05:11 -0600 Subject: [PATCH 19/40] added the swap mode functionality to the button --- .../zen-components/ZenGradientGenerator.mjs | 179 ++++++++++-------- 1 file changed, 103 insertions(+), 76 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 6521f9ee6..094ff59cd 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -326,86 +326,97 @@ }); } - calculateCompliments(dots, dotRemoved = false, useHarmony = '') { + calculateCompliments(dots, action = 'update', useHarmony = '') { const colorHarmonies = [ - { type: 'complementary', angles: [180] }, - { type: 'splitComplementary', angles: [150, 210] }, - { type: 'analogous', angles: [30, 330] }, - { type: 'triadic', angles: [120, 240] }, - { type: 'floating', angles: [] }, + { type: 'complementary', angles: [180] }, + { type: 'splitComplementary', angles: [150, 210] }, + { type: 'analogous', angles: [30, 330] }, + { type: 'triadic', angles: [120, 240] }, + { type: 'floating', angles: [] }, ]; - + function getColorHarmonyType(numDots) { - if (useHarmony === 'floating') { - return colorHarmonies.find((harmony) => harmony.type === useHarmony); + if (useHarmony !== '') { + const selectedHarmony = colorHarmonies.find(harmony => harmony.type === useHarmony); + if (selectedHarmony) { + if (action === 'remove') { + return colorHarmonies.find(harmony => harmony.angles.length === selectedHarmony.angles.length - 1); + } + if (action === 'add') { + return colorHarmonies.find(harmony => harmony.angles.length === selectedHarmony.angles.length + 1); + } + if (action === 'update') { + return selectedHarmony; + } + } } - if (dotRemoved) { - return colorHarmonies.find((harmony) => harmony.angles.length === numDots - 1); - } - return colorHarmonies.find((harmony) => harmony.angles.length === numDots); - } - // rule: if the data will be inputed into an argument it should be stored as an object else not + if (action === 'remove') { + return colorHarmonies.find(harmony => harmony.angles.length === numDots); + } + if (action === 'add') { + return colorHarmonies.find(harmony => harmony.angles.length + 1 === numDots); + } + if (action === 'update') { + return colorHarmonies.find(harmony => harmony.angles.length + 1 === numDots); + } + } + function getAngleFromPosition(position, centerPosition) { - let deltaX = position.x - centerPosition.x; - let deltaY = position.y - centerPosition.y; - let angle = Math.atan2(deltaY, deltaX) * (180 / Math.PI); - return (angle + 360) % 360; + let deltaX = position.x - centerPosition.x; + let deltaY = position.y - centerPosition.y; + let angle = Math.atan2(deltaY, deltaX) * (180 / Math.PI); + return (angle + 360) % 360; } - + function getDistanceFromCenter(position, centerPosition) { - const deltaX = position.x - centerPosition.x; - const deltaY = position.y - centerPosition.y; - return Math.sqrt(deltaX * deltaX + deltaY * deltaY); + const deltaX = position.x - centerPosition.x; + const deltaY = position.y - centerPosition.y; + return Math.sqrt(deltaX * deltaX + deltaY * deltaY); } - + const dotPad = this.panel.querySelector('.zen-theme-picker-gradient'); const rect = dotPad.getBoundingClientRect(); const padding = 90; - - let updatedDots = []; - const centerX = rect.left + rect.width / 2; - const centerY = rect.top + rect.height / 2; - const radius = (rect.width - padding) / 2; + + let updatedDots = [...dots]; const centerPosition = { x: rect.width / 2, y: rect.height / 2 }; - - const harmonyAngles = getColorHarmonyType(dots.length); - if (harmonyAngles.type === 'floating' && dotRemoved === false) { - updatedDots = this.dots.map((dot) => ({ ID: dot.ID, Position: dot.Position })); - updatedDots.push({ ID: this.dots.length, Position: centerPosition }); - return updatedDots; - } - if (!harmonyAngles || harmonyAngles.angles.length === 0) return []; - - let primaryDot = dots.find((dot) => dot.ID === 0); - - if (!primaryDot) return []; - - const baseAngle = getAngleFromPosition(primaryDot.Position, centerPosition); - - let distance = getDistanceFromCenter(primaryDot.Position, centerPosition); - - if (distance > radius) { - distance = radius; - } - - dots.sort((a, b) => a.ID - b.ID); - - harmonyAngles.angles.forEach((angleOffset, index) => { - let newAngle = (baseAngle + angleOffset) % 360; - let radian = (newAngle * Math.PI) / 180; - - let newPosition = { - x: centerPosition.x + distance * Math.cos(radian), - y: centerPosition.y + distance * Math.sin(radian), - }; - - updatedDots.push({ ID: index + 1, Position: newPosition }); - }); - + + // **Get the correct harmony based on action** + const harmonyAngles = getColorHarmonyType(dots.length + (action === 'add' ? 1 : action === 'remove' ? -1 : 0)); this.useAlgo = harmonyAngles.type; + + if (!harmonyAngles || harmonyAngles.angles.length === 0) return []; + + let primaryDot = dots.find(dot => dot.ID === 0); + if (!primaryDot) return []; + + if (action === 'add' && this.dots.length) { + updatedDots.push({ ID: this.dots.length, Position: centerPosition }); + } + const baseAngle = getAngleFromPosition(primaryDot.Position, centerPosition); + let distance = getDistanceFromCenter(primaryDot.Position, centerPosition); + const radius = (rect.width - padding) / 2; + if (distance > radius) distance = radius; + + if (this.dots.length > 0) { + updatedDots = [{ ID: 0, Position: primaryDot.Position }]; + } + // **Recalculate Positions for New Harmony** + harmonyAngles.angles.forEach((angleOffset, index) => { + let newAngle = (baseAngle + angleOffset) % 360; + let radian = (newAngle * Math.PI) / 180; + + let newPosition = { + x: centerPosition.x + distance * Math.cos(radian), + y: centerPosition.y + distance * Math.sin(radian), + }; + + updatedDots.push({ ID: index + 1, Position: newPosition }); + }); + return updatedDots; - } + } handleColorPositions(colorPositions) { colorPositions.sort((a, b) => a.ID - b.ID); @@ -470,7 +481,7 @@ const target = event.target; if (target.id === 'PanelUI-zen-gradient-generator-color-add') { if (this.dots.length >= ZenThemePicker.MAX_DOTS) return; - let colorPositions = this.calculateCompliments(this.dots, false, this.useAlgo); + let colorPositions = this.calculateCompliments(this.dots, "add", this.useAlgo); this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(); return; @@ -485,16 +496,32 @@ dot.ID = index; }); - let colorPositions = this.calculateCompliments(this.dots, true, this.useAlgo); + let colorPositions = this.calculateCompliments(this.dots, "remove", this.useAlgo); this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(); return; } else if (target.id === 'PanelUI-zen-gradient-generator-color-toggle-algo') { - this.useAlgo = this.useAlgo === 'floating' ? '' : 'floating'; - let colorPositions = this.calculateCompliments(this.dots, true, this.useAlgo); - this.handleColorPositions(colorPositions); - this.updateCurrentWorkspace(); - return; + const colorHarmonies = [ + { type: 'complementary', angles: [180] }, + { type: 'splitComplementary', angles: [150, 210] }, + { type: 'analogous', angles: [30, 330] }, + { type: 'triadic', angles: [120, 240] }, + { type: 'floating', angles: [] }, + ]; + + const applicableHarmonies = colorHarmonies.filter(harmony => + harmony.angles.length + 1 === this.dots.length || harmony.type === 'floating' + ); + + let currentIndex = applicableHarmonies.findIndex(harmony => harmony.type === this.useAlgo); + + let nextIndex = (currentIndex === -1) ? 0 : (currentIndex + 1) % applicableHarmonies.length; + this.useAlgo = applicableHarmonies[nextIndex].type; + + let colorPositions = this.calculateCompliments(this.dots, "update", this.useAlgo); + this.handleColorPositions(colorPositions); + this.updateCurrentWorkspace(); + return; } if (event.button !== 0 || this.dragging || this.recentlyDragged) return; @@ -518,7 +545,7 @@ existingPrimaryDot.ID = clickedDot.ID; clickedDot.ID = 0; clickedDot.Element.style.zIndex = 999; - let colorPositions = this.calculateCompliments(this.dots, true, this.useAlgo); + let colorPositions = this.calculateCompliments(this.dots, "update", this.useAlgo); this.handleColorPositions(colorPositions); return; } @@ -549,7 +576,7 @@ y: relativeY, }; - let colorPositions = this.calculateCompliments(this.dots, true, this.useAlgo); + let colorPositions = this.calculateCompliments(this.dots, "update", this.useAlgo); this.handleColorPositions(colorPositions); gZenUIManager.motion.animate( @@ -601,7 +628,7 @@ dot.ID = index; }); - let colorPositions = this.calculateCompliments(this.dots, true, this.useAlgo); + let colorPositions = this.calculateCompliments(this.dots, "update", this.useAlgo); this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(); @@ -656,7 +683,7 @@ x: relativeX, y: relativeY, }; - let colorPositions = this.calculateCompliments(this.dots, true, this.useAlgo); + let colorPositions = this.calculateCompliments(this.dots, "update", this.useAlgo); this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(); From baff7cb94726f98e65c61068e5f383c964945580 Mon Sep 17 00:00:00 2001 From: Studio Movie Girl <168581144+neurokitti@users.noreply.github.com> Date: Sun, 16 Feb 2025 16:53:48 -0600 Subject: [PATCH 20/40] Update ZenGradientGenerator.mjs Signed-off-by: Studio Movie Girl <168581144+neurokitti@users.noreply.github.com> --- src/browser/base/zen-components/ZenGradientGenerator.mjs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 094ff59cd..87b7e1d04 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -382,7 +382,6 @@ let updatedDots = [...dots]; const centerPosition = { x: rect.width / 2, y: rect.height / 2 }; - // **Get the correct harmony based on action** const harmonyAngles = getColorHarmonyType(dots.length + (action === 'add' ? 1 : action === 'remove' ? -1 : 0)); this.useAlgo = harmonyAngles.type; @@ -402,7 +401,7 @@ if (this.dots.length > 0) { updatedDots = [{ ID: 0, Position: primaryDot.Position }]; } - // **Recalculate Positions for New Harmony** + harmonyAngles.angles.forEach((angleOffset, index) => { let newAngle = (baseAngle + angleOffset) % 360; let radian = (newAngle * Math.PI) / 180; From 664daf4f8421d20ec183f2b294ad808f7ae0e73d Mon Sep 17 00:00:00 2001 From: Studio Movie Girl <168581144+neurokitti@users.noreply.github.com> Date: Sun, 16 Feb 2025 17:14:53 -0600 Subject: [PATCH 21/40] Update ZenGradientGenerator.mjs Signed-off-by: Studio Movie Girl <168581144+neurokitti@users.noreply.github.com> --- .../zen-components/ZenGradientGenerator.mjs | 128 +++++++++--------- 1 file changed, 65 insertions(+), 63 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 87b7e1d04..37bfc8901 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -310,6 +310,7 @@ if (primary === true) { id = 0; + const existingPrimaryDot = this.dots.find((d) => d.ID === 0); if (existingPrimaryDot) { existingPrimaryDot.ID = this.dots.length; @@ -328,22 +329,22 @@ calculateCompliments(dots, action = 'update', useHarmony = '') { const colorHarmonies = [ - { type: 'complementary', angles: [180] }, - { type: 'splitComplementary', angles: [150, 210] }, - { type: 'analogous', angles: [30, 330] }, - { type: 'triadic', angles: [120, 240] }, - { type: 'floating', angles: [] }, + { type: 'complementary', angles: [180] }, + { type: 'splitComplementary', angles: [150, 210] }, + { type: 'analogous', angles: [30, 330] }, + { type: 'triadic', angles: [120, 240] }, + { type: 'floating', angles: [] }, ]; - + function getColorHarmonyType(numDots) { if (useHarmony !== '') { - const selectedHarmony = colorHarmonies.find(harmony => harmony.type === useHarmony); + const selectedHarmony = colorHarmonies.find((harmony) => harmony.type === useHarmony); if (selectedHarmony) { if (action === 'remove') { - return colorHarmonies.find(harmony => harmony.angles.length === selectedHarmony.angles.length - 1); + return colorHarmonies.find((harmony) => harmony.angles.length === selectedHarmony.angles.length - 1); } if (action === 'add') { - return colorHarmonies.find(harmony => harmony.angles.length === selectedHarmony.angles.length + 1); + return colorHarmonies.find((harmony) => harmony.angles.length === selectedHarmony.angles.length + 1); } if (action === 'update') { return selectedHarmony; @@ -352,44 +353,44 @@ } if (action === 'remove') { - return colorHarmonies.find(harmony => harmony.angles.length === numDots); + return colorHarmonies.find((harmony) => harmony.angles.length === numDots); } if (action === 'add') { - return colorHarmonies.find(harmony => harmony.angles.length + 1 === numDots); + return colorHarmonies.find((harmony) => harmony.angles.length + 1 === numDots); } if (action === 'update') { - return colorHarmonies.find(harmony => harmony.angles.length + 1 === numDots); + return colorHarmonies.find((harmony) => harmony.angles.length + 1 === numDots); } - } - + } + function getAngleFromPosition(position, centerPosition) { - let deltaX = position.x - centerPosition.x; - let deltaY = position.y - centerPosition.y; - let angle = Math.atan2(deltaY, deltaX) * (180 / Math.PI); - return (angle + 360) % 360; + let deltaX = position.x - centerPosition.x; + let deltaY = position.y - centerPosition.y; + let angle = Math.atan2(deltaY, deltaX) * (180 / Math.PI); + return (angle + 360) % 360; } - + function getDistanceFromCenter(position, centerPosition) { - const deltaX = position.x - centerPosition.x; - const deltaY = position.y - centerPosition.y; - return Math.sqrt(deltaX * deltaX + deltaY * deltaY); + const deltaX = position.x - centerPosition.x; + const deltaY = position.y - centerPosition.y; + return Math.sqrt(deltaX * deltaX + deltaY * deltaY); } - + const dotPad = this.panel.querySelector('.zen-theme-picker-gradient'); const rect = dotPad.getBoundingClientRect(); const padding = 90; - + let updatedDots = [...dots]; const centerPosition = { x: rect.width / 2, y: rect.height / 2 }; - + const harmonyAngles = getColorHarmonyType(dots.length + (action === 'add' ? 1 : action === 'remove' ? -1 : 0)); this.useAlgo = harmonyAngles.type; - + if (!harmonyAngles || harmonyAngles.angles.length === 0) return []; - - let primaryDot = dots.find(dot => dot.ID === 0); + + let primaryDot = dots.find((dot) => dot.ID === 0); if (!primaryDot) return []; - + if (action === 'add' && this.dots.length) { updatedDots.push({ ID: this.dots.length, Position: centerPosition }); } @@ -397,25 +398,25 @@ let distance = getDistanceFromCenter(primaryDot.Position, centerPosition); const radius = (rect.width - padding) / 2; if (distance > radius) distance = radius; - + if (this.dots.length > 0) { updatedDots = [{ ID: 0, Position: primaryDot.Position }]; } - + harmonyAngles.angles.forEach((angleOffset, index) => { - let newAngle = (baseAngle + angleOffset) % 360; - let radian = (newAngle * Math.PI) / 180; - - let newPosition = { - x: centerPosition.x + distance * Math.cos(radian), - y: centerPosition.y + distance * Math.sin(radian), - }; - - updatedDots.push({ ID: index + 1, Position: newPosition }); + let newAngle = (baseAngle + angleOffset) % 360; + let radian = (newAngle * Math.PI) / 180; + + let newPosition = { + x: centerPosition.x + distance * Math.cos(radian), + y: centerPosition.y + distance * Math.sin(radian), + }; + + updatedDots.push({ ID: index + 1, Position: newPosition }); }); - + return updatedDots; - } + } handleColorPositions(colorPositions) { colorPositions.sort((a, b) => a.ID - b.ID); @@ -480,7 +481,7 @@ const target = event.target; if (target.id === 'PanelUI-zen-gradient-generator-color-add') { if (this.dots.length >= ZenThemePicker.MAX_DOTS) return; - let colorPositions = this.calculateCompliments(this.dots, "add", this.useAlgo); + let colorPositions = this.calculateCompliments(this.dots, 'add', this.useAlgo); this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(); return; @@ -495,7 +496,7 @@ dot.ID = index; }); - let colorPositions = this.calculateCompliments(this.dots, "remove", this.useAlgo); + let colorPositions = this.calculateCompliments(this.dots, 'remove', this.useAlgo); this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(); return; @@ -506,21 +507,21 @@ { type: 'analogous', angles: [30, 330] }, { type: 'triadic', angles: [120, 240] }, { type: 'floating', angles: [] }, - ]; - - const applicableHarmonies = colorHarmonies.filter(harmony => - harmony.angles.length + 1 === this.dots.length || harmony.type === 'floating' - ); - - let currentIndex = applicableHarmonies.findIndex(harmony => harmony.type === this.useAlgo); + ]; - let nextIndex = (currentIndex === -1) ? 0 : (currentIndex + 1) % applicableHarmonies.length; - this.useAlgo = applicableHarmonies[nextIndex].type; - - let colorPositions = this.calculateCompliments(this.dots, "update", this.useAlgo); - this.handleColorPositions(colorPositions); - this.updateCurrentWorkspace(); - return; + const applicableHarmonies = colorHarmonies.filter( + (harmony) => harmony.angles.length + 1 === this.dots.length || harmony.type === 'floating' + ); + + let currentIndex = applicableHarmonies.findIndex((harmony) => harmony.type === this.useAlgo); + + let nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % applicableHarmonies.length; + this.useAlgo = applicableHarmonies[nextIndex].type; + + let colorPositions = this.calculateCompliments(this.dots, 'update', this.useAlgo); + this.handleColorPositions(colorPositions); + this.updateCurrentWorkspace(); + return; } if (event.button !== 0 || this.dragging || this.recentlyDragged) return; @@ -544,7 +545,7 @@ existingPrimaryDot.ID = clickedDot.ID; clickedDot.ID = 0; clickedDot.Element.style.zIndex = 999; - let colorPositions = this.calculateCompliments(this.dots, "update", this.useAlgo); + let colorPositions = this.calculateCompliments(this.dots, 'update', this.useAlgo); this.handleColorPositions(colorPositions); return; } @@ -575,9 +576,10 @@ y: relativeY, }; - let colorPositions = this.calculateCompliments(this.dots, "update", this.useAlgo); + let colorPositions = this.calculateCompliments(this.dots, 'update', this.useAlgo); this.handleColorPositions(colorPositions); - + this.updateCurrentWorkspace(true); + gZenUIManager.motion.animate( existingPrimaryDot.Element, { @@ -627,7 +629,7 @@ dot.ID = index; }); - let colorPositions = this.calculateCompliments(this.dots, "update", this.useAlgo); + let colorPositions = this.calculateCompliments(this.dots, 'update', this.useAlgo); this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(); @@ -682,7 +684,7 @@ x: relativeX, y: relativeY, }; - let colorPositions = this.calculateCompliments(this.dots, "update", this.useAlgo); + let colorPositions = this.calculateCompliments(this.dots, 'update', this.useAlgo); this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(); From 2affdf680fcdadd59553d277e0c70ec067db256a Mon Sep 17 00:00:00 2001 From: Studio Movie Girl <168581144+neurokitti@users.noreply.github.com> Date: Mon, 17 Feb 2025 14:53:47 -0600 Subject: [PATCH 22/40] Update ZenGradientGenerator.mjs Signed-off-by: Studio Movie Girl <168581144+neurokitti@users.noreply.github.com> --- .../zen-components/ZenGradientGenerator.mjs | 76 +------------------ 1 file changed, 3 insertions(+), 73 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 37bfc8901..4916a623b 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -32,7 +32,6 @@ this.onDarkModeChange.bind(this) ); - this.initRotation(); this.initCanvas(); this.initCustomColorInput(); @@ -97,74 +96,6 @@ this.onDarkModeChange(null); } - initRotation() { - this.rotationInput = document.getElementById('PanelUI-zen-gradient-degrees'); - this.rotationInputDot = this.rotationInput.querySelector('.dot'); - this.rotationInputText = this.rotationInput.querySelector('.text'); - this.rotationInputDot.addEventListener('mousedown', this.onRotationMouseDown.bind(this)); - this.rotationInput.addEventListener('wheel', this.onRotationWheel.bind(this)); - } - - onRotationWheel(event) { - event.preventDefault(); - const delta = event.deltaY; - const degrees = this.currentRotation + (delta > 0 ? 10 : -10); - this.setRotationInput(degrees); - this.updateCurrentWorkspace(); - } - - onRotationMouseDown(event) { - event.preventDefault(); - this.rotationDragging = true; - this.rotationInputDot.style.zIndex = 2; - this.rotationInputDot.classList.add('dragging'); - document.addEventListener('mousemove', this.onRotationMouseMove.bind(this)); - document.addEventListener('mouseup', this.onRotationMouseUp.bind(this)); - } - - onRotationMouseUp(event) { - this.rotationDragging = false; - this.rotationInputDot.style.zIndex = 1; - this.rotationInputDot.classList.remove('dragging'); - document.removeEventListener('mousemove', this.onRotationMouseMove.bind(this)); - document.removeEventListener('mouseup', this.onRotationMouseUp.bind(this)); - } - - onRotationMouseMove(event) { - if (this.rotationDragging) { - event.preventDefault(); - const rect = this.rotationInput.getBoundingClientRect(); - // Make the dot follow the mouse in a circle, it can't go outside or inside the circle - const centerX = rect.left + rect.width / 2; - const centerY = rect.top + rect.height / 2; - const angle = Math.atan2(event.clientY - centerY, event.clientX - centerX); - const distance = Math.sqrt((event.clientX - centerX) ** 2 + (event.clientY - centerY) ** 2); - const radius = rect.width / 2; - let x = centerX + Math.cos(angle) * radius; - let y = centerY + Math.sin(angle) * radius; - if (distance > radius) { - x = event.clientX; - y = event.clientY; - } - const degrees = Math.round((Math.atan2(y - centerY, x - centerX) * 180) / Math.PI); - this.setRotationInput(degrees); - this.updateCurrentWorkspace(); - } - } - - setRotationInput(degrees) { - let fixedRotation = degrees; - while (fixedRotation < 0) { - fixedRotation += 360; - } - while (fixedRotation >= 360) { - fixedRotation -= 360; - } - this.currentRotation = degrees; - this.rotationInputDot.style.transform = `rotate(${degrees - 20}deg)`; - this.rotationInputText.textContent = `${fixedRotation}°`; - } - initCustomColorInput() { this.customColorInput.addEventListener('keydown', this.onCustomColorKeydown.bind(this)); } @@ -579,12 +510,12 @@ let colorPositions = this.calculateCompliments(this.dots, 'update', this.useAlgo); this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(true); - + gZenUIManager.motion.animate( existingPrimaryDot.Element, { - left: `${relativeX}px`, - top: `${relativeY}px`, + left: `${existingPrimaryDot.Position.x}px`, + top: `${existingPrimaryDot.Position.y}px`, }, { duration: 0.4, @@ -910,7 +841,6 @@ browser.gZenThemePicker.currentOpacity; browser.document.getElementById('PanelUI-zen-gradient-generator-texture').value = browser.gZenThemePicker.currentTexture; - browser.gZenThemePicker.setRotationInput(browser.gZenThemePicker.currentRotation); const gradient = browser.gZenThemePicker.getGradient(workspaceTheme.gradientColors); const gradientToolbar = browser.gZenThemePicker.getGradient(workspaceTheme.gradientColors, true); From ee16ce65eceb5b004941a9d61c2fbb6787af7be9 Mon Sep 17 00:00:00 2001 From: Studio Movie Girl <168581144+neurokitti@users.noreply.github.com> Date: Mon, 17 Feb 2025 14:54:24 -0600 Subject: [PATCH 23/40] Update zen-gradient-generator.css Signed-off-by: Studio Movie Girl <168581144+neurokitti@users.noreply.github.com> --- .../zen-styles/zen-gradient-generator.css | 47 ------------------- 1 file changed, 47 deletions(-) diff --git a/src/browser/base/content/zen-styles/zen-gradient-generator.css b/src/browser/base/content/zen-styles/zen-gradient-generator.css index 7999c51f6..cd6a9de06 100644 --- a/src/browser/base/content/zen-styles/zen-gradient-generator.css +++ b/src/browser/base/content/zen-styles/zen-gradient-generator.css @@ -17,53 +17,6 @@ width: 100%; } -#PanelUI-zen-gradient-degrees { - position: relative; - border-radius: 999px; - min-height: 50px; - min-width: 50px; - max-height: 50px; - max-width: 50px; - border: 3px solid var(--zen-primary-color); - display: flex; - justify-items: center; - align-items: center; - z-index: 1; - - & .dot { - position: absolute; - z-index: 2; - /* +3 because of the border */ - width: 53px; - height: 53px; - top: -3px; - left: -3px; - - &::after { - width: 10px; - height: 10px; - border-radius: 50%; - background: var(--zen-colors-tertiary); - box-shadow: 0 0 0 2px var(--zen-themed-toolbar-bg); - cursor: grab; - content: ''; - position: absolute; - bottom: 2px; - right: 0; - border: 2px solid var(--zen-colors-border); - transition: transform 0.2s; - } - - &[dragging='true']::after { - transform: scale(1.2); - } - } - - & .text { - margin: 0 auto; - } -} - #PanelUI-zen-gradient-generator-controls { padding-right: var(--panel-padding); align-items: center; From 8c0e4a09d1a779f99d6ca017065eb7a376e01650 Mon Sep 17 00:00:00 2001 From: Studio Movie Girl <168581144+neurokitti@users.noreply.github.com> Date: Mon, 17 Feb 2025 14:55:01 -0600 Subject: [PATCH 24/40] Update zen-popupset.inc.xhtml Signed-off-by: Studio Movie Girl <168581144+neurokitti@users.noreply.github.com> --- src/browser/base/content/zen-popupset.inc.xhtml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/browser/base/content/zen-popupset.inc.xhtml b/src/browser/base/content/zen-popupset.inc.xhtml index 4bbcd7efd..b890eefde 100644 --- a/src/browser/base/content/zen-popupset.inc.xhtml +++ b/src/browser/base/content/zen-popupset.inc.xhtml @@ -117,10 +117,6 @@
- - - - From 327c8f5a5796d21499081bbd7e4db3dba4080277 Mon Sep 17 00:00:00 2001 From: "mr. m" <91018726+mauro-balades@users.noreply.github.com> Date: Mon, 17 Feb 2025 22:01:11 +0100 Subject: [PATCH 25/40] Discard changes to src/browser/themes/shared/zen-icons/jar.inc.mn --- src/browser/themes/shared/zen-icons/jar.inc.mn | 1 - 1 file changed, 1 deletion(-) diff --git a/src/browser/themes/shared/zen-icons/jar.inc.mn b/src/browser/themes/shared/zen-icons/jar.inc.mn index 011515c27..ba6f17c2c 100644 --- a/src/browser/themes/shared/zen-icons/jar.inc.mn +++ b/src/browser/themes/shared/zen-icons/jar.inc.mn @@ -82,7 +82,6 @@ skin/classic/browser/zen-icons/nucleo-copyright-notice.html (../shared/zen-icons/nucleo-copyright-notice.html) skin/classic/browser/zen-icons/open.svg (../shared/zen-icons/open.svg) skin/classic/browser/zen-icons/page-portrait.svg (../shared/zen-icons/page-portrait.svg) - skin/classic/browser/zen-icons/palette.svg (../shared/zen-icons/palette.svg) skin/classic/browser/zen-icons/passwords.svg (../shared/zen-icons/passwords.svg) skin/classic/browser/zen-icons/paste-and-go.svg (../shared/zen-icons/paste-and-go.svg) skin/classic/browser/zen-icons/permissions.svg (../shared/zen-icons/permissions.svg) From 63c52cc40a701b7abc3d4022708362b4dce5a238 Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Mon, 17 Feb 2025 22:03:24 +0100 Subject: [PATCH 26/40] Update subproject commit reference in l10n --- l10n | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/l10n b/l10n index 83464a5d3..bd83bef82 160000 --- a/l10n +++ b/l10n @@ -1 +1 @@ -Subproject commit 83464a5d3596558a8d15c7fd7f495f61726a0f05 +Subproject commit bd83bef82c769661c8bd64a773b645f182fd2b6d From 10ae6491c9bfbceaf08b738f6bf92349c4f64315 Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Mon, 17 Feb 2025 22:22:22 +0100 Subject: [PATCH 27/40] Update gradient generator styles and replace palette icon --- l10n | 2 +- .../base/content/zen-styles/zen-gradient-generator.css | 5 +++-- src/browser/base/zen-components/ZenGradientGenerator.mjs | 3 +++ src/browser/themes/shared/zen-icons/lin/palette.svg | 8 +------- src/browser/themes/shared/zen-icons/palette.svg | 1 - 5 files changed, 8 insertions(+), 11 deletions(-) delete mode 100644 src/browser/themes/shared/zen-icons/palette.svg diff --git a/l10n b/l10n index bd83bef82..1ff8a1e21 160000 --- a/l10n +++ b/l10n @@ -1 +1 @@ -Subproject commit bd83bef82c769661c8bd64a773b645f182fd2b6d +Subproject commit 1ff8a1e21c63814809df0d5f1bbd291a825607c0 diff --git a/src/browser/base/content/zen-styles/zen-gradient-generator.css b/src/browser/base/content/zen-styles/zen-gradient-generator.css index cd6a9de06..ba1612f63 100644 --- a/src/browser/base/content/zen-styles/zen-gradient-generator.css +++ b/src/browser/base/content/zen-styles/zen-gradient-generator.css @@ -5,7 +5,7 @@ */ #PanelUI-zen-gradient-generator { - --panel-width: 350px; + --panel-width: 325px; --panel-padding: 10px; min-width: var(--panel-width); } @@ -207,6 +207,7 @@ } #PanelUI-zen-gradient-generator-color-actions { + color-scheme: dark; /* Always use light colors */ display: flex; position: absolute; bottom: 20px; @@ -223,7 +224,7 @@ padding: 0.4rem !important; min-width: fit-content !important; transition: background 0.2s; - & .button-text { + &:not(#PanelUI-zen-gradient-generator-color-toggle-algo) .button-text { display: none; } appearance: none; diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 54ed99b87..e383f193f 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -806,6 +806,9 @@ }); } + const button = browser.document.getElementById('PanelUI-zen-gradient-generator-color-toggle-algo'); + document.l10n.setAttributes(button, `zen-panel-ui-gradient-generator-algo-${browser.gZenThemePicker.useAlgo}`); + browser.gZenThemePicker.resetCustomColorList(); if (!workspaceTheme || workspaceTheme.type !== 'gradient') { const gradient = browser.gZenThemePicker.getGradient([]); diff --git a/src/browser/themes/shared/zen-icons/lin/palette.svg b/src/browser/themes/shared/zen-icons/lin/palette.svg index c47d19138..44c6edbf2 100644 --- a/src/browser/themes/shared/zen-icons/lin/palette.svg +++ b/src/browser/themes/shared/zen-icons/lin/palette.svg @@ -1,7 +1 @@ - - - - - - - + \ No newline at end of file diff --git a/src/browser/themes/shared/zen-icons/palette.svg b/src/browser/themes/shared/zen-icons/palette.svg deleted file mode 100644 index 44c6edbf2..000000000 --- a/src/browser/themes/shared/zen-icons/palette.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From ba81ad5bce13de253d430f158ccd029116a336b7 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Mon, 17 Feb 2025 16:13:58 -0600 Subject: [PATCH 28/40] fixed padding and undifined algo error --- src/browser/base/zen-components/ZenGradientGenerator.mjs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index e383f193f..8cb1cf1e2 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -315,10 +315,10 @@ const centerPosition = { x: rect.width / 2, y: rect.height / 2 }; const harmonyAngles = getColorHarmonyType(dots.length + (action === 'add' ? 1 : action === 'remove' ? -1 : 0)); - this.useAlgo = harmonyAngles.type; - + if (!harmonyAngles || harmonyAngles.angles.length === 0) return []; - + this.useAlgo = harmonyAngles.type; + let primaryDot = dots.find((dot) => dot.ID === 0); if (!primaryDot) return []; @@ -334,6 +334,7 @@ updatedDots = [{ ID: 0, Position: primaryDot.Position }]; } + harmonyAngles.angles.forEach((angleOffset, index) => { let newAngle = (baseAngle + angleOffset) % 360; let radian = (newAngle * Math.PI) / 180; @@ -459,7 +460,7 @@ const gradient = this.panel.querySelector('.zen-theme-picker-gradient'); const rect = gradient.getBoundingClientRect(); - const padding = 60; + const padding = 90; const centerX = rect.left + rect.width / 2; const centerY = rect.top + rect.height / 2; From e24fd9737055c859672e6bc6ad49a5068655a6da Mon Sep 17 00:00:00 2001 From: neurokitti Date: Tue, 18 Feb 2025 01:40:16 -0600 Subject: [PATCH 29/40] fixed issue with calculating compliments --- .../zen-components/ZenGradientGenerator.mjs | 83 +++++++++++++------ 1 file changed, 59 insertions(+), 24 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 8cb1cf1e2..ea27f6bfa 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -164,6 +164,7 @@ dot.style.opacity = 0; dot.style.setProperty('--zen-theme-picker-dot-color', color.c); } else { + const { x, y } = this.calculateInitialPosition(color); const dotPad = this.panel.querySelector('.zen-theme-picker-gradient'); @@ -177,11 +178,11 @@ let id = this.dots.length; dot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${r}, ${g}, ${b})`); - + this.dots.push({ ID: id, Element: dot, - Position: { x: parseFloat(dot.style.left), y: parseFloat(dot.style.top) }, + Position: { x: null, y: null }, // WARNING: these values are not correct because dot pads bound rect does not exist yet }); } if (!fromWorkspace) { @@ -254,11 +255,12 @@ this.dots.push({ ID: id, Element: dot, - Position: { x: parseFloat(dot.style.left), y: parseFloat(dot.style.top) }, + Position: { x: relativePosition.x, y: relativePosition.y }, }); } calculateCompliments(dots, action = 'update', useHarmony = '') { + const colorHarmonies = [ { type: 'complementary', angles: [180] }, { type: 'splitComplementary', angles: [150, 210] }, @@ -267,12 +269,19 @@ { type: 'floating', angles: [] }, ]; - function getColorHarmonyType(numDots) { + function getColorHarmonyType(numDots, dots) { + if (useHarmony !== '') { - const selectedHarmony = colorHarmonies.find((harmony) => harmony.type === useHarmony); + const selectedHarmony = colorHarmonies.find((harmony) => harmony.type === useHarmony) + if (selectedHarmony) { if (action === 'remove') { - return colorHarmonies.find((harmony) => harmony.angles.length === selectedHarmony.angles.length - 1); + if (dots.length !== 0) { + return colorHarmonies.find((harmony) => harmony.angles.length === selectedHarmony.angles.length - 1); + } + else { + return { type: 'floating', angles: [] }; + } } if (action === 'add') { return colorHarmonies.find((harmony) => harmony.angles.length === selectedHarmony.angles.length + 1); @@ -314,11 +323,12 @@ let updatedDots = [...dots]; const centerPosition = { x: rect.width / 2, y: rect.height / 2 }; - const harmonyAngles = getColorHarmonyType(dots.length + (action === 'add' ? 1 : action === 'remove' ? -1 : 0)); - - if (!harmonyAngles || harmonyAngles.angles.length === 0) return []; + const harmonyAngles = getColorHarmonyType(dots.length + (action === 'add' ? 1 : action === 'remove' ? -1 : 0), this.dots); + this.useAlgo = harmonyAngles.type; - + + if (!harmonyAngles || harmonyAngles.angles.length === 0) return []; + let primaryDot = dots.find((dot) => dot.ID === 0); if (!primaryDot) return []; @@ -352,18 +362,37 @@ handleColorPositions(colorPositions) { colorPositions.sort((a, b) => a.ID - b.ID); - if (this.useAlgo === 'floating') { + const dotPad = this.panel.querySelector('.zen-theme-picker-gradient'); + const rect = dotPad.getBoundingClientRect(); this.dots.forEach((dot) => { dot.Element.style.zIndex = 999; - const colorFromPos = this.getColorFromPosition(dot.Position.x, dot.Position.y); + + let pixelX, pixelY; + const rect = this.panel.querySelector('.zen-theme-picker-gradient').getBoundingClientRect(); + + if (dot.Position.x === null) { + const leftPercentage = parseFloat(dot.Element.style.left) / 100; + const topPercentage = parseFloat(dot.Element.style.top) / 100; + + pixelX = leftPercentage * rect.width; + pixelY = topPercentage * rect.height; + } else { + + pixelX = dot.Position.x + pixelY = dot.Position.y + } + + const colorFromPos = this.getColorFromPosition(pixelX, pixelY); + dot.Element.style.setProperty( '--zen-theme-picker-dot-color', `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})` ); }); + + return; } - const existingPrimaryDot = this.dots.find((d) => d.ID === 0); if (existingPrimaryDot) { @@ -414,6 +443,7 @@ if (target.id === 'PanelUI-zen-gradient-generator-color-add') { if (this.dots.length >= ZenThemePicker.MAX_DOTS) return; let colorPositions = this.calculateCompliments(this.dots, 'add', this.useAlgo); + this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(); return; @@ -473,10 +503,12 @@ const existingPrimaryDot = this.dots.find((d) => d.ID === 0); clickedDot = this.dots.find((dot) => dot.Element === clickedElement); - if (clickedDot) { + + if (clickedDot) { // TODO: this doesnt work and needs to be fixed existingPrimaryDot.ID = clickedDot.ID; clickedDot.ID = 0; clickedDot.Element.style.zIndex = 999; + let colorPositions = this.calculateCompliments(this.dots, 'update', this.useAlgo); this.handleColorPositions(colorPositions); return; @@ -561,7 +593,7 @@ dot.ID = index; }); - let colorPositions = this.calculateCompliments(this.dots, 'update', this.useAlgo); + let colorPositions = this.calculateCompliments(this.dots, 'remove', this.useAlgo); this.handleColorPositions(colorPositions); this.updateCurrentWorkspace(); @@ -626,14 +658,14 @@ themedColors(colors) { const isDarkMode = this.isDarkMode; const factor = isDarkMode ? 0.5 : 1.1; - return colors.map((color) => { - return { - c: color.isCustom - ? color.c - : [Math.min(255, color.c[0] * factor), Math.min(255, color.c[1] * factor), Math.min(255, color.c[2] * factor)], - isCustom: color.isCustom, - }; - }); + + return colors.map((color) => ({ + c: color.isCustom + ? color.c + : [Math.min(255, color.c[0] * factor), Math.min(255, color.c[1] * factor), Math.min(255, color.c[2] * factor)], + isCustom: color.isCustom, + algorithm: color.algorithm, + })); } onOpacityChange(event) { @@ -662,6 +694,8 @@ getGradient(colors, forToolbar = false) { const themedColors = this.themedColors(colors); + this.useAlgo = themedColors[0].algorithm; + if (themedColors.length === 0) { return forToolbar ? 'var(--zen-themed-toolbar-bg)' : 'var(--zen-themed-toolbar-bg-transparent)'; } else if (themedColors.length === 1) { @@ -924,7 +958,8 @@ return; } const isCustom = dot.classList.contains('custom'); - return { c: isCustom ? color : color.match(/\d+/g).map(Number), isCustom }; + const algorithm = this.useAlgo; + return { c: isCustom ? color : color.match(/\d+/g).map(Number), isCustom, algorithm}; }); const gradient = ZenThemePicker.getTheme(colors, this.currentOpacity, this.currentRotation, this.currentTexture); let currentWorkspace = await ZenWorkspaces.getActiveWorkspace(); From 18d0900b328ae7d55e794d5acf27ddec2587e6ce Mon Sep 17 00:00:00 2001 From: neurokitti Date: Tue, 18 Feb 2025 01:42:52 -0600 Subject: [PATCH 30/40] =?UTF-8?q?made=20it=20=E2=9C=A8pretty=E2=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zen-components/ZenGradientGenerator.mjs | 55 +++++++++---------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index ea27f6bfa..aa83a0149 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -164,7 +164,6 @@ dot.style.opacity = 0; dot.style.setProperty('--zen-theme-picker-dot-color', color.c); } else { - const { x, y } = this.calculateInitialPosition(color); const dotPad = this.panel.querySelector('.zen-theme-picker-gradient'); @@ -178,7 +177,7 @@ let id = this.dots.length; dot.style.setProperty('--zen-theme-picker-dot-color', `rgb(${r}, ${g}, ${b})`); - + this.dots.push({ ID: id, Element: dot, @@ -260,7 +259,6 @@ } calculateCompliments(dots, action = 'update', useHarmony = '') { - const colorHarmonies = [ { type: 'complementary', angles: [180] }, { type: 'splitComplementary', angles: [150, 210] }, @@ -270,16 +268,14 @@ ]; function getColorHarmonyType(numDots, dots) { - if (useHarmony !== '') { - const selectedHarmony = colorHarmonies.find((harmony) => harmony.type === useHarmony) - + const selectedHarmony = colorHarmonies.find((harmony) => harmony.type === useHarmony); + if (selectedHarmony) { if (action === 'remove') { if (dots.length !== 0) { return colorHarmonies.find((harmony) => harmony.angles.length === selectedHarmony.angles.length - 1); - } - else { + } else { return { type: 'floating', angles: [] }; } } @@ -344,7 +340,6 @@ updatedDots = [{ ID: 0, Position: primaryDot.Position }]; } - harmonyAngles.angles.forEach((angleOffset, index) => { let newAngle = (baseAngle + angleOffset) % 360; let radian = (newAngle * Math.PI) / 180; @@ -367,30 +362,29 @@ const rect = dotPad.getBoundingClientRect(); this.dots.forEach((dot) => { dot.Element.style.zIndex = 999; - + let pixelX, pixelY; const rect = this.panel.querySelector('.zen-theme-picker-gradient').getBoundingClientRect(); - + if (dot.Position.x === null) { const leftPercentage = parseFloat(dot.Element.style.left) / 100; const topPercentage = parseFloat(dot.Element.style.top) / 100; - + pixelX = leftPercentage * rect.width; pixelY = topPercentage * rect.height; } else { - - pixelX = dot.Position.x - pixelY = dot.Position.y + pixelX = dot.Position.x; + pixelY = dot.Position.y; } - + const colorFromPos = this.getColorFromPosition(pixelX, pixelY); - + dot.Element.style.setProperty( '--zen-theme-picker-dot-color', `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})` ); }); - + return; } const existingPrimaryDot = this.dots.find((d) => d.ID === 0); @@ -504,7 +498,8 @@ clickedDot = this.dots.find((dot) => dot.Element === clickedElement); - if (clickedDot) { // TODO: this doesnt work and needs to be fixed + if (clickedDot) { + // TODO: this doesnt work and needs to be fixed existingPrimaryDot.ID = clickedDot.ID; clickedDot.ID = 0; clickedDot.Element.style.zIndex = 999; @@ -658,7 +653,7 @@ themedColors(colors) { const isDarkMode = this.isDarkMode; const factor = isDarkMode ? 0.5 : 1.1; - + return colors.map((color) => ({ c: color.isCustom ? color.c @@ -952,15 +947,17 @@ async updateCurrentWorkspace(skipSave = true) { this.updated = skipSave; const dots = this.panel.querySelectorAll('.zen-theme-picker-dot'); - const colors = Array.from(dots).sort((a, b) => a.getAttribute('data-index') - b.getAttribute('data-index')).map((dot) => { - const color = dot.style.getPropertyValue('--zen-theme-picker-dot-color'); - 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}; - }); + const colors = Array.from(dots) + .sort((a, b) => a.getAttribute('data-index') - b.getAttribute('data-index')) + .map((dot) => { + const color = dot.style.getPropertyValue('--zen-theme-picker-dot-color'); + 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 }; + }); const gradient = ZenThemePicker.getTheme(colors, this.currentOpacity, this.currentRotation, this.currentTexture); let currentWorkspace = await ZenWorkspaces.getActiveWorkspace(); From 08bd479cf9277ee3e4ee136a06b9ff54d802f5e3 Mon Sep 17 00:00:00 2001 From: neurokitti Date: Tue, 18 Feb 2025 01:51:02 -0600 Subject: [PATCH 31/40] 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 435484482f68f0ab90853525f09000812fbcdda2 Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Tue, 18 Feb 2025 12:30:39 +0100 Subject: [PATCH 32/40] Update subproject commit reference in localization --- l10n | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/l10n b/l10n index 1ff8a1e21..81172167f 160000 --- a/l10n +++ b/l10n @@ -1 +1 @@ -Subproject commit 1ff8a1e21c63814809df0d5f1bbd291a825607c0 +Subproject commit 81172167fe97960d19b4819b2982049d06ea2437 From 0044b0206ac4468fbc4f17651e23272b1fb5ed2c Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Tue, 18 Feb 2025 13:29:58 +0100 Subject: [PATCH 33/40] Refactor zen gradient generator: update theme picker initialization and event handling, improve CSS styles, and clean up unused code. --- l10n | 2 +- .../base/content/zen-popupset.inc.xhtml | 8 ++-- .../zen-styles/zen-gradient-generator.css | 25 +++++----- .../zen-components/ZenGradientGenerator.mjs | 47 ++++++++++++++----- 4 files changed, 51 insertions(+), 31 deletions(-) diff --git a/l10n b/l10n index 81172167f..432fa8785 160000 --- a/l10n +++ b/l10n @@ -1 +1 @@ -Subproject commit 81172167fe97960d19b4819b2982049d06ea2437 +Subproject commit 432fa878526e2708244f6d01a2deee151cba3491 diff --git a/src/browser/base/content/zen-popupset.inc.xhtml b/src/browser/base/content/zen-popupset.inc.xhtml index 06ad7d787..bf2c8bcc4 100644 --- a/src/browser/base/content/zen-popupset.inc.xhtml +++ b/src/browser/base/content/zen-popupset.inc.xhtml @@ -82,7 +82,7 @@ - + @@ -97,9 +97,7 @@ - - - + @@ -108,7 +106,7 @@ - + diff --git a/src/browser/base/content/zen-styles/zen-gradient-generator.css b/src/browser/base/content/zen-styles/zen-gradient-generator.css index ba1612f63..03e9e8933 100644 --- a/src/browser/base/content/zen-styles/zen-gradient-generator.css +++ b/src/browser/base/content/zen-styles/zen-gradient-generator.css @@ -62,13 +62,6 @@ gap: 10px; } -#PanelUI-zen-gradient-generator-options { - align-items: center; - margin: auto; - height: 100%; - justify-content: center; -} - #PanelUI-zen-gradient-generator-custom-list { margin-top: 15px; @@ -180,26 +173,31 @@ position: absolute; top: 0; left: 0; - margin: var(--panel-padding); - width: calc(100% - var(--panel-padding) * 2); - height: calc(100% - var(--panel-padding) * 2); + width: 100%; + height: 100%; opacity: 0.1; } & .zen-theme-picker-dot { position: absolute; z-index: 2; - width: 28px; - height: 28px; + width: 22px; + height: 22px; border-radius: 50%; background: var(--zen-theme-picker-dot-color); box-shadow: 0 0 0 2px var(--zen-themed-toolbar-bg); cursor: pointer; - border: 3px solid #fff; + border: 2px solid #fff; animation: zen-theme-picker-dot-animation 0.5s; transition: transform 0.2s; transform: translate(-50%, -50%); + &.primary { + width: 26px; + height: 26px; + border-width: 3px; + } + &[dragging='true'] { transform: scale(1.2) translate(-50%, -50%) !important; } @@ -207,7 +205,6 @@ } #PanelUI-zen-gradient-generator-color-actions { - color-scheme: dark; /* Always use light colors */ display: flex; position: absolute; bottom: 20px; diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index aa83a0149..751b53a0f 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -90,7 +90,6 @@ // Call the rest of the initialization this.initContextMenu(); - this.initThemePicker(); this._hasInitialized = true; this.onDarkModeChange(null); @@ -110,11 +109,27 @@ initThemePicker() { const themePicker = this.panel.querySelector('.zen-theme-picker-gradient'); + this._onDotMouseMove = this.onDotMouseMove.bind(this); + this._onDotMouseUp = this.onDotMouseUp.bind(this); + this._onDotMouseDown = this.onDotMouseDown.bind(this); + this._onThemePickerClick = this.onThemePickerClick.bind(this); themePicker.style.setProperty('--zen-theme-picker-gradient-image', `url(${ZenThemePicker.GRADIENT_DISPLAY_URL})`); - themePicker.addEventListener('mousemove', this.onDotMouseMove.bind(this)); - themePicker.addEventListener('mouseup', this.onDotMouseUp.bind(this)); - themePicker.addEventListener('mousedown', this.onDotMouseDown.bind(this)); - themePicker.addEventListener('click', this.onThemePickerClick.bind(this)); + document.addEventListener('mousemove', this._onDotMouseMove); + document.addEventListener('mouseup', this._onDotMouseUp); + themePicker.addEventListener('mousedown', this._onDotMouseDown); + themePicker.addEventListener('click', this._onThemePickerClick); + } + + uninitThemePicker() { + const themePicker = this.panel.querySelector('.zen-theme-picker-gradient'); + document.removeEventListener('mousemove', this._onDotMouseMove); + document.removeEventListener('mouseup', this._onDotMouseUp); + themePicker.removeEventListener('mousedown', this._onDotMouseDown); + themePicker.removeEventListener('click', this._onThemePickerClick); + this._onDotMouseMove = null; + this._onDotMouseUp = null; + this._onDotMouseDown = null; + this._onThemePickerClick = null; } calculateInitialPosition(color) { @@ -155,7 +170,9 @@ createDot(color, fromWorkspace = false) { const [r, g, b] = color.c; const dot = document.createElement('div'); - dot.classList.add('zen-theme-picker-dot'); + if (color.isPrimary) { + dot.classList.add('primary'); + } if (color.isCustom) { if (!color.c) { return; @@ -167,7 +184,6 @@ const { x, y } = this.calculateInitialPosition(color); const dotPad = this.panel.querySelector('.zen-theme-picker-gradient'); - const dot = document.createElement('div'); dot.classList.add('zen-theme-picker-dot'); dot.style.left = `${x * 100}%`; @@ -239,8 +255,9 @@ let id = this.dots.length; - if (primary === true) { + if (primary) { id = 0; + dot.classList.add('primary'); const existingPrimaryDot = this.dots.find((d) => d.ID === 0); if (existingPrimaryDot) { @@ -555,12 +572,12 @@ } onDotMouseDown(event) { - event.preventDefault(); if (event.button === 2) { return; } const draggedDot = this.dots.find((dot) => dot.Element === event.target); if (draggedDot) { + event.preventDefault(); this.dragging = true; this.draggedDot = event.target; this.draggedDot.classList.add('dragging'); @@ -689,7 +706,7 @@ getGradient(colors, forToolbar = false) { const themedColors = this.themedColors(colors); - this.useAlgo = themedColors[0].algorithm; + this.useAlgo = themedColors[0]?.algorithm ?? ''; if (themedColors.length === 0) { return forToolbar ? 'var(--zen-themed-toolbar-bg)' : 'var(--zen-themed-toolbar-bg-transparent)'; @@ -889,7 +906,7 @@ fixTheme(theme) { // add a primary color if there isn't one - if (!theme.gradientColors.find((color) => color.isPrimary)) { + if (!theme.gradientColors.find((color) => color.isPrimary) && theme.gradientColors.length > 0) { theme.gradientColors[(theme.gradientColors.length / 2) | 0].isPrimary = true; } return theme; @@ -934,6 +951,9 @@ if (primaryColor) { return primaryColor.c; } + if (colors.length === 0) { + return this.hexToRgb(this.getNativeAccentColor()); + } // Get the middle color return colors[Math.floor(colors.length / 2)].c; } @@ -975,6 +995,11 @@ if (this.updated) { await this.updateCurrentWorkspace(false); } + this.uninitThemePicker(); + } + + handlePanelOpen() { + this.initThemePicker(); } } From 2c82d44b6492f2a37893538d2b26c41f143a960a Mon Sep 17 00:00:00 2001 From: neurokitti Date: Tue, 18 Feb 2025 09:08:53 -0600 Subject: [PATCH 34/40] 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 35/40] 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(); From 1db5acdf7b2b73968dee8fe617ae0a6604b87fe8 Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Tue, 18 Feb 2025 20:06:53 +0100 Subject: [PATCH 36/40] Update subproject commit reference in localization --- l10n | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/l10n b/l10n index 432fa8785..3df11464b 160000 --- a/l10n +++ b/l10n @@ -1 +1 @@ -Subproject commit 432fa878526e2708244f6d01a2deee151cba3491 +Subproject commit 3df11464bed7fef8c51d091e80a1ef18cfa1c65e From e6c7c30bdd440034a03787d623af8cd2fef9dcc3 Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Tue, 18 Feb 2025 20:09:11 +0100 Subject: [PATCH 37/40] Refactor code for better readability in ZenWelcome component --- src/browser/base/zen-components/ZenWelcome.mjs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/browser/base/zen-components/ZenWelcome.mjs b/src/browser/base/zen-components/ZenWelcome.mjs index 191741a41..9f275c90b 100644 --- a/src/browser/base/zen-components/ZenWelcome.mjs +++ b/src/browser/base/zen-components/ZenWelcome.mjs @@ -397,7 +397,9 @@ }); }, fadeOut() { - const selectedTabs = document.getElementById('zen-welcome-initial-essentials-browser-sidebar-essentials').querySelectorAll('.tabbrowser-tab[visuallyselected]'); + const selectedTabs = document + .getElementById('zen-welcome-initial-essentials-browser-sidebar-essentials') + .querySelectorAll('.tabbrowser-tab[visuallyselected]'); for (const tab of selectedTabs) { const url = tab.getAttribute('data-url'); const createdTab = window.gBrowser.addTrustedTab(url, { From c3585ed7147388949aa0f855d1c353436d642db8 Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Tue, 18 Feb 2025 20:37:35 +0100 Subject: [PATCH 38/40] Update CSS styles for gradient generator and welcome screen; adjust dimensions and improve layout --- l10n | 2 +- .../zen-styles/zen-gradient-generator.css | 34 ++++++++----------- .../base/content/zen-styles/zen-welcome.css | 2 +- .../base/zen-components/ZenWelcome.mjs | 2 +- 4 files changed, 18 insertions(+), 22 deletions(-) diff --git a/l10n b/l10n index 3df11464b..e5f3fe733 160000 --- a/l10n +++ b/l10n @@ -1 +1 @@ -Subproject commit 3df11464bed7fef8c51d091e80a1ef18cfa1c65e +Subproject commit e5f3fe73365a676fd2fba2cb3788eed819038a7c diff --git a/src/browser/base/content/zen-styles/zen-gradient-generator.css b/src/browser/base/content/zen-styles/zen-gradient-generator.css index 03e9e8933..d719c1587 100644 --- a/src/browser/base/content/zen-styles/zen-gradient-generator.css +++ b/src/browser/base/content/zen-styles/zen-gradient-generator.css @@ -5,7 +5,7 @@ */ #PanelUI-zen-gradient-generator { - --panel-width: 325px; + --panel-width: 300px; --panel-padding: 10px; min-width: var(--panel-width); } @@ -121,53 +121,48 @@ &::-moz-range-track { background: var(--zen-colors-border); border-radius: 999px; - height: 4px; + height: 6px; } &::-moz-range-progress { background: var(--zen-primary-color); border-radius: 999px; - height: 4px; + height: 6px; } } .zen-theme-picker-gradient { position: relative; - border-radius: calc(var(--zen-border-radius) + 5px); + border-radius: calc(var(--zen-border-radius) - 2px); overflow: hidden; border: 1px solid var(--zen-colors-border); + border-radius: var(--zen-border-radius); min-height: calc(var(--panel-width) - var(--panel-padding) * 2); - min-width: calc(var(--panel-width) - var(--panel-padding) * 2); - - margin-bottom: 15px; + margin-bottom: 20px; background: var(--zen-theme-picker-gradient-image) center center / cover no-repeat; &::before { - background: light-dark( - color-mix(in srgb, var(--zen-themed-toolbar-bg) 60%, transparent 40%), - color-mix(in srgb, var(--zen-themed-toolbar-bg) 80%, transparent 20%) - ); - backdrop-filter: blur(5px); + background: color-mix(in srgb, var(--zen-themed-toolbar-bg) 70%, transparent 30%); + backdrop-filter: blur(10px); content: ''; position: absolute; top: 0; left: 0; pointer-events: none; - margin: var(--panel-padding); box-shadow: 0 0 0 1px 1px var(--zen-colors-border); - width: calc(100% - var(--panel-padding) * 2); - height: calc(100% - var(--panel-padding) * 2); - border-radius: var(--zen-border-radius); + width: 100%; + height: 100%; } &::after { z-index: 0; position: absolute; inset: 0; - background-image: linear-gradient(to right, var(--zen-primary-color) 1px, transparent 1px), - linear-gradient(to bottom, var(--zen-primary-color) 1px, transparent 1px); + --zen-theme-picker-lines-color: light-dark(rgba(0, 0, 0, 0.5), rgba(255, 255, 255, 0.5)); + background-image: linear-gradient(to right, var(--zen-theme-picker-lines-color) 1px, transparent 1px), + linear-gradient(to bottom, var(--zen-theme-picker-lines-color) 1px, transparent 1px); background-size: 20px 20px; content: ''; position: absolute; @@ -207,7 +202,7 @@ #PanelUI-zen-gradient-generator-color-actions { display: flex; position: absolute; - bottom: 20px; + bottom: 8px; left: 50%; z-index: 1; transform: translateX(-50%); @@ -221,6 +216,7 @@ padding: 0.4rem !important; min-width: fit-content !important; transition: background 0.2s; + gap: 0.3rem; &:not(#PanelUI-zen-gradient-generator-color-toggle-algo) .button-text { display: none; } diff --git a/src/browser/base/content/zen-styles/zen-welcome.css b/src/browser/base/content/zen-styles/zen-welcome.css index ec96fc3d9..26d880c32 100644 --- a/src/browser/base/content/zen-styles/zen-welcome.css +++ b/src/browser/base/content/zen-styles/zen-welcome.css @@ -148,7 +148,7 @@ #zen-welcome-workspace-colors-anchor { width: 1px; height: 1px; - margin: 10% auto auto 30%; + margin: 20% auto auto 28%; } #zen-welcome-initial-essentials-browser { diff --git a/src/browser/base/zen-components/ZenWelcome.mjs b/src/browser/base/zen-components/ZenWelcome.mjs index 9f275c90b..7e634e969 100644 --- a/src/browser/base/zen-components/ZenWelcome.mjs +++ b/src/browser/base/zen-components/ZenWelcome.mjs @@ -51,7 +51,7 @@ document.getElementById('zen-welcome-pages').style.display = 'flex'; document.getElementById('zen-welcome-start').remove(); window.maximize(); - animate('#zen-welcome-pages', { opacity: [0, 1] }, { delay: 0.1 }); + animate('#zen-welcome-pages', { opacity: [0, 1] }, { delay: 0.2, duration: 0.2 }); } async fadeInTitles(page) { From 1cc5cd1b1dba1adb952fb4186c86ced586b906b0 Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Tue, 18 Feb 2025 23:49:58 +0100 Subject: [PATCH 39/40] Add localization label for gradient generator and adjust button dimensions --- l10n | 2 +- .../base/content/zen-popupset.inc.xhtml | 1 + .../zen-styles/zen-gradient-generator.css | 25 +++- .../zen-components/ZenGradientGenerator.mjs | 112 ++++++++++-------- 4 files changed, 88 insertions(+), 52 deletions(-) diff --git a/l10n b/l10n index e5f3fe733..ead5aeaac 160000 --- a/l10n +++ b/l10n @@ -1 +1 @@ -Subproject commit e5f3fe73365a676fd2fba2cb3788eed819038a7c +Subproject commit ead5aeaac4db7950b3411008a26c575082244bcc diff --git a/src/browser/base/content/zen-popupset.inc.xhtml b/src/browser/base/content/zen-popupset.inc.xhtml index bf2c8bcc4..aeabcba91 100644 --- a/src/browser/base/content/zen-popupset.inc.xhtml +++ b/src/browser/base/content/zen-popupset.inc.xhtml @@ -95,6 +95,7 @@ +
diff --git a/src/browser/base/content/zen-styles/zen-gradient-generator.css b/src/browser/base/content/zen-styles/zen-gradient-generator.css index d719c1587..f397eb229 100644 --- a/src/browser/base/content/zen-styles/zen-gradient-generator.css +++ b/src/browser/base/content/zen-styles/zen-gradient-generator.css @@ -177,7 +177,7 @@ position: absolute; z-index: 2; width: 22px; - height: 22px; + height: 20px; border-radius: 50%; background: var(--zen-theme-picker-dot-color); box-shadow: 0 0 0 2px var(--zen-themed-toolbar-bg); @@ -188,8 +188,8 @@ transform: translate(-50%, -50%); &.primary { - width: 26px; - height: 26px; + width: 28px; + height: 28px; border-width: 3px; } @@ -199,6 +199,20 @@ } } +#PanelUI-zen-gradient-generator-color-click-to-add { + position: absolute; + font-weight: 600; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + white-space: nowrap; + pointer-events: none; + + &[hidden] { + display: none; + } +} + #PanelUI-zen-gradient-generator-color-actions { display: flex; position: absolute; @@ -224,6 +238,11 @@ &:hover { background: light-dark(rgba(0, 0, 0, 0.2), rgba(255, 255, 255, 0.2)); } + + &[disabled] { + opacity: 0.5; + cursor: not-allowed; + } } & .separator { diff --git a/src/browser/base/zen-components/ZenGradientGenerator.mjs b/src/browser/base/zen-components/ZenGradientGenerator.mjs index 909d75028..0a8992017 100644 --- a/src/browser/base/zen-components/ZenGradientGenerator.mjs +++ b/src/browser/base/zen-components/ZenGradientGenerator.mjs @@ -200,8 +200,8 @@ this.dots.push({ ID: id, - Element: dot, - 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. + element: dot, + 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) { @@ -266,7 +266,7 @@ const existingPrimaryDot = this.dots.find((d) => d.ID === 0); if (existingPrimaryDot) { existingPrimaryDot.ID = this.dots.length; - existingPrimaryDot.Element.classList.remove('primary'); + existingPrimaryDot.element.classList.remove('primary'); } dot.classList.add('primary'); } @@ -276,8 +276,8 @@ this.dots.push({ ID: id, - Element: dot, - Position: { x: relativePosition.x, y: relativePosition.y }, + element: dot, + position: { x: relativePosition.x, y: relativePosition.y }, }); } @@ -290,6 +290,10 @@ { type: 'floating', angles: [] }, ]; + if (dots.length === 0) { + return []; + } + function getColorHarmonyType(numDots, dots) { if (useHarmony !== '') { const selectedHarmony = colorHarmonies.find((harmony) => harmony.type === useHarmony); @@ -352,15 +356,15 @@ if (!primaryDot) return []; if (action === 'add' && this.dots.length) { - updatedDots.push({ ID: this.dots.length, Position: centerPosition }); + updatedDots.push({ ID: this.dots.length, position: centerPosition }); } - const baseAngle = getAngleFromPosition(primaryDot.Position, centerPosition); - let distance = getDistanceFromCenter(primaryDot.Position, centerPosition); + const baseAngle = getAngleFromPosition(primaryDot.position, centerPosition); + let distance = getDistanceFromCenter(primaryDot.position, centerPosition); const radius = (rect.width - padding) / 2; if (distance > radius) distance = radius; if (this.dots.length > 0) { - updatedDots = [{ ID: 0, Position: primaryDot.Position }]; + updatedDots = [{ ID: 0, position: primaryDot.position }]; } harmonyAngles.angles.forEach((angleOffset, index) => { @@ -372,7 +376,7 @@ y: centerPosition.y + distance * Math.sin(radian), }; - updatedDots.push({ ID: index + 1, Position: newPosition }); + updatedDots.push({ ID: index + 1, position: newPosition }); }); return updatedDots; @@ -384,25 +388,25 @@ const dotPad = this.panel.querySelector('.zen-theme-picker-gradient'); const rect = dotPad.getBoundingClientRect(); this.dots.forEach((dot) => { - dot.Element.style.zIndex = 999; + dot.element.style.zIndex = 999; let pixelX, pixelY; const rect = this.panel.querySelector('.zen-theme-picker-gradient').getBoundingClientRect(); - if (dot.Position.x === null) { - const leftPercentage = parseFloat(dot.Element.style.left) / 100; - const topPercentage = parseFloat(dot.Element.style.top) / 100; + if (dot.position.x === null) { + const leftPercentage = parseFloat(dot.element.style.left) / 100; + const topPercentage = parseFloat(dot.element.style.top) / 100; pixelX = leftPercentage * rect.width; pixelY = topPercentage * rect.height; } else { - pixelX = dot.Position.x; - pixelY = dot.Position.y; + pixelX = dot.position.x; + pixelY = dot.position.y; } const colorFromPos = this.getColorFromPosition(pixelX, pixelY); - dot.Element.style.setProperty( + dot.element.style.setProperty( '--zen-theme-picker-dot-color', `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})` ); @@ -413,9 +417,9 @@ const existingPrimaryDot = this.dots.find((d) => d.ID === 0); if (existingPrimaryDot) { - existingPrimaryDot.Element.style.zIndex = 999; - const colorFromPos = this.getColorFromPosition(existingPrimaryDot.Position.x, existingPrimaryDot.Position.y); - existingPrimaryDot.Element.style.setProperty( + existingPrimaryDot.element.style.zIndex = 999; + const colorFromPos = this.getColorFromPosition(existingPrimaryDot.position.x, existingPrimaryDot.position.y); + existingPrimaryDot.element.style.setProperty( '--zen-theme-picker-dot-color', `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})` ); @@ -425,21 +429,21 @@ const existingDot = this.dots.find((dot) => dot.ID === dotPosition.ID); if (existingDot) { - existingDot.Position = dotPosition.Position; - existingDot.Element.style.left = `${dotPosition.Position.x}px`; - existingDot.Element.style.top = `${dotPosition.Position.y}px`; - const colorFromPos = this.getColorFromPosition(dotPosition.Position.x, dotPosition.Position.y); - existingDot.Element.style.setProperty( + existingDot.position = dotPosition.position; + existingDot.element.style.left = `${dotPosition.position.x}px`; + existingDot.element.style.top = `${dotPosition.position.y}px`; + const colorFromPos = this.getColorFromPosition(dotPosition.position.x, dotPosition.position.y); + existingDot.element.style.setProperty( '--zen-theme-picker-dot-color', `rgb(${colorFromPos[0]}, ${colorFromPos[1]}, ${colorFromPos[2]})` ); if (!this.dragging) { gZenUIManager.motion.animate( - existingDot.Element, + existingDot.element, { - left: `${dotPosition.Position.x}px`, - top: `${dotPosition.Position.y}px`, + left: `${dotPosition.position.x}px`, + top: `${dotPosition.position.y}px`, }, { duration: 0.4, @@ -449,7 +453,7 @@ ); } } else { - this.spawnDot(dotPosition.Position); + this.spawnDot(dotPosition.position); } }); } @@ -469,14 +473,14 @@ if (this.dots.length === 0) return; const lastDot = this.dots.pop(); - lastDot.Element.remove(); + lastDot.element.remove(); this.dots.forEach((dot, index) => { dot.ID = index; if (index === 0) { - dot.Element.classList.add('primary'); + dot.element.classList.add('primary'); } else { - dot.Element.classList.remove('primary'); + dot.element.classList.remove('primary'); } }); @@ -524,13 +528,13 @@ let clickedDot = null; const existingPrimaryDot = this.dots.find((d) => d.ID === 0); - clickedDot = this.dots.find((dot) => dot.Element === clickedElement); + clickedDot = this.dots.find((dot) => dot.element === clickedElement); if (clickedDot) { // TODO: this doesnt work and needs to be fixed existingPrimaryDot.ID = clickedDot.ID; clickedDot.ID = 0; - clickedDot.Element.style.zIndex = 999; + clickedDot.element.style.zIndex = 999; let colorPositions = this.calculateCompliments(this.dots, 'update', this.useAlgo); this.handleColorPositions(colorPositions); @@ -556,9 +560,9 @@ this.updateCurrentWorkspace(true); } else if (!clickedDot && existingPrimaryDot) { - existingPrimaryDot.Element.style.left = `${relativeX}px`; - existingPrimaryDot.Element.style.top = `${relativeY}px`; - existingPrimaryDot.Position = { + existingPrimaryDot.element.style.left = `${relativeX}px`; + existingPrimaryDot.element.style.top = `${relativeY}px`; + existingPrimaryDot.position = { x: relativeX, y: relativeY, }; @@ -568,10 +572,10 @@ this.updateCurrentWorkspace(true); gZenUIManager.motion.animate( - existingPrimaryDot.Element, + existingPrimaryDot.element, { - left: `${existingPrimaryDot.Position.x}px`, - top: `${existingPrimaryDot.Position.y}px`, + left: `${existingPrimaryDot.position.x}px`, + top: `${existingPrimaryDot.position.y}px`, }, { duration: 0.4, @@ -586,7 +590,7 @@ if (event.button === 2) { return; } - const draggedDot = this.dots.find((dot) => dot.Element === event.target); + const draggedDot = this.dots.find((dot) => dot.element === event.target); if (draggedDot) { event.preventDefault(); this.dragging = true; @@ -606,7 +610,7 @@ if (!event.target.classList.contains('zen-theme-picker-dot')) { return; } - this.dots = this.dots.filter((dot) => dot.Element !== event.target); + this.dots = this.dots.filter((dot) => dot.element !== event.target); event.target.remove(); this.dots.sort((a, b) => a.ID - b.ID); @@ -615,9 +619,9 @@ this.dots.forEach((dot, index) => { dot.ID = index; if (index === 0) { - dot.Element.classList.add('primary'); + dot.element.classList.add('primary'); } else { - dot.Element.classList.remove('primary'); + dot.element.classList.remove('primary'); } }); @@ -669,10 +673,10 @@ const relativeX = pixelX - rect.left; const relativeY = pixelY - rect.top; - const draggedDot = this.dots.find((dot) => dot.Element === this.draggedDot); - draggedDot.Element.style.left = `${relativeX}px`; - draggedDot.Element.style.top = `${relativeY}px`; - draggedDot.Position = { + const draggedDot = this.dots.find((dot) => dot.element === this.draggedDot); + draggedDot.element.style.left = `${relativeX}px`; + draggedDot.element.style.top = `${relativeY}px`; + draggedDot.position = { x: relativeX, y: relativeY, }; @@ -887,6 +891,18 @@ browser.gZenThemePicker.currentRotation = workspaceTheme.rotation ?? 45; browser.gZenThemePicker.currentTexture = workspaceTheme.texture ?? 0; + for (const button of browser.document.querySelectorAll('#PanelUI-zen-gradient-generator-color-actions button')) { + // disable if there are no buttons + button.disabled = + workspaceTheme.gradientColors.length === 0 || + (button.id === 'PanelUI-zen-gradient-generator-color-add' + ? workspaceTheme.gradientColors.length >= ZenThemePicker.MAX_DOTS + : false); + } + document + .getElementById('PanelUI-zen-gradient-generator-color-click-to-add') + .toggleAttribute('hidden', workspaceTheme.gradientColors.length > 0); + browser.document.getElementById('PanelUI-zen-gradient-generator-opacity').value = browser.gZenThemePicker.currentOpacity; browser.document.getElementById('PanelUI-zen-gradient-generator-texture').value = From 93df13ff78081fcc5b56a2de17f5d958b41f1b5b Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Wed, 19 Feb 2025 13:04:18 +0100 Subject: [PATCH 40/40] Remove unused gradient display image and implement predefined color options in gradient generator --- .../base/content/zen-assets.jar.inc.mn | 1 - .../content/zen-images/gradient-display.png | Bin 432546 -> 0 bytes .../base/content/zen-popupset.inc.xhtml | 15 +++- .../zen-styles/zen-gradient-generator.css | 79 ++++++++++-------- .../zen-components/ZenGradientGenerator.mjs | 49 +++++++++-- 5 files changed, 100 insertions(+), 44 deletions(-) delete mode 100644 src/browser/base/content/zen-images/gradient-display.png diff --git a/src/browser/base/content/zen-assets.jar.inc.mn b/src/browser/base/content/zen-assets.jar.inc.mn index 7d01806eb..3b7dbedc6 100644 --- a/src/browser/base/content/zen-assets.jar.inc.mn +++ b/src/browser/base/content/zen-assets.jar.inc.mn @@ -57,7 +57,6 @@ # Images content/browser/zen-images/gradient.png (content/zen-images/gradient.png) - content/browser/zen-images/gradient-display.png (content/zen-images/gradient-display.png) content/browser/zen-images/brand-header.svg (content/zen-images/brand-header.svg) content/browser/zen-images/layouts/collapsed.png (content/zen-images/layouts/collapsed.png) content/browser/zen-images/layouts/multiple-toolbar.png (content/zen-images/layouts/multiple-toolbar.png) diff --git a/src/browser/base/content/zen-images/gradient-display.png b/src/browser/base/content/zen-images/gradient-display.png deleted file mode 100644 index c22d8f9fdccf4bd8612796ee9ef4a98b50f30db6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432546 zcmeAS@N?(olHy`uVBq!ia0y~yU|b2p9Bd2>4CXo~qZt?⪼uILpV4%IBGajIv5xf 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

}CDU<$t}uE|2AD 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πs5fw|Bqh&Gt6bL?bA|gHFcWvPW=DP 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 z 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

)Gp)BUdp=OTfcV)V4`fHJV(L;Z-mFUdhW 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 @EZhJ40y}8wjKVH&Y@}RgDE6F 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 U-AsOQ1_lNOPgg&ebxsLQ09K()L;wH) diff --git a/src/browser/base/content/zen-popupset.inc.xhtml b/src/browser/base/content/zen-popupset.inc.xhtml index aeabcba91..babf2a244 100644 --- a/src/browser/base/content/zen-popupset.inc.xhtml +++ b/src/browser/base/content/zen-popupset.inc.xhtml @@ -85,6 +85,20 @@ + + + + + + + + + + + + + +