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; }