Skip to content

Commit ffa7ea4

Browse files
committed
[refactor] improve header shade logic
1 parent c012a47 commit ffa7ea4

File tree

6 files changed

+29
-21
lines changed

6 files changed

+29
-21
lines changed

‎src/css/header.css‎

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
display: flex;
44
flex-direction: row;
55
z-index:var(--z-index-header);
6+
pointer-events: none;
7+
}
8+
9+
.is-header-shade-show .header{
10+
pointer-events: all;
611
}
712

813
.is-header-area-alignment-horizontal-left .header{
@@ -39,20 +44,19 @@
3944
height:100%;
4045
top:0;
4146
left:0;
47+
opacity:0;
4248
pointer-events: none;
49+
transition: background-color var(--layout-animation-speed-slow) ease-in-out, border-radius var(--layout-animation-speed-fast) ease-in-out;
4350
}
4451

4552
.is-header-radius .header-shade{
4653
border-radius:calc(var(--theme-radius) *4);
4754
}
4855

49-
.is-header-shade-show .header-shade{
50-
background-color:rgba(var(--header-shade-color),var(--header-shade-opacity));
51-
}
52-
56+
.is-header-shade-style-always .header-shade,
5357
.is-header-shade-style-scroll .header-shade{
54-
transition:background-colorvar(--layout-animation-speed-slow) ease-in-out;
55-
animation: none;
58+
background-color:rgba(var(--header-shade-color));
59+
opacity:var(--header-shade-opacity);
5660
}
5761

5862
.is-header-border-top .header-shade{
@@ -67,6 +71,7 @@
6771
padding:calc(var(--layout-gutter) *var(--layout-padding-multiplier));
6872
position: relative;
6973
width:var(--header-area-width);
74+
pointer-events: none;
7075
}
7176

7277
.is-header-border-top .header-area{
@@ -109,7 +114,6 @@
109114
flex-direction: row;
110115
flex-wrap: wrap;
111116
align-items: stretch;
112-
pointer-events: none;
113117
}
114118

115119
.is-header-item-alignment-horizontal-left .header-item-grid{

‎src/css/variables.css‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
--theme-shade-20:250,250,250;
2828
/* header */
2929
--header-area-width:100%;
30-
--header-shade-color:transparent;
30+
--header-shade-color:var(--theme-gray-01);
3131
--header-shade-opacity:0.95;
3232
--header-search-width:0%;
3333
--header-border-top:0;

‎src/js/control.js‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2320,11 +2320,8 @@ var control = (function(){
23202320
};
23212321
var_shade=function(){
23222322
helper.removeClass(html,"is-header-shade-show");
2323-
helper.removeClass(html,"is-header-shade-style-always");
2324-
helper.removeClass(html,"is-header-shade-style-scroll");
23252323
if(state.get().header.shade.show){
23262324
helper.addClass(html,"is-header-shade-show");
2327-
helper.addClass(html,"is-header-shade-style-"+state.get().header.shade.style);
23282325
};
23292326
if(state.get().header.radius){
23302327
helper.addClass(html,"is-header-radius");

‎src/js/header.js‎

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,28 +81,35 @@ var header = (function(){
8181
varscrollTop=document.documentElement.scrollTop;
8282
varscrollHeight=document.documentElement.scrollHeight;
8383
varinnerHeight=window.innerHeight;
84+
// if shade show
8485
if(state.get().header.shade.show){
86+
// shade always
8587
if(state.get().header.shade.style=="always"){
86-
html.style.setProperty("--header-shade-color","var(--theme-gray-01)");
88+
helper.removeClass(html,"is-header-shade-style-scroll");
89+
helper.addClass(html,"is-header-shade-style-always");
90+
// shade scroll
8791
}elseif(state.get().header.shade.style=="scroll"){
92+
helper.removeClass(html,"is-header-shade-style-always");
93+
// check header position
8894
if(state.get().layout.order=="headerLink"){
95+
// check scroll position
8996
if(scrollTop>fontSize*2){
90-
html.style.setProperty("--header-shade-color","var(--theme-gray-01)");
97+
helper.addClass(html,"is-header-shade-style-scroll");
9198
}else{
92-
html.style.setProperty("--header-shade-color","transparent");
99+
helper.removeClass(html,"is-header-shade-style-scroll");
93100
};
94101
}elseif(state.get().layout.order=="linkHeader"){
102+
// check scroll position
95103
if(scrollTop<(scrollHeight-innerHeight)-(fontSize*2)){
96-
html.style.setProperty("--header-shade-color","var(--theme-gray-01)");
104+
helper.addClass(html,"is-header-shade-style-scroll");
97105
}else{
98-
html.style.setProperty("--header-shade-color","transparent");
106+
helper.removeClass(html,"is-header-shade-style-scroll");
99107
};
100108
};
101-
}else{
102-
html.style.setProperty("--header-shade-color","transparent");
103109
};
104110
}else{
105-
html.style.setProperty("--header-shade-color","transparent");
111+
helper.removeClass(html,"is-header-shade-style-scroll");
112+
helper.removeClass(html,"is-header-shade-style-always");
106113
};
107114
};
108115

‎src/js/version.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
varversion=(function(){
22

3-
varcurrent="3.23.1";
3+
varcurrent="3.24.0";
44

55
varcompare=function(a,b){
66
varpa=a.split(".");

‎src/manifest.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "nightTab",
33
"short_name": "nightTab",
44
"description": "A neutral new tab page accented with a chosen colour. Customise the layout, style, background and bookmarks in nightTab.",
5-
"version": "3.23.1",
5+
"version": "3.24.0",
66
"manifest_version": 2,
77
"chrome_url_overrides":{
88
"newtab": "index.html"

0 commit comments

Comments
(0)