-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#124 Implement Search history #129
base: master
Are you sure you want to change the base?
Changes from all commits
44afcad
0e14876
f17ce0f
f56b51c
3c9228b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,149 @@ | ||
|
||
.main { | ||
width: 200px; | ||
height: 200px; | ||
} | ||
width: 360px; | ||
height: 500px; | ||
} | ||
#backButton | ||
{ | ||
background-color: white | ||
} | ||
#backButton:hover | ||
{ | ||
padding: 0px; | ||
background-color: white; | ||
opacity: 1; | ||
} | ||
|
||
#searchHistory | ||
{ | ||
text-align: center; | ||
background: white; | ||
border: none; | ||
width: 340px; | ||
margin-left: 10px; | ||
padding-bottom: 10px; | ||
padding-top: 2px; | ||
} | ||
#historyHead | ||
{ | ||
font-family: 'Titillium Web', sans-serif; | ||
color: grey; | ||
text-align: left; | ||
} | ||
#themeHead | ||
{ | ||
font-family: 'Titillium Web', sans-serif; | ||
color: grey; | ||
text-align: left; | ||
margin-left: 10px; | ||
|
||
} | ||
#historyList | ||
{ | ||
text-align: left; | ||
list-style: none; | ||
font-family: "sans-serif", Arial, Helvetica; | ||
} | ||
|
||
#clearButton | ||
{ | ||
border-radius: 7px; | ||
font-style: "sans-serif", Arial, Helvetica; | ||
font-weight: 600; | ||
color: grey; | ||
background-color: white; | ||
border: none; | ||
padding-top: 3px; | ||
} | ||
#clearButton:hover | ||
{ | ||
box-shadow: 0px 0px 7px 0px grey; | ||
} | ||
#clearHist | ||
{ | ||
text-align: right; | ||
} | ||
|
||
ul li | ||
{ | ||
margin: 5px; | ||
border-bottom: 1px solid grey; | ||
padding-left: 10px; | ||
padding-top: 2px; | ||
padding-bottom: 2px; | ||
width: 245px; | ||
color: #5e605b; | ||
} | ||
a | ||
{ | ||
color: grey; | ||
text-decoration: none; | ||
|
||
} | ||
a:hover | ||
{ | ||
color: white; | ||
background-color: grey; | ||
padding: 8px; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. tabs vs spaces :P |
||
opacity: .8; | ||
} | ||
|
||
.switch { | ||
margin-left: 10px; | ||
position: relative; | ||
display: inline-block; | ||
width: 60px; | ||
height: 34px; | ||
} | ||
|
||
.switch input { | ||
opacity: 0; | ||
width: 0; | ||
height: 0; | ||
} | ||
|
||
.slider { | ||
position: absolute; | ||
cursor: pointer; | ||
top: 0; | ||
left: 0; | ||
right: 0; | ||
bottom: 0; | ||
background-color: grey; | ||
-webkit-transition: .4s; | ||
transition: .4s; | ||
} | ||
|
||
.slider:before { | ||
position: absolute; | ||
content: ""; | ||
height: 26px; | ||
width: 26px; | ||
left: 4px; | ||
bottom: 4px; | ||
background-color: white; | ||
-webkit-transition: .4s; | ||
transition: .4s; | ||
} | ||
|
||
input:checked + .slider { | ||
background-color: #102c7c; | ||
} | ||
|
||
input:focus + .slider { | ||
box-shadow: 0 0 1px #2196F3; | ||
} | ||
|
||
input:checked + .slider:before { | ||
-webkit-transform: translateX(26px); | ||
-ms-transform: translateX(26px); | ||
transform: translateX(26px); | ||
} | ||
|
||
.slider.round { | ||
border-radius: 34px; | ||
} | ||
|
||
.slider.round:before { | ||
border-radius: 50%; | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,51 @@ | ||
var recentSearchQueries = []; | ||
var recentSearchQueryUrls = []; | ||
var historyListElement; | ||
var clearHistory; | ||
var count; | ||
var themeToggle = document.getElementById("theme"); | ||
|
||
var radios = document.getElementsByName('theme'); | ||
if (!localStorage.getItem("theme")) localStorage.setItem("theme", "light"); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Also we can move var THEME = "theme"; to the top of file and use these constants everywhere. It is better to move all constants to the top of file. |
||
|
||
if(!localStorage.getItem('theme')) | ||
localStorage.setItem('theme', 'light'); | ||
|
||
if(localStorage.getItem('theme') == 'light') | ||
{ | ||
console.log("light"); | ||
radios[0].checked = true; | ||
} | ||
else | ||
{ | ||
console.log("dark"); | ||
radios[1].checked = true; | ||
if (localStorage.getItem("theme") === "light") { | ||
themeToggle.checked = false; | ||
} else { | ||
themeToggle.checked = true; | ||
} | ||
|
||
function handleThemeChange(event) { | ||
if(event.target.value == 'light') | ||
localStorage.setItem('theme', 'light'); | ||
else | ||
localStorage.setItem('theme', 'dark'); | ||
if (themeToggle.checked === false) localStorage.setItem("theme", "light"); | ||
else localStorage.setItem("theme", "dark"); | ||
} | ||
|
||
document.addEventListener("DOMContentLoaded", function () { | ||
var radios = document.getElementsByName('theme'); | ||
radios[0].addEventListener('click', handleThemeChange); | ||
radios[1].addEventListener('click', handleThemeChange); | ||
themeToggle = document.getElementById("theme"); | ||
themeToggle.addEventListener("click", handleThemeChange); | ||
}); | ||
|
||
historyListElement = document.getElementById("historyList"); | ||
clearHistory = document.querySelector("#clearButton"); | ||
|
||
recentSearchQueries = (JSON.parse(localStorage.getItem("search"))); | ||
recentSearchQueryUrls = (JSON.parse(localStorage.getItem("link"))); | ||
|
||
historyListElement.textContent = ""; | ||
count = 0; | ||
recentSearchQueries.forEach(function (entr) { | ||
var aTag = document.createElement("a"); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I guess you forgot to look into this. Please can you fix this variable name. |
||
aTag.setAttribute("target", "_blank"); | ||
aTag.setAttribute("href", recentSearchQueryUrls[count]); | ||
aTag.innerHTML = entr; | ||
historyListElement.appendChild(aTag); | ||
var br = document.createElement("br"); | ||
historyListElement.appendChild(br); | ||
var hr = document.createElement("hr"); | ||
historyListElement.appendChild(hr); | ||
count += 1; | ||
}); | ||
|
||
|
||
clearHistory.addEventListener("click", function () { | ||
localStorage.clear(); | ||
location.reload(); | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dont think we should be removing any of these (Adding to warning is as good as removing people dont care about warnings). Max-len can be disabled at a place or two, but it is better to have it. It can be disabled you have a really really long string at some place.
Please can you share your motivation behind doing this. I am not able to find any reason as to why we are doing this ?