Kirk Trombley 5 gadi atpakaļ
vecāks
revīzija
81d0805526

+ 2 - 0
src/App.js

@@ -3,11 +3,13 @@ import './App.css';
 import Teamspeak from "./components/tiles/Teamspeak";
 import TerrAssumptions from './components/tiles/TerrAssumptions';
 import CommaFeed from './components/tiles/CommaFeed';
+import Gogs from './components/tiles/Gogs';
 
 export default () => (
   <div className="App">
     <Teamspeak/>
     <TerrAssumptions/>
     <CommaFeed/>
+    <Gogs/>
   </div>
 );

+ 36 - 0
src/components/tiles/Gogs.jsx

@@ -0,0 +1,36 @@
+import React, { useState, useEffect } from "react";
+import { UNKNOWN, OK, BAD, FAILED } from "../shared/StatusMessage";
+import Tile from "../shared/Tile";
+
+const update = 1000 * 60 * 20;
+
+export default () => {
+  const [health, setHealth] = useState(UNKNOWN);
+
+  useEffect(() => {
+    const check = async () => {
+      try {
+        const res = await fetch("https://kirkleon.ddns.net/gogs/");
+        if (res.ok) {
+          setHealth(OK);
+        } else {
+          setHealth(BAD);
+        }
+      } catch (err) {
+        setHealth(FAILED);
+      }
+    }
+
+    check();
+
+    const interval = setInterval(check, update);
+
+    return () => clearInterval(interval);
+  }, [])
+
+  return <Tile
+    link="https://kirkleon.ddns.net/gogs/"
+    title="Gogs"
+    health={health}
+  />
+}

+ 3 - 0
src/components/tiles/TerrAssumptions.jsx

@@ -3,6 +3,8 @@ import useJsonHealthCheck from "../../hooks/useJsonHealthCheck";
 import { UNKNOWN, OK, BAD, FAILED } from "../shared/StatusMessage";
 import Tile from "../shared/Tile";
 
+const update = 1000 * 60 * 20;
+
 export default () => {
   const [health, setHealth] = useState(UNKNOWN);
   useJsonHealthCheck(
@@ -10,6 +12,7 @@ export default () => {
     () => setHealth(OK),
     () => setHealth(BAD),
     () => setHealth(FAILED),
+    update
   );
 
   return <Tile