diff --git a/src/components/Dashboard/Dashboard.tsx b/src/components/Dashboard/Dashboard.tsx
index ea847c5..201c2db 100644
--- a/src/components/Dashboard/Dashboard.tsx
+++ b/src/components/Dashboard/Dashboard.tsx
@@ -1,3 +1,5 @@
+import { useEffect, useState } from "react";
+
import Flatastic from "@/components/Flatastic/Flatastic";
import HomeAssistant from "@/components/HomeAssistant/HomeAssistant";
import Timetable from "@/components/Timetable/Timetable";
@@ -8,8 +10,32 @@ import Footer from "@/components/Footer/Footer";
import style from "./style.module.css";
export default function Dashboard() {
+ const schemes = [style.day, style.evening, style.night];
+ const [scheme, setScheme] = useState(style.day);
+
+ // change background color based on time of day
+ const time = useEffect(() => {
+ const timer = setInterval(
+ () => {
+ let d = new Date();
+ let hour = d.getHours();
+ if (hour >= 7 && hour < 16) {
+ setScheme(style.day);
+ } else if (hour < 23) {
+ setScheme(style.evening);
+ } else {
+ setScheme(style.night);
+ }
+ },
+ 20 * 60 * 1000,
+ );
+ return () => {
+ clearInterval(timer);
+ };
+ }, []);
+
return (
-
+
🚊 Timetable
diff --git a/src/components/Dashboard/style.module.css b/src/components/Dashboard/style.module.css
index 3646978..9d9f25d 100644
--- a/src/components/Dashboard/style.module.css
+++ b/src/components/Dashboard/style.module.css
@@ -2,9 +2,24 @@
display: flex;
flex-direction: column;
height: 100%;
+ transition: 0.5s;
+}
+
+/* 7 to 16 */
+.day {
background-color: #007c7d;
}
+/* 16 to 23 */
+.evening {
+ background-color: #3b5773;
+}
+
+/* 23 to 8 */
+.night {
+ background-color: #2a3f55;
+}
+
.cardWrapper {
margin: 30px;
height: 100%;
@@ -29,30 +44,30 @@
}
.cardHeader {
- height: 30px;
- color: white;
- background-color: #000082;
- text-align: left;
- padding-left: 5px;
- font-weight: bold;
+ height: 30px;
+ color: white;
+ background-color: #000082;
+ text-align: left;
+ padding-left: 5px;
+ font-weight: bold;
}
.cardHeaderInactive {
- height: 30px;
- color: #c0c0c0;
- background-color: #808080;
- text-align: left;
- padding-left: 5px;
- font-weight: bold;
+ height: 30px;
+ color: #c0c0c0;
+ background-color: #808080;
+ text-align: left;
+ padding-left: 5px;
+ font-weight: bold;
}
.clock {
- width: 45%;
+ width: 45%;
}
.terminal {
}
.footer {
- background-color: #c0c0c0;
+ background-color: #c0c0c0;
}