Skip to content

Commit dce3f48

Browse files
authored
[refactor] improve link binding, search matching and feedback when no bookmarks
1 parent 20d6691 commit dce3f48

File tree

13 files changed

+262
-127
lines changed

13 files changed

+262
-127
lines changed

‎css/button.css‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ input[type="reset"]:focus,
4040
input[type="submit"]:hover,
4141
input[type="submit"]:focus{
4242
background-color:var(--gray-03);
43-
border-bottom-color:rgb(var(--accent));
43+
border-bottom-color:var(--gray-08);
4444
color:var(--white);
4545
outline:0;
4646
}
@@ -51,6 +51,7 @@ input[type="button"]:active,
5151
input[type="reset"]:active,
5252
input[type="submit"]:active{
5353
background-color:var(--gray-04);
54+
border-bottom-color:rgb(var(--accent));
5455
color:var(--white);
5556
transition: none;
5657
}

‎css/form.css‎

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ input[type="search"]:hover,
7272
input[type="tel"]:hover,
7373
input[type="text"]:hover{
7474
background-color:var(--gray-16);
75-
border-color:rgb(var(--accent));
75+
border-color:var(--gray-10);
7676
color:var(--black);
7777
outline:0;
7878
}
@@ -300,17 +300,32 @@ input[type="checkbox"]:focus+.input-label-button,
300300
input[type="radio"]:hover+.input-label-button,
301301
input[type="radio"]:focus+.input-label-button{
302302
background-color:var(--gray-03);
303-
border-bottom-color:rgb(var(--accent));
303+
border-bottom-color:var(--gray-10);
304304
color:var(--white);
305305
outline:0;
306306
}
307307

308+
input[type="color"]:active+.input-label-button,
309+
input[type="checkbox"]:active+.input-label-button,
310+
input[type="radio"]:active+.input-label-button{
311+
border-bottom-color:rgb(var(--accent));
312+
}
313+
308314
input[type="color"]:checked+.input-label-button,
309315
input[type="checkbox"]:checked+.input-label-button,
310316
input[type="radio"]:checked+.input-label-button{
311317
border-bottom-color:rgb(var(--accent));
312318
}
313319

320+
input[type="color"][disabled]+.input-label-button,
321+
input[type="checkbox"][disabled]+.input-label-button,
322+
input[type="radio"][disabled]+.input-label-button{
323+
background-color:var(--gray-02);
324+
border-color: transparent;
325+
color:var(--gray-04);
326+
cursor: default;
327+
}
328+
314329
input[type="checkbox"][disabled]+label,
315330
input[type="radio"][disabled]+label{
316331
color:var(--gray-04);

‎css/header.css‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@
1919
}
2020

2121
.header-item{
22-
margin-left:var(--gutter);
23-
margin-right:var(--gutter);
24-
margin-bottom:1em;
2522
margin:var(--gutter);
2623
display: flex;
2724
flex-wrap: nowrap;

‎css/link.css‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,16 @@
230230
text-overflow: ellipsis;
231231
}
232232

233+
.link-empty{
234+
grid-column-start:1;
235+
grid-column-end:-1;
236+
text-align: center;
237+
}
238+
239+
.link-empty-heading{
240+
color:var(--gray-04);
241+
}
242+
233243
.is-link-block .link-name{
234244
text-align: center;
235245
}

‎index.html‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
</label>
7171
</div>
7272
</div>
73-
<divclass="header-item">
73+
<divclass="header-item header-menu">
7474
<buttonclass="button mb-0 control-menu" tabindex="1">
7575
<spanclass="button-text"><spanclass="icon-settings"></span></span>
7676
</button>
@@ -252,13 +252,6 @@ <h1 class="menu-header">Sort</h1>
252252
<labelfor="control-link-sort-letter"><spanclass="label-icon"></span>Letter</label>
253253
</div>
254254
</div>
255-
<divclass="menu-item">
256-
<h1class="menu-header">Theme</h1>
257-
<divclass="checkbox-wrap">
258-
<inputid="control-layout-theme-random" class="control-layout-theme-random" type="checkbox" tabindex="1">
259-
<labelfor="control-layout-theme-random"><spanclass="label-icon"></span>Random Accent colour on load/refresh</label>
260-
</div>
261-
</div>
262255
</div>
263256
<divclass="menu-content-area menu-content-area-layout is-hidden">
264257
<divclass="menu-item">
@@ -283,6 +276,13 @@ <h1 class="menu-header">Page</h1>
283276
<labelfor="control-layout-scroll-past-end"><spanclass="label-icon"></span>Scroll past end</label>
284277
</div>
285278
</div>
279+
<divclass="menu-item">
280+
<h1class="menu-header">Theme</h1>
281+
<divclass="checkbox-wrap">
282+
<inputid="control-layout-theme-random" class="control-layout-theme-random" type="checkbox" tabindex="1">
283+
<labelfor="control-layout-theme-random"><spanclass="label-icon"></span>Random Accent colour on load/refresh</label>
284+
</div>
285+
</div>
286286
</div>
287287
</div>
288288

‎js/bookmarks.js‎

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,14 +134,16 @@ var bookmarks = (function(){
134134

135135
varget=function(timeStamp){
136136
var_singleBookmark=function(){
137+
varfound=false;
137138
for(vari=0;i<all.length;i++){
138139
if(all[i].timeStamp===timeStamp){
139-
returnall[i];
140+
found=all[i];
140141
};
141142
};
143+
returnfound;
142144
};
143145
var_allBookmarks=function(){
144-
varby={
146+
varaction={
145147
none: function(array){
146148
returnhelper.sortObject(array,"timeStamp");
147149
},
@@ -152,9 +154,9 @@ var bookmarks = (function(){
152154
returnhelper.sortObject(array,"letter");
153155
}
154156
};
155-
returnby[state.get().link.sort](all);
157+
returnaction[state.get().link.sort](all);
156158
};
157-
if(timeStamp){
159+
if(timeStamp&&typeoftimeStamp=="number"){
158160
return_singleBookmark(timeStamp);
159161
}else{
160162
return_allBookmarks();

‎js/control.js‎

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,19 @@ var control = (function(){
108108
_layout();
109109
};
110110

111-
var_dependents=function(){
111+
vardependents=function(){
112+
var_edit=function(){
113+
if(bookmarks.get().length>0){
114+
helper.e(".control-edit").disabled=false;
115+
}else{
116+
helper.e(".control-edit").disabled=true;
117+
helper.e(".control-edit").checked=false;
118+
state.change({
119+
path: "edit.active",
120+
value: false
121+
});
122+
};
123+
};
112124
var_date=function(){
113125
varactiveCount=0;
114126
vartoCheck=[state.get().header.date.show.date,state.get().header.date.show.day,state.get().header.date.show.month,state.get().header.date.show.year];
@@ -180,6 +192,7 @@ var control = (function(){
180192
helper.e(".control-header-search-engine-custom-url").disabled=true;
181193
};
182194
};
195+
_edit();
183196
_date();
184197
_clock();
185198
_search();
@@ -198,6 +211,7 @@ var control = (function(){
198211
value: this.checked
199212
});
200213
render();
214+
dependents();
201215
data.save();
202216
},false);
203217
helper.e(".control-layout-theme").addEventListener("change",function(){
@@ -252,7 +266,7 @@ var control = (function(){
252266
value: this.checked
253267
});
254268
render();
255-
_dependents();
269+
dependents();
256270
header.render();
257271
data.save();
258272
},false);
@@ -262,7 +276,7 @@ var control = (function(){
262276
value: this.checked
263277
});
264278
render();
265-
_dependents();
279+
dependents();
266280
header.render();
267281
data.save();
268282
},false);
@@ -273,7 +287,7 @@ var control = (function(){
273287
value: this.value
274288
});
275289
render();
276-
_dependents();
290+
dependents();
277291
search.update();
278292
data.save();
279293
},false);
@@ -292,7 +306,7 @@ var control = (function(){
292306
value: this.checked
293307
});
294308
render();
295-
_dependents();
309+
dependents();
296310
date.clear();
297311
date.render();
298312
header.render();
@@ -304,7 +318,7 @@ var control = (function(){
304318
value: this.checked
305319
});
306320
render();
307-
_dependents();
321+
dependents();
308322
date.clear();
309323
date.render();
310324
header.render();
@@ -316,7 +330,7 @@ var control = (function(){
316330
value: this.checked
317331
});
318332
render();
319-
_dependents();
333+
dependents();
320334
date.clear();
321335
date.render();
322336
header.render();
@@ -328,7 +342,7 @@ var control = (function(){
328342
value: this.checked
329343
});
330344
render();
331-
_dependents();
345+
dependents();
332346
date.clear();
333347
date.render();
334348
header.render();
@@ -340,7 +354,7 @@ var control = (function(){
340354
value: this.checked
341355
});
342356
render();
343-
_dependents();
357+
dependents();
344358
date.clear();
345359
date.render();
346360
header.render();
@@ -365,7 +379,7 @@ var control = (function(){
365379
value: this.checked
366380
});
367381
render();
368-
_dependents();
382+
dependents();
369383
clock.clear();
370384
clock.render();
371385
header.render();
@@ -377,7 +391,7 @@ var control = (function(){
377391
value: this.checked
378392
});
379393
render();
380-
_dependents();
394+
dependents();
381395
clock.clear();
382396
clock.render();
383397
header.render();
@@ -389,7 +403,7 @@ var control = (function(){
389403
value: this.checked
390404
});
391405
render();
392-
_dependents();
406+
dependents();
393407
clock.clear();
394408
clock.render();
395409
header.render();
@@ -410,7 +424,7 @@ var control = (function(){
410424
path: "header.clock.hour24",
411425
value: this.checked
412426
});
413-
_dependents();
427+
dependents();
414428
clock.clear();
415429
clock.render();
416430
header.render();
@@ -508,15 +522,16 @@ var control = (function(){
508522
varinit=function(){
509523
_bind();
510524
update();
511-
_dependents();
525+
dependents();
512526
render();
513527
};
514528

515529
// exposed methods
516530
return{
517531
init: init,
518-
update: update,
519-
render: render
532+
render: render,
533+
dependents: dependents,
534+
update: update
520535
};
521536

522537
})();

‎js/data.js‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ var data = (function(){
1010
returnlocalStorage.getItem(key);
1111
};
1212

13-
varclear=function(key){
13+
varremove=function(key){
1414
localStorage.removeItem(key);
1515
};
1616

@@ -24,6 +24,10 @@ var data = (function(){
2424
console.log("data saved");
2525
};
2626

27+
varwipe=function(){
28+
remove(saveName);
29+
};
30+
2731
varload=function(){
2832
vardata=JSON.parse(get(saveName));
2933
returndata;
@@ -48,14 +52,10 @@ var data = (function(){
4852
_checkForSavedData(load());
4953
};
5054

51-
varwipe=function(){
52-
clear(saveName);
53-
};
54-
5555
return{
5656
init: init,
5757
save: save,
58-
clear: clear,
58+
remove: remove,
5959
set: set,
6060
get: get,
6161
load: load,

‎js/helper.js‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,7 @@ var helper = (function(){
113113
varmakeNode=function(override){
114114
varoptions={
115115
tag: null,
116-
classes: null,
117116
text: null,
118-
url: null,
119-
index: null,
120117
attr: null
121118
};
122119
if(override){

0 commit comments

Comments
(0)