From 45847b68f0a26d5b9f300973a08fd8e68967baee Mon Sep 17 00:00:00 2001 From: Nitin Kushwaha <79357960+nitinkushwaha17@users.noreply.github.com> Date: Tue, 5 Oct 2021 19:00:59 +0530 Subject: [PATCH 1/2] add files --- Analog-Digital-Neumorphism-Clock/index.html | 114 ++++++ Analog-Digital-Neumorphism-Clock/script.js | 213 +++++++++++ Analog-Digital-Neumorphism-Clock/style.css | 369 ++++++++++++++++++++ 3 files changed, 696 insertions(+) create mode 100644 Analog-Digital-Neumorphism-Clock/index.html create mode 100644 Analog-Digital-Neumorphism-Clock/script.js create mode 100644 Analog-Digital-Neumorphism-Clock/style.css diff --git a/Analog-Digital-Neumorphism-Clock/index.html b/Analog-Digital-Neumorphism-Clock/index.html new file mode 100644 index 0000000..cd75004 --- /dev/null +++ b/Analog-Digital-Neumorphism-Clock/index.html @@ -0,0 +1,114 @@ + + + + + + + + + Clock + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Digital
+
Light
+
+
+
+
+

SETTINGS

+ +
+
+
+

Size

+
+ + +
+
+
+

Background

+
+ + +
+
+
+

Shadow

+
+
+ + +
+
+ + + +
+
+
+
+

Hand color

+
+
+ + + +
+
+ + + +
+
+ + + +
+
+
+
+

Border

+
+
+ + +
+
+ + +
+
+
+
+
+
+ + + \ No newline at end of file diff --git a/Analog-Digital-Neumorphism-Clock/script.js b/Analog-Digital-Neumorphism-Clock/script.js new file mode 100644 index 0000000..f9bd18d --- /dev/null +++ b/Analog-Digital-Neumorphism-Clock/script.js @@ -0,0 +1,213 @@ +// Made by Nitin Kushwaha + +const hr = document.querySelector("#hr"); +const min = document.querySelector("#min"); +const sec = document.querySelector("#sec"); +const clockd = document.getElementById("clock-d"); +const clocka = document.getElementById("clock-a"); +let h,m,s; +let d; + +setInterval(() => { + const day = new Date(); + h = day.getHours(); + m = day.getMinutes(); + s = day.getSeconds(); + + hr.style.transform = `rotate(${h*30 + m/2}deg)`; + min.style.transform = `rotate(${m*6 + s/10}deg)`; + sec.style.transform = `rotate(${s*6}deg)`; + + setday(); + addzero(); + clockd.textContent = h + ":" + m + ":" + s + " " + d ; + + if(window.innerHeight==screen.height){ + change.style.display="none"; + theme.style.display="none"; + } + else{ + change.style.display="block"; + theme.style.display="block"; + } +},100); + +function addzero(){ + if(h<10){ + h = "0" + h; + } + if(m<10){ + m = "0" + m; + } + if(s<10){ + s = "0" + s; + } +} + +function setday(){ + if(h>12){ + h = h - 12; + d = "PM"; + } + else{ + if(h==0){ + h=12; + } + d = "AM"; + } +} + +const change = document.querySelector("#change"); + +function toggleClock(e){ + let target = e.target; + + if(target.textContent == "Digital"){ + document.querySelector(".flip-card-inner").classList.add("flip"); + target.textContent = "Analog"; + } + else{ + document.querySelector(".flip-card-inner").classList.remove("flip"); + target.textContent = "Digital"; + } +} + +change.addEventListener("click",toggleClock); + +const theme = document.querySelector("#theme"); + +function toggleTheme(e){ + let target = e.target; + + reset(e); + + if(target.textContent == "Light"){ + target.textContent = "Dark"; + document.body.classList.remove("theme-dark"); + document.body.classList.add("theme-light"); + } + else{ + target.textContent = "Light"; + document.body.classList.remove("theme-light"); + document.body.classList.add("theme-dark"); + } + +} + +theme.addEventListener("click",toggleTheme); + +/*-------------settings--------------*/ + +/*------gear------*/ +const settingWindow = document.querySelector("#setting-window") +const setting = document.querySelector("#setting-icon"); + +setting.addEventListener("click", function(){ + setting.classList.toggle("rotate"); + settingWindow.classList.toggle("show"); +}); + +/*------setting window------*/ + +const setSize = document.querySelector("#size"); +const sizeLabel = document.querySelector("label") + +const setBackground = document.querySelector("#background"); + +const setShadowBlur = document.querySelector("#shadow-blur"); +const setShadowColor = document.querySelector("#shadow-color"); + +const setHrHandColor = document.querySelector("#hr-color"); +// const setHrHandColorText = document.querySelector("#hr-color-text"); +const setMinHandColor = document.querySelector("#min-color"); +// const setMinHandColorText = document.querySelector("#min-color-text"); +const setSecHandColor = document.querySelector("#sec-color"); +// const setSecHandColorText = document.querySelector("#sec-color-text"); + +const setBorderWidth = document.querySelector("#border-width"); +const setBorderColor = document.querySelector("#border-color"); + +/*------size------*/ +// let caSize = document.querySelector("#clock-a").clientHeight; + +//size +setSize.addEventListener("input",()=>{ + clocka.style.transform = `scale(${setSize.value})`; + clockd.style.transform = `scale(${setSize.value})`; + sizeLabel.textContent = setSize.value; +}); + +//backgroundcolor +setBackground.addEventListener("input",()=>{ + document.querySelector(".flip-card-front").style.backgroundColor = + document.querySelector(".flip-card-back").style.backgroundColor = + clockd.style.backgroundColor = + document.body.style.backgroundColor = + setBackground.value; +}); + +//shadow +setshadow=()=>{ + clocka.style.boxShadow = `-8px -8px 15px rgba(255,255,255,0.05), + inset -8px -8px 15px rgba(255,255,255,0.05), + 20px 20px 20px rgba(0, 0, 0, 0.3), + inset 20px 20px 20px rgba(0, 0, 0, 0.3), + 0px 0px ${setShadowBlur.value}px ${setShadowColor.value}`; + + clockd.style.boxShadow = `-8px -8px 15px rgba(255,255,255,0.05), + inset -8px -8px 15px rgba(255,255,255,0.05), + 20px 20px 20px rgba(0, 0, 0, 0.3), + inset 20px 20px 20px rgba(0, 0, 0, 0.3), + 0px 0px ${setShadowBlur.value}px ${setShadowColor.value}`; +} + +setShadowBlur.addEventListener("input",setshadow); +setShadowColor.addEventListener("input",setshadow); + +//Hand color +setHrHandColor.addEventListener("input",()=>{ + document.querySelector("#h").style.backgroundColor = setHrHandColor.value; +}); + +setMinHandColor.addEventListener("input",()=>{ + document.querySelector("#m").style.backgroundColor = setMinHandColor.value; +}); + +setSecHandColor.addEventListener("input",()=>{ + document.querySelector("#s").style.backgroundColor = setSecHandColor.value; +}); + +//Border +setborder=()=>{ + clocka.style.border = `${setBorderWidth.value}px solid ${setBorderColor.value}`; + clockd.style.border = `${setBorderWidth.value}px solid ${setBorderColor.value}`; +} + +setBorderWidth.addEventListener("input",setborder); +setBorderColor.addEventListener("input",setborder); + +//reset +function reset(e){ + if(e.target.textContent == "Light"){ + document.querySelector(".flip-card-front").style.backgroundColor = + document.querySelector(".flip-card-back").style.backgroundColor = + clockd.style.backgroundColor = + document.body.style.backgroundColor = "#d1dae3"; + } + else{ + document.querySelector(".flip-card-front").style.backgroundColor = + document.querySelector(".flip-card-back").style.backgroundColor = + clockd.style.backgroundColor = + document.body.style.backgroundColor = "#202020"; + } + + clocka.style.boxShadow =""; + clockd.style.boxShadow =""; + + document.querySelector("#h").style.backgroundColor = ""; + document.querySelector("#m").style.backgroundColor = ""; + document.querySelector("#s").style.backgroundColor = ""; + + clocka.style.border = ""; + clockd.style.border = ""; +} \ No newline at end of file diff --git a/Analog-Digital-Neumorphism-Clock/style.css b/Analog-Digital-Neumorphism-Clock/style.css new file mode 100644 index 0000000..84d9c0d --- /dev/null +++ b/Analog-Digital-Neumorphism-Clock/style.css @@ -0,0 +1,369 @@ +/* Made by Nitin Kushwaha */ + +*{ + box-sizing: border-box; + margin: 0; + padding: 0; +} + +.theme-dark{ + --bg-color: #202020; + --color: #fff; + --shadow: -8px -8px 15px rgba(255,255,255,0.05), + inset -8px -8px 15px rgba(255,255,255,0.05), + 20px 20px 20px rgba(0, 0, 0, 0.3), + inset 20px 20px 20px rgba(0, 0, 0, 0.3), + 0px 0px 100px rgb(0, 255, 255); +} + +.theme-light{ + --bg-color: #d1dae3; + --color: #000; + --shadow: -8px -8px 15px rgba(255,255,255,0.5), + inset -8px -8px 15px rgba(255,255,255,0.5), + 10px 10px 10px rgba(0, 0, 0, 0.1), + inset 10px 10px 10px rgba(0, 0, 0, 0.1), + 0px 0px 100px rgb(134, 107, 255); +} + +a{ + text-decoration: none; +} + +body{ + height: 100vh; + background-color: var(--bg-color); + overflow: hidden; + display: flex; + align-items: center; + justify-content: center; +} + +#clock-a{ + height: 50vw; + width: 50vw; + max-height: 450px; + max-width: 450px; + min-height: 250px; + min-width: 250px; + border: 5px solid var(--bg-color); + border-radius: 50%; + background-image: url(clock.png); + background-size: cover; + box-shadow: var(--shadow); + display: flex; + align-items: center; + justify-content: center; +} + +#clock-a::after{ + content: ""; + position: absolute; + height: 15px; + width: 15px; + background-color: var(--color); + border-radius: 50%; + z-index: 40; +} + +#hr,#min,#sec{ + position: absolute; + display: flex; + justify-content: center; +} + +#hr{ + height:150px; + width: auto; + z-index: 10; +} + +#h{ + height: 75px; + width: 8px; + background-color: rgb(230, 35, 200); + border-radius: 5px; +} + +#min{ + height:200px; + width: auto; + z-index: 20; +} + +#m{ + height: 100px; + width: 4px; + background-color: rgb(0, 60, 255); + border-radius: 5px; +} + +#sec{ + height:220px; + width: auto; + z-index: 30; +} + +#s{ + height: 140px; + width: 2px; + background-color: var(--color); + border-radius: 5px; +} + +@media screen and (min-width: 800px){ + #hr{ + height: 220px; + } + #h{ + height: 110px; + } + + #min{ + height: 280px; + } + #m{ + height: 140px; + } + + #sec{ + height: 320px; + } + #s{ + height: 200px; + } +} + +#clock-d{ + height: auto; + width: auto; + background-color: var(--bg-color); + color: var(--color); + text-align: center; + font-size: calc(4vw + 30px); + padding: 0 10px; + border: 5px solid var(--bg-color); + box-shadow: var(--shadow); + letter-spacing: 0.5rem; + font-family: 'Orbitron', sans-serif; + margin: 0 10px; +} + +.flip-card { + background-color: transparent; + width: 100%; + height: 100%; + perspective: 1000px; +} + +.flip-card-inner { + position: relative; + width: 100%; + height: 100%; + text-align: center; + transition: transform 0.6s; + transform-style: preserve-3d; + /* box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2); */ +} + +.flip{ + transform: rotateY(180deg); +} + +.flip-card-front, .flip-card-back { + position: absolute; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: background-color 0.4s; + z-index: 1; +} + +.flip-card-front { + background-color: var(--bg-color); +} + +.flip-card-back { + background-color: var(--bg-color); + transform: rotateY(180deg); +} + +#change, #theme, #setting-icon{ + position: absolute; + color: white; + font-size: 2rem; + text-transform: uppercase; + cursor: pointer; + color: var(--color); + user-select: none; + letter-spacing: 2px; +} + +@media screen and (max-width:550px){ + #change, #theme{ + font-size: 1.5rem; + } +} + +#change{ + top: 20px; + left: 20px; +} + +#theme{ + top: 20px; + right: 20px; +} + +#setting-icon{ + position: absolute; + right: 20px; + bottom: 20px; + color: var(--color); + font-size: 30px; + transition: transform 0.2s; +} + +#setting-icon.rotate{ + transform: rotate(50deg); +} + +/* #settingapp{ + display: hidden; + transition: all 0.5s; */ +/* } */ + +#setting-window{ + visibility: hidden; + opacity: 0; + position: absolute; + right: 10px; + bottom: 50px; + height: 400px; + width: 400px; + background-color: var(--color); + /* opacity: 0.85; */ + /* background-color: #f0f0f0c4; */ + border-radius: 5px; + color: var(--bg-color); + transition: all 0.5s; + transform: translateY(0px); + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; +} +#setting-window.show{ + visibility: visible; + opacity: 0.85; + transform: translateY(-20px); +} + +.setting-container{ + padding: 20px; + user-select: none; +} +@media screen and (max-width: 400px){ + #setting-window{ + width: 305px; + } + .setting-container{ + padding: 20px 2px; + } +} + +#setting-nav{ + height: 100%; + width: 35%; + float: left; + border-right: 2px solid rgb(50, 50, 50); +} + +#setting-nav h3{ + padding-bottom: 5px; + margin-bottom: 15px; + border-bottom: 2px solid rgb(50, 50, 50); + font-size: 21px; +} + +#setting-nav li{ + padding: 5px 0; + margin-top: 5px; + list-style-type: none; + font-size: 1rem; + opacity: 0.6; + font-weight: 500; + /* border-bottom: 1px solid rgb(150, 150, 150); */ + cursor: pointer; +} + +#setting-nav li:hover{ + opacity: 1; +} + +#setting-nav li a{ + color: var(--bg-color); +} + +#settings{ + height: 100%; + width: 65%; + float: right; + overflow: auto; + scroll-behavior: smooth; +} + +.box{ + padding-bottom: 10px; + margin-bottom: 10px; + border-bottom: 1px solid grey; +} + +.box:last-child{ + margin-bottom: 270px; +} + +.box h3{ + padding: 10px 0; +} + +.inner-box{ + display: flex; + justify-content: space-around; +} + +.inner-container{ + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; +} + +.inner-container label{ + margin-bottom: 10px; +} + +/* .inner-container input[type="text"]{ + width: 60px; + margin-top: 10px; +} */ + +.inner-container input[type="number"]{ + width: 40px; +} + +input[type="text"]{ + padding: 2px 2px; + width: 80px; +} + +::-webkit-scrollbar { + width: 13px; +} +::-webkit-scrollbar-thumb { + background-color: rgba(194, 194, 194, 0.8);; + background-clip: padding-box; + border: 3px solid transparent; + border-radius: 7px; +} \ No newline at end of file From 91f9f5345112f344fe169113d82bed0af2a2ba29 Mon Sep 17 00:00:00 2001 From: Nitin Kushwaha <79357960+nitinkushwaha17@users.noreply.github.com> Date: Tue, 5 Oct 2021 19:01:58 +0530 Subject: [PATCH 2/2] Add files via upload --- Analog-Digital-Neumorphism-Clock/clock.png | Bin 0 -> 6025 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Analog-Digital-Neumorphism-Clock/clock.png diff --git a/Analog-Digital-Neumorphism-Clock/clock.png b/Analog-Digital-Neumorphism-Clock/clock.png new file mode 100644 index 0000000000000000000000000000000000000000..3a4b1f3c50795be6c6f17716b031842fbbeef0de GIT binary patch literal 6025 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