diff --git a/admin/src/common/contexts/Link/LinkContext.jsx b/admin/src/common/contexts/Link/LinkContext.jsx new file mode 100644 index 0000000..cb77c76 --- /dev/null +++ b/admin/src/common/contexts/Link/LinkContext.jsx @@ -0,0 +1,26 @@ +import React, {createContext, useEffect, useState} from "react"; +import {jsonRequest} from "@/common/utils/RequestUtil"; + +export const LinkContext = createContext({}); + +export const LinkProvider = (props) => { + + const [domain, setDomain] = useState(localStorage.getItem("domain") || "localhost"); // TODO + const [links, setLinks] = useState([]); + const [query, setQuery] = useState(""); // TODO + + const updateLinks = () => jsonRequest(`/link/${domain}/list`) + .then(json => setLinks(json)); + + useEffect(() => { + updateLinks(); + const interval = setInterval(() => updateLinks(), 15000); + return () => clearInterval(interval); + }, []); + + return ( + + {props.children} + + ) +} \ No newline at end of file