owncast/web/pages/logs.tsx

39 lines
834 B
TypeScript
Raw Normal View History

2020-10-30 04:01:38 +03:00
import React, { useState, useEffect } from "react";
import LogTable from "./components/log-table"
import {
LOGS_ALL,
fetchData,
2020-11-01 10:01:37 +03:00
} from "../utils/apis";
2020-10-30 04:01:38 +03:00
const FETCH_INTERVAL = 5 * 1000; // 5 sec
export default function Logs() {
const [logs, setLogs] = useState([]);
const getInfo = async () => {
try {
const result = await fetchData(LOGS_ALL);
setLogs(result);
} catch (error) {
console.log("==== error", error);
}
};
useEffect(() => {
let getStatusIntervalId = null;
setInterval(getInfo, FETCH_INTERVAL);
getInfo();
getStatusIntervalId = setInterval(getInfo, FETCH_INTERVAL);
// returned function will be called on component unmount
return () => {
clearInterval(getStatusIntervalId);
};
}, []);
return <LogTable logs={logs} pageSize={20}/>;
}