Commit 39afc72

bryfry <bryon@fryer.io>
2024-09-24 10:38:28
add details (epoch, date, week)
1 parent 2364fd5
Changed files (3)
css/clock.css
@@ -25,25 +25,47 @@ body.dark-theme {
 
 body {
   background: var(--bkg-color);
-  overflow: hidden;
+  margin: 0;
+  padding: 0;
 }
 
-h1, p {
-  color: var(--text-color);
+nav {
+  display: flex;
+  justify-content: flex-end;
+}
+
+button.theme-toggle {
+  margin: 1em;
+  cursor: pointer;
+}
+
+main {
+  position: absolute;
+  top: 0;
+  pointer-events: none;
+
+  font-family: "BerkeleyMono", monospace, serif;
+
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  width: 100%;
+  height: 100vh;
 }
 
 #clock {
   color: var(--text-color);
-  font-size: min(100vh,35vw);
-  font-family: "BerkeleyMono", monospace, serif;
-  letter-spacing: -0.1em;
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  transform: translate(-50%, -50%)
+  font-size: 34vw;
+  letter-spacing: -0.075em;
 }
 
-button.theme-toggle {
-  cursor: pointer;
-  float:right;
+main .details {
+  color: #666;
+  color: rgba(102,102,102,0.40);
+  font-size: 3.5vmin;
+  display: flex;
+  justify-content: space-evenly;
+  width: 100%;
 }
+
js/clock.js
@@ -1,4 +1,7 @@
+const epoch = document.getElementById('epoch');
 const clock = document.getElementById('clock');
+const date = document.getElementById('date');
+const week = document.getElementById('week');
 const updateInterval = 1000;
 
 function clockNumber(s) {
@@ -6,10 +9,20 @@ function clockNumber(s) {
 }
 
 function updateClock() {
-	let now = Temporal.Now.zonedDateTimeISO();
-	formatted_now = `${clockNumber(now.hour)}:${clockNumber(now.minute)}`
-	clock.innerText = formatted_now
-	document.title = formatted_now
+	const now = Temporal.Now.zonedDateTimeISO();
+
+	const formatted_epoch = `${now.epochSeconds}`;
+	const formatted_now = `${clockNumber(now.hour)}:${clockNumber(now.minute)}`;
+	const formatted_date = `${now.toPlainDate().toString()}`;
+	const formatted_week = `week: ${now.weekOfYear}`;
+
+	epoch.innerText = formatted_epoch;
+	if (clock.innerText != formatted_now) {
+		clock.innerText = formatted_now;
+		date.innerText = formatted_date;
+		week.innerText = formatted_week;
+		document.title = formatted_now;
+	}
 	setTimeout(updateClock, updateInterval);
 }
 
index.html
@@ -9,9 +9,18 @@
     <link rel="stylesheet" href="css/clock.css">
   </head>
   <body>
+    <nav>
+      <button class="theme-toggle"><img src="img/bulb.svg" /></button>
+    </nav>
     <main>
+      <div class="details">
+        <div id="epoch"></div>
+      </div>
       <div id="clock"></div>
-      <button class="theme-toggle"><img src="img/bulb.svg" /></button>
+      <div class="details">
+        <div id="date"></div>
+        <div id="week"></div>
+      </div>
     </main>
     <script src='js/temporal-polyfill@0.2.5_global.min.js'></script>
     <script src='js/clock.js'></script>