Refactor ZenWelcome component and update welcome screen handling for improved layout and functionality

This commit is contained in:
mr. M
2025-02-21 19:51:51 +01:00
parent df597e6452
commit 023096477c
3 changed files with 11 additions and 7 deletions

View File

@@ -133,7 +133,7 @@
_checkForWelcomePage() { _checkForWelcomePage() {
if (!Services.prefs.getBoolPref('zen.welcome-screen.seen', false)) { if (!Services.prefs.getBoolPref('zen.welcome-screen.seen', false)) {
Services.prefs.setBoolPref('zen.welcome-screen.seen', true); //Services.prefs.setBoolPref('zen.welcome-screen.seen', true);
Services.scriptloader.loadSubScript('chrome://browser/content/zen-components/ZenWelcome.mjs', window); Services.scriptloader.loadSubScript('chrome://browser/content/zen-components/ZenWelcome.mjs', window);
} }
}, },

View File

@@ -166,10 +166,6 @@
#zen-welcome-workspace-colors-anchor { #zen-welcome-workspace-colors-anchor {
width: 1px; width: 1px;
height: 1px; height: 1px;
margin: 8rem auto auto 13.4rem;
@media (-moz-platform: macos) {
margin: 4rem auto auto 10.5rem;
}
} }
#zen-welcome-initial-essentials-browser { #zen-welcome-initial-essentials-browser {

View File

@@ -435,15 +435,23 @@
document.getElementById('zen-welcome-page-content').appendChild(anchor); document.getElementById('zen-welcome-page-content').appendChild(anchor);
gZenThemePicker.panel.setAttribute('noautohide', 'true'); gZenThemePicker.panel.setAttribute('noautohide', 'true');
gZenThemePicker.panel.setAttribute('consumeoutsideclicks', 'false'); gZenThemePicker.panel.setAttribute('consumeoutsideclicks', 'false');
gZenThemePicker.panel.addEventListener('popupshowing', () => {
const panelRect = gZenThemePicker.panel.getBoundingClientRect();
// 20 is the shadow width * 2
anchor.style.height = panelRect.height - 20 + 'px';
anchor.style.width = panelRect.width - 20 + 'px';
}, { once: true });
PanelMultiView.openPopup(gZenThemePicker.panel, anchor, { PanelMultiView.openPopup(gZenThemePicker.panel, anchor, {
position: 'top', position: 'overlap',
}); });
}, },
dontFadeOut: true, dontFadeOut: true,
async fadeOut() { async fadeOut() {
gZenThemePicker.panel.removeAttribute('noautohide'); gZenThemePicker.panel.removeAttribute('noautohide');
gZenThemePicker.panel.removeAttribute('consumeoutsideclicks'); gZenThemePicker.panel.removeAttribute('consumeoutsideclicks');
if (AppConstants.platform != "macosx") {
await animate(gZenThemePicker.panel, { opacity: [1, 0] }); await animate(gZenThemePicker.panel, { opacity: [1, 0] });
}
gZenThemePicker.panel.hidePopup(); gZenThemePicker.panel.hidePopup();
gZenThemePicker.panel.removeAttribute('style'); gZenThemePicker.panel.removeAttribute('style');
}, },