homepage/src/components/roomState.js

27 lines
687 B
JavaScript
Raw Normal View History

2019-12-11 22:25:00 +00:00
import React, { useEffect, useState } from "react"
2019-12-11 21:34:32 +00:00
2019-12-12 20:56:13 +00:00
const roomStateData = {
loading: { text: "lade…", color: "white" },
2019-12-13 11:55:48 +00:00
open: { text: "OFFEN", color: "#00aa00" },
closed: { text: "GESCHLOSSEN", color: "#ee3333" },
2019-12-12 20:56:13 +00:00
}
2019-12-11 22:25:00 +00:00
export default () => {
2019-12-12 20:56:13 +00:00
const [openState, setOpenState] = useState("loading")
2019-12-11 22:25:00 +00:00
useEffect(() => {
async function fetchState() {
const response = await fetch("https://status.ctdo.de/api/simple/v2")
const json = await response.json()
2019-12-12 20:56:13 +00:00
setOpenState(json.state ? "open" : "closed")
2019-12-11 22:25:00 +00:00
}
fetchState()
}, [])
return (
2019-12-13 12:41:09 +00:00
<span style={{ color: roomStateData[openState].color }}>
{roomStateData[openState].text}
</span>
2019-12-11 22:25:00 +00:00
)
}