Skip to content
This repository was archived by the owner on Sep 30, 2024. It is now read-only.

Commit c886ba1

Browse files
authored
πŸ’„ Better welcome & setup (#198)
* πŸ’„ Correct font size in theme selector Fixes #148 * πŸ’„ Better feature selector Fixes #188 * πŸ› Fix vertical tabs vis * πŸ’„ Match welcome screen with pulse theme * πŸ’„ Fix a few sizing thing * πŸ› Specify default preference values
1 parent 669b394 commit c886ba1

File tree

8 files changed

+193
-42
lines changed

8 files changed

+193
-42
lines changed

β€Žsrc/browser/base/content/contentTheme-js.patchβ€Ž

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
diff --git a/browser/base/content/contentTheme.js b/browser/base/content/contentTheme.js
2-
index d634a17c2633dc2ead40082c71622fe1b7a491a2..042c8120729f6c35ad0b49b91443a88ec6ed4fe8 100644
2+
index d634a17c2633dc2ead40082c71622fe1b7a491a2..73b2dedad1ccd3db43aca773f2e8bdcaa2737bda 100644
33
--- a/browser/base/content/contentTheme.js
44
+++ b/browser/base/content/contentTheme.js
5-
@@ -135,6 +135,105 @@
5+
@@ -135,6 +135,119 @@
66
lwtProperty: "sidebar_highlight_text",
77
},
88
],
@@ -60,6 +60,13 @@ index d634a17c2633dc2ead40082c71622fe1b7a491a2..042c8120729f6c35ad0b49b91443a88e
6060
+ lwtProperty: "button_primary_color",
6161
+ }
6262
+ ],
63+
+ [
64+
+ "--in-content-link-color",
65+
+ {
66+
+ lwtProperty: "button_primary_color",
67+
+ }
68+
+ ],
69+
+
6370
+
6471
+ [
6572
+ "--in-content-primary-button-text-color-hover",
@@ -79,6 +86,13 @@ index d634a17c2633dc2ead40082c71622fe1b7a491a2..042c8120729f6c35ad0b49b91443a88e
7986
+ lwtProperty: "button_primary_color",
8087
+ }
8188
+ ],
89+
+ [
90+
+ "--in-content-link-color-hover",
91+
+ {
92+
+ lwtProperty: "button_primary_color",
93+
+ }
94+
+ ],
95+
+
8296
+
8397
+ [
8498
+ "--in-content-page-background",

β€Žsrc/browser/components/welcome/jar.mnβ€Ž

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@ browser.jar:
99
content/browser/welcome/welcome.js (welcome.js)
1010
content/browser/welcome/migrate.light.svg (migrate.light.svg)
1111
content/browser/welcome/migrate.dark.svg (migrate.dark.svg)
12+
content/browser/welcome/sidebar.vis.svg (sidebar.vis.svg)
13+
content/browser/welcome/vertical.vis.svg (vertical.vis.svg)

β€Žsrc/browser/components/welcome/sidebar.vis.svgβ€Ž

Lines changed: 61 additions & 0 deletions
Loading

β€Žsrc/browser/components/welcome/vertical.vis.svgβ€Ž

Lines changed: 42 additions & 0 deletions
Loading

β€Žsrc/browser/components/welcome/welcome.cssβ€Ž

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ This Source Code Form is subject to the terms of the Mozilla Public
33
License, v. 2.0. If a copy of the MPL was not distributed with this
44
file, You can obtain one at http://mozilla.org/MPL/2.0/.
55
*/
6+
67
body {
78
width: 670px;
89
height: 504px;
@@ -25,34 +26,41 @@ body {
2526
align-content: center;
2627
width: 100%;
2728

28-
margin: 64px;
29+
margin: 32px;
30+
}
31+
32+
#enableFeatures .card {
33+
width: auto;
2934
}
3035

3136
.card h3 {
32-
font-size: 0.75rem;
33-
/* margin: 0; */
37+
margin: auto;
38+
text-align: center;
3439
}
3540

3641
.cardGroup {
3742
display: flex;
3843
flex-wrap: wrap;
39-
align-items: flex-start;
44+
align-items: stretch;
4045
gap: 8px;
4146
margin-bottom: 8px;
47+
justify-content: center;
4248
}
4349

4450
.cardGroup .card {
4551
width: 140px;
4652
display: flex;
4753
flex-direction: column;
4854
align-items: center;
55+
align-content: space-between;
4956
border: 2px solid transparent;
5057
transition: all 250ms ease-in-out;
5158
margin: 0;
59+
border-radius: 16px;
5260
}
5361

5462
.cardGroup .card.selected {
55-
border: 2px solid var(--in-content-item-selected);
63+
border: 2px solid var(--in-content-primary-button-background-hover);
5664
}
5765

5866
h2,
@@ -85,7 +93,7 @@ p {
8593
}
8694
}
8795

88-
input[type="checkbox"] {
96+
input[type='checkbox'] {
8997
display: inline-block;
9098
vertical-align: middle;
91-
}
99+
}

β€Žsrc/browser/components/welcome/welcome.htmlβ€Ž

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,20 +88,19 @@ <h2 data-l10n-id="welcome-dialog-search"></h2>
8888
></button>
8989
</div>
9090

91-
<div class="page" id="sidebar">
92-
<h2 data-l10n-id="welcome-dialog-sidebar"></h2>
93-
<p data-l10n-id="welcome-dialog-sidebar-subtext"></p>
94-
<hbox>
95-
<input type="checkbox" id="sidebarEnabled" checked><label data-l10n-id="welcome-dialog-sidebar-checkbox"></label></input><br>
96-
<input type="checkbox" id="sidebarKeepTabsActive" checked><label data-l10n-id="welcome-dialog-sidebar-keeptabsenabled-checkbox"></label></input>
97-
</hbox>
91+
<div class="page" id="features">
92+
<h2 data-l10n-id="welcome-dialog-features"></h2>
93+
94+
<div class="cardGroup" id="enableFeatures"></div>
95+
9896
<button
99-
id="sidebarNext"
97+
id="featuresNext"
10098
class="primary"
101-
data-l10n-id="welcome-dialog-sidebar-action"
99+
data-l10n-id="welcome-dialog-features-action"
102100
></button>
103101
</div>
104102

105103
<script src="./welcome.js"></script>
104+
<script src="chrome://browser/content/contentTheme.js"></script>
106105
</body>
107106
</html>

β€Žsrc/browser/components/welcome/welcome.jsβ€Ž

Lines changed: 45 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,10 @@ class EngineStore {
6565
}
6666

6767
async setDefaultEngine(engine) {
68-
await Services.search.setDefault(engine.originalEngine, Ci.nsISearchService.CHANGE_REASON_USER)
68+
await Services.search.setDefault(
69+
engine.originalEngine,
70+
Ci.nsISearchService.CHANGE_REASON_USER
71+
)
6972
}
7073
}
7174

@@ -151,29 +154,52 @@ class Themes extends Page {
151154
}
152155
}
153156

154-
class Sidebar extends Page {
157+
class Features extends Page {
155158
constructor(id) {
156159
super(id)
157160

158-
this.loadSidebar()
159-
}
161+
/** @type {HTMLDivElement} */
162+
this.enableFeatures = document.getElementById('enableFeatures')
163+
164+
/** @type {{ l10nId: string; image: string; pref: string; }[]} */
165+
this.features = [
166+
{
167+
l10nId: 'welcome-dialog-feature-vertical-tabs',
168+
image: 'vertical.vis.svg',
169+
pref: 'pulse.tabs.vertical',
170+
},
171+
{
172+
l10nId: 'welcome-dialog-feature-sidebar-tabs',
173+
image: 'sidebar.vis.svg',
174+
pref: 'pulse.sidebar.enabled',
175+
},
176+
]
177+
178+
for (const feature of this.features) {
179+
const container = document.createElement('div')
180+
container.classList.add('card')
181+
if (Services.prefs.getBoolPref(feature.pref, false))
182+
container.classList.add('selected')
160183

161-
async loadSidebar() {
162-
this.enabled = document.getElementById('sidebarEnabled')
163-
this.keepTabsActive = document.getElementById('sidebarKeepTabsActive')
184+
container.addEventListener('click', () => {
185+
const newValue = !Services.prefs.getBoolPref(feature.pref, false)
186+
Services.prefs.setBoolPref(feature.pref, newValue)
164187

165-
this.enabled.addEventListener('change', () => {
166-
//change browser preference pulse.sidebar.enabled
167-
Services.prefs.setBoolPref('pulse.sidebar.enabled', this.enabled.checked)
168-
})
188+
if (newValue) container.classList.add('selected')
189+
else container.classList.remove('selected')
190+
})
169191

170-
this.keepTabsActive.addEventListener('change', () => {
171-
//change browser preference pulse.sidebar.keeptabsactive.enabled
172-
Services.prefs.setBoolPref(
173-
'pulse.sidebar.keeptabsactive.enabled',
174-
this.keepTabsActive.checked
175-
)
176-
})
192+
const img = document.createElement('img')
193+
img.src = feature.image
194+
195+
const name = document.createElement('h3')
196+
name.setAttribute('data-l10n-id', feature.l10nId)
197+
198+
container.appendChild(img)
199+
container.appendChild(name)
200+
201+
this.enableFeatures.appendChild(container)
202+
}
177203
}
178204
}
179205

@@ -292,5 +318,5 @@ const pages = new Pages([
292318
new Import('import'),
293319
new Themes('theme'),
294320
new Search('search'),
295-
new Sidebar('sidebar'),
321+
new Features('features'),
296322
])

β€Žsrc/browser/locales/en-US/browser/welcome.ftlβ€Ž

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@ welcome-dialog-theme-action = Continue
1818
welcome-dialog-search = Choose a search engine
1919
welcome-dialog-search-action = Next
2020
21-
welcome-dialog-sidebar = Choose your Sidebar Settings
22-
welcome-dialog-sidebar-subtext = Some users like to have a sidebar, others don't. It's all up to you.
23-
welcome-dialog-sidebar-checkbox = Enable Sidebar
24-
welcome-dialog-sidebar-keeptabsenabled-checkbox = Keep sidebar tabs active even when closed
25-
welcome-dialog-sidebar-action = Done
21+
welcome-dialog-features = Enable some features
22+
welcome-dialog-feature-vertical-tabs = Vertical Tabs
23+
welcome-dialog-feature-sidebar-tabs = Sidebar Tabs
24+
welcome-dialog-features-action = Finish
2625
2726
# About Welcome Page
2827
welcome-page-description = An experimental Firefox fork that enhances focus and increases work productivity due to its hyper minimalistic UI and built-in tools

0 commit comments

Comments
Β (0)