diff --git a/src/browser/components/zen-welcome/welcome.css b/src/browser/components/zen-welcome/welcome.css index dd7b413b8..ecbdf6944 100644 --- a/src/browser/components/zen-welcome/welcome.css +++ b/src/browser/components/zen-welcome/welcome.css @@ -16,14 +16,15 @@ body { width: 100%; height: 100%; overflow: hidden; - /*background: var(--zen-main-browser-background) !important;*/ transition: .1s; -moz-transform: scale(1.1); /* zoom */ } -.page { - display: none; +button { + padding: 10px 40px; +} +.page { display: flex; flex-direction: column; justify-content: center; @@ -34,11 +35,18 @@ body { margin: 32px; } +.page-split:not([hidden="true"]) { + display: flex; + margin: 12%; + flex-direction: row; + justify-content: space-between; +} + #enableFeatures .card { width: auto; } -.card h3 { +:not(#theme) .card h3 { margin: auto; text-align: center; } @@ -126,9 +134,12 @@ input[type='checkbox'] { margin-top: 20px; } -#search h1, +#search h1 { + margin-bottom: 50px; +} + #theme h1 { - margin-bottom: 30px; + margin: 25px 0; } .page[hidden="true"] { @@ -189,4 +200,27 @@ input[type='checkbox'] { .dot.active { background: light-dark(#000, #fff); -} \ No newline at end of file +} + +#colorList { + width: 500px; + border-radius: 99px; + height: 20px; + display: flex; + border: 2px solid var(--arrowpanel-border-color); +} + +#dragBall { + width: 17px; + height: 17px; + border-radius: 50%; + background: #fff; + position: absolute; + top: calc(5px / 2); +} + +#colorListWrapper { + position: relative; + width: 500px; + height: 20px; +} diff --git a/src/browser/components/zen-welcome/welcome.html b/src/browser/components/zen-welcome/welcome.html index 822c74d34..77afed094 100644 --- a/src/browser/components/zen-welcome/welcome.html +++ b/src/browser/components/zen-welcome/welcome.html @@ -27,6 +27,8 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/. + +
@@ -42,46 +44,61 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/. >
-
-

-

+
+
+

+

+
+
+ + + + +
+
-
- - +
+
+

+

+
+
+

+
+

+
+ +
+
+
+
+ +
diff --git a/src/browser/components/zen-welcome/welcome.js b/src/browser/components/zen-welcome/welcome.js index 40b04ab8a..347ac6f2b 100644 --- a/src/browser/components/zen-welcome/welcome.js +++ b/src/browser/components/zen-welcome/welcome.js @@ -119,6 +119,7 @@ class Themes extends Page { } async loadThemes() { + window.addEventListener('DOMContentLoaded', this.setColorBar); await sleep(1000) const themes = (await AddonManager.getAddonsByTypes(['theme'])).filter( @@ -150,13 +151,62 @@ class Themes extends Page { const name = document.createElement('h3') name.textContent = theme.name - container.appendChild(img) + //container.appendChild(img) container.appendChild(name) themeList.appendChild(container) themeElements.push(container) }) } + + setColorBar() { + const colorList = document.getElementById('colorList'); + const ctx = colorList.getContext('2d'); + let gradient = ctx.createLinearGradient(0, 0, 500, 20); + + gradient.addColorStop(0.0, '#aac7ff'); + gradient.addColorStop(0.1, '#aac7ff'); + gradient.addColorStop(0.2, '#74d7cb'); + gradient.addColorStop(0.3, '#a0d490'); + gradient.addColorStop(0.4, '#dec663'); + gradient.addColorStop(0.5, '#ffb787'); + gradient.addColorStop(0.6, '#ffb1c0'); + gradient.addColorStop(0.7, '#ddbfc3'); + gradient.addColorStop(0.8, '#f6b0ea'); + gradient.addColorStop(0.9, '#d4bbff'); + + ctx.fillStyle = gradient; + ctx.fillRect(0, 0, 1000, 150); + + const dragBall = document.getElementById('dragBall'); + dragBall.style.left = `0px`; + dragBall.addEventListener('mousedown', (e) => { + const rect = colorList.getBoundingClientRect(); + e.preventDefault(); + + const onMouseMove = (ev) => { + var x = ev.clientX - rect.left; + const data = ctx.getImageData(x - 17, 1, 1, 1).data; + dragBall.style.left = `${x - 17/2}px`; + if (x < 17) { + dragBall.style.left = `${17/2}px`; + x = 17; + } else if (x > rect.width - 17) { + dragBall.style.left = `${rect.width - 17 - (17/2)}px`; + x = rect.width - 17 - (17/2); + } + Services.prefs.setStringPref('zen.theme.accent-color', `#${data[0].toString(16)}${data[1].toString(16)}${data[2].toString(16)}`); + } + + const onMouseUp = () => { + document.removeEventListener('mousemove', onMouseMove); + document.removeEventListener('mouseup', onMouseUp); + } + + document.addEventListener('mousemove', onMouseMove); + document.addEventListener('mouseup', onMouseUp); + }); + } } class Thanks extends Page { diff --git a/src/browser/locales/en-US/browser/zen-welcome.ftl b/src/browser/locales/en-US/browser/zen-welcome.ftl index c52f63b5d..04a3e0d21 100644 --- a/src/browser/locales/en-US/browser/zen-welcome.ftl +++ b/src/browser/locales/en-US/browser/zen-welcome.ftl @@ -16,6 +16,9 @@ welcome-dialog-theme = 🎨 Choose a theme welcome-dialog-theme-subtext = Personalize your experience with your favorite look! welcome-dialog-theme-action = Continue +welcome-dialog-theme-header-1 = 1. Choose A theme +welcome-dialog-theme-header-2 = 2. Find Your Perfect Color + welcome-dialog-search = 🔍 Choose a search engine welcome-dialog-search-subtext = Select your preferred search engine to tailor your browsing experience! welcome-dialog-search-action = Next