Worked on the gradient choser

This commit is contained in:
mr. M
2024-10-26 12:11:14 +02:00
parent 032a3f562f
commit 4ee7fa2af7
10 changed files with 194 additions and 38 deletions

2
l10n

Submodule l10n updated: bb6c7ce7a8...385d52f307

View File

@@ -80,6 +80,7 @@ pref('zen.theme.border-radius', 5); // In pixels
pref('zen.theme.content-element-separation', 6); // In pixels
pref('zen.theme.toolbar-themed', true);
pref('zen.theme.pill-button', false);
pref('zen.theme.gradient', true);
pref('zen.view.compact', false);
pref('zen.theme.color-prefs.amoled', false);

View File

@@ -107,14 +107,35 @@
<hbox class="zen-theme-picker-gradient"></hbox>
<hbox id="PanelUI-zen-gradient-generator-controls">
<vbox id="PanelUI-zen-gradient-colors-wrapper">
<label data-l10n-id="zen-panel-ui-gradient-generator-opacity-text"></label>
<html:input type="range" min="0" max="1" value="0.5" step="0.05" oninput="gZenThemePicker.onOpacityChange(event);" id="PanelUI-zen-gradient-generator-opacity" />
<vbox>
<label data-l10n-id="zen-panel-ui-gradient-generator-opacity-text"></label>
<html:input type="range" min="0" max="1" value="0.5" step="0.05" oninput="gZenThemePicker.onOpacityChange(event);" id="PanelUI-zen-gradient-generator-opacity" />
</vbox>
<vbox>
<label data-l10n-id="zen-panel-ui-gradient-generator-texture-text"></label>
<html:input type="range" min="0" max="1" value="0.5" step="0.05" oninput="gZenThemePicker.onTextureChange(event);" id="PanelUI-zen-gradient-generator-texture" />
</vbox>
</vbox>
<vbox id="PanelUI-zen-gradient-generator-options">
<hbox id="PanelUI-zen-gradient-degrees">
<box class="dot"></box>
<box class="text"></box>
</hbox>
</vbox>
<hbox id="PanelUI-zen-gradient-degrees">
<box class="dot"></box>
<box class="text"></box>
</hbox>
</hbox>
<vbox id="PanelUI-zen-gradient-generator-custom-colors">
<vbox id="zen-theme-picker-color">
<label data-l10n-id="zen-panel-ui-gradient-generator-custom-color"></label>
<hbox>
<html:input type="text" placeholder="#000000" id="PanelUI-zen-gradient-generator-custom-input" />
<toolbarbutton id="PanelUI-zen-gradient-generator-color-custom-add" class="subviewbutton" oncommand="gZenThemePicker.addCustomColor();" data-l10n-id="zen-panel-ui-gradient-generator-custom-color-add">
<image></image>
</toolbarbutton>
</hbox>
</vbox>
<vbox id="PanelUI-zen-gradient-generator-custom-list">
</vbox>
</vbox>
</panelview>
</panelmultiview>
</panel>

View File

@@ -42,16 +42,36 @@
#zen-main-app-wrapper {
background: var(--zen-main-browser-background);
&[animating='true']::before {
content: '';
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: var(--zen-main-browser-background-old);
backdrop-filter: blur(5px);
animation: zen-main-app-wrapper-animation .5s ease-in-out forwards;
& > * {
z-index: 1;
}
@media (-moz-bool-pref: 'zen.theme.gradient') {
&[animating='true']::before {
content: '';
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: var(--zen-main-browser-background-old);
backdrop-filter: blur(5px);
animation: zen-main-app-wrapper-animation .5s ease-in-out forwards;
border-radius: env(-moz-gtk-csd-titlebar-radius);
}
&::after {
content: '';
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url(data:image/png;base64,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);
pointer-events: none;
z-index: 0;
opacity: var(--zen-grainy-background-opacity, 0);
}
}
}

View File

@@ -12,21 +12,21 @@
min-width: 50px;
max-height: 50px;
max-width: 50px;
border: 2px solid var(--zen-primary-color);
border: 3px solid var(--zen-primary-color);
display: flex;
justify-items: center;
align-items: center;
margin-right: 10px;
margin-left: auto;
margin-right: 0 auto;
z-index: 1;
& .dot {
position: absolute;
z-index: 2;
width: 50px;
height: 50px;
top: 0;
left: 0;
/* +3 because of the border */
width: 53px;
height: 53px;
top: -3px;
left: -3px;
&::after {
width: 10px;
@@ -40,7 +40,6 @@
bottom: 2px;
right: 0;
border: 2px solid var(--zen-colors-border);
animation: zen-theme-picker-dot-animation .5s;
transition: transform .2s;
}
@@ -57,20 +56,105 @@
#PanelUI-zen-gradient-generator-controls {
padding-top: 15px;
margin-bottom: 5px;
align-items: center;
gap: calc(var(--panel-padding) * 2);
border-top: 1px solid color-mix(in srgb, var(--zen-colors-border) 50%, transparent 50%);
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 {
align-items: start;
width: 100%;
& label {
font-size: 12px;
margin-left: 0;
font-weight: 600;
margin-bottom: 5px;
}
& input,
& > hbox {
width: 100%;
position: relative;
}
}
#PanelUI-zen-gradient-generator-custom-input {
position: relative;
}
#PanelUI-zen-gradient-generator-color-custom-add {
position: absolute;
right: 5px;
top: 5px;
cursor: pointer;
}
#PanelUI-zen-gradient-colors-wrapper {
& label {
font-size: 12px;
margin-left: 0;
font-weight: 600;
margin-top: 5px;
}
gap: 10px;
}
#PanelUI-zen-gradient-generator-options {
padding-left: calc(var(--panel-padding) * 2);
padding-right: var(--panel-padding);
border-left: 1px solid color-mix(in srgb, var(--zen-colors-border) 50%, transparent 50%);
align-items: center;
margin-left: auto;
height: 100%;
justify-content: center;
}
#PanelUI-zen-gradient-generator-custom-list {
margin-top: 15px;
& .zen-theme-picker-custom-list-item {
display: flex;
padding: 5px;
position: relative;
& .zen-theme-picker-dot-custom {
background: var(--zen-theme-picker-dot-color);
border: 1px solid var(--zen-colors-border);
border-radius: 5px;
width: 20px;
height: 20px;
margin-right: 10px;
}
& .zen-theme-picker-custom-list-item-label {
font-size: 12px;
font-weight: 600;
margin: 0;
display: flex;
align-items: center;
}
& .zen-theme-picker-custom-list-item-remove {
padding: 2px 4px !important;
margin: 0 !important;
margin-left: auto !important;
transition: opacity .1s;
opacity: 0;
}
&:hover .zen-theme-picker-custom-list-item-remove {
opacity: 1;
}
}
}
#PanelUI-zen-gradient-generator-opacity {
margin-right: 5px;
width: 100%;
#PanelUI-zen-gradient-generator-opacity,
#PanelUI-zen-gradient-generator-texture {
margin: 0 !important;
background: transparent;
&::-moz-range-thumb {
background: var(--zen-colors-tertiary);
@@ -107,18 +191,40 @@
background: var(--zen-theme-picker-gradient-image) center center / cover no-repeat;
&::before {
background: color-mix(in srgb, var(--zen-themed-toolbar-bg) 20%, transparent 80%);
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);
content: '';
position: absolute;
top: 0;
left: 0;
pointer-events: none;
width: 100%;
height: 100%;
margin: 10px;
box-shadow: 0 0 0 1px 1px var(--zen-colors-border);
width: calc(100% - 20px);
height: calc(100% - 20px);
border-radius: calc(var(--zen-border-radius) + 5px);
}
&::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);
background-size: 24px 24px;
content: '';
position: absolute;
top: 0;
left: 0;
margin: 10px;
width: calc(100% - 20px);
height: calc(100% - 20px);
opacity: 0.1;
}
& .zen-theme-picker-dot {
position: absolute;
z-index: 2;

View File

@@ -84,7 +84,7 @@
border-bottom: 0px solid transparent !important;
--tab-block-margin: 2px;
--tab-selected-bgcolor: light-dark(color-mix(in srgb, var(--zen-colors-primary) 1%, white 99%), var(--zen-colors-secondary));
--tab-selected-bgcolor: light-dark(rgba(255,255,255,.7), color-mix(in srgb, var(--zen-colors-secondary) 50%, transparent 50%));
grid-gap: 0 !important;
& .tabbrowser-tab {
@@ -109,6 +109,10 @@
}
}
&[selected] .tab-background {
backdrop-filter: blur(10px);
}
@media (-moz-bool-pref: 'zen.tabs.dim-pending') {
&[pending='true'] .tab-icon-image {
opacity: 0.5;
@@ -296,7 +300,7 @@
& .tab-background {
@media not (prefers-color-scheme: dark) {
&:is([selected], [multiselected]) {
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1) !important;
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.15) !important;
}
}
margin-inline: var(--tab-block-margin);

View File

@@ -62,6 +62,7 @@
--in-content-button-text-color: var(--zen-secondary-btn-color) !important;
--toolbarbutton-icon-fill-attention: var(--zen-primary-color) !important;
--toolbarbutton-icon-fill: light-dark(rgb(57, 57, 58), rgb(251, 251, 254)) !important;
--button-primary-bgcolor: var(--in-content-primary-button-background) !important;
--button-primary-hover-bgcolor: var(--in-content-primary-button-background-hover) !important;

View File

@@ -383,7 +383,8 @@
}
#PanelUI-zen-workspaces-new,
#PanelUI-zen-workspaces-reorder-mode {
#PanelUI-zen-workspaces-reorder-mode,
#PanelUI-zen-gradient-generator-color-custom-add {
margin-left: auto;
min-height: 1px !important;
padding: 3px;

View File

@@ -43,7 +43,8 @@
#stop-button,
.close-icon,
#zen-sidebar-web-panel-close {
#zen-sidebar-web-panel-close,
.zen-theme-picker-custom-list-item-remove {
list-style-image: url('close.svg') !important;
}
@@ -186,7 +187,8 @@
#appMenu-zoomEnlarge-button2,
#PanelUI-zen-profiles-newProfile,
#zen-sidebar-add-panel-button,
#PanelUI-zen-workspaces-new image {
#PanelUI-zen-workspaces-new image,
#PanelUI-zen-gradient-generator-color-custom-add image {
list-style-image: url('plus.svg') !important;
}