diff --git a/src/pages/Generators.jsx b/src/pages/Generators.jsx index 2290849..4d38b8e 100644 --- a/src/pages/Generators.jsx +++ b/src/pages/Generators.jsx @@ -15,26 +15,21 @@ import { EXT_URL2, STATS } from "../utils/config"; import SearchIcon from "@mui/icons-material/Search"; import { DataGrid } from "@mui/x-data-grid"; import { generatorNames } from "../utils/data"; +import Loader from "../components/global/Loader"; const Generators = () => { - generatorNames; - const [gen, setGen] = useState([]); const [allGenerators, setAllGenerators] = useState([]); - const [all, setAll] = useState(""); const [genWeekly, setGenWeekly] = useState([]); const [genMonthly, setGenMonthly] = useState([]); const [searchTerm, setSearchTerm] = useState(""); const [selectedPeriod, setSelectedPeriod] = useState("24"); + const [loading, setLoading] = useState(true); const [isMobile, setIsMobile] = useState(false); useEffect(() => { const handleResize = () => { - if (window.innerWidth < 700) { - setIsMobile(true); - } else { - setIsMobile(false); - } + setIsMobile(window.innerWidth < 700); }; handleResize(); window.addEventListener("resize", handleResize); @@ -44,19 +39,26 @@ const Generators = () => { }, []); useEffect(() => { - axios.get(`${EXT_URL2}generators/json`).then((res) => { - setGen(res.data); - }); - axios.get(`${EXT_URL2}generators-weekly/json`).then((res) => { - setGenWeekly(res.data); - }); - axios.get(`${EXT_URL2}generators-monthly/json`).then((res) => { - setGenMonthly(res.data); - }); - axios.get(`${STATS}/generator/all`).then((res) => { - setAllGenerators(res.data); - console.log(res.data); - }); + const fetchData = async () => { + try { + const [genRes, genWeeklyRes, genMonthlyRes, allGeneratorsRes] = + await Promise.all([ + axios.get(`${EXT_URL2}generators/json`), + axios.get(`${EXT_URL2}generators-weekly/json`), + axios.get(`${EXT_URL2}generators-monthly/json`), + axios.get(`${STATS}/generator/all`), + ]); + setGen(genRes.data); + setGenWeekly(genWeeklyRes.data); + setGenMonthly(genMonthlyRes.data); + setAllGenerators(allGeneratorsRes.data); + setLoading(false); + } catch (error) { + console.error("Error fetching data:", error); + } + }; + + fetchData(); }, []); const handleSearch = (event) => { @@ -64,11 +66,9 @@ const Generators = () => { }; const handlePeriodClick = (period) => { - if (period != "all") { + if (period !== "all") { setSelectedPeriod(period); - setAll(""); } else { - setAll("all"); setSelectedPeriod(""); } }; @@ -136,21 +136,15 @@ const Generators = () => { })); const rows = - selectedPeriod == "24" + selectedPeriod === "24" ? genDay - : selectedPeriod == "weekly" + : selectedPeriod === "weekly" ? genWeek - : genMonth; + : selectedPeriod === "monthly" + ? genMonth + : allGen; - let searchGenerators = rows.filter( - (generator) => - (generator.name && - generator.name.toLowerCase().includes(searchTerm.toLowerCase())) || - (generator.address && - generator.address.toLowerCase().includes(searchTerm.toLowerCase())) - ); - - let searchAllGenerators = allGen.filter( + const searchResults = rows.filter( (generator) => (generator.name && generator.name.toLowerCase().includes(searchTerm.toLowerCase())) || @@ -170,12 +164,12 @@ const Generators = () => { - {all != "all" ? ( - - -
- - - - - - - ), - }} - /> - + + +
+ + + + + + + ), + }} + /> + + {loading ? ( + + ) : ( -
-
-
- ) : ( - - -
- - - - - - - ), - }} - /> - -
- -
-
-
-
- )} + )} +
+
+
); diff --git a/src/pages/overview/overviewTop.jsx b/src/pages/overview/overviewTop.jsx index 52810be..2800ac0 100644 --- a/src/pages/overview/overviewTop.jsx +++ b/src/pages/overview/overviewTop.jsx @@ -71,6 +71,7 @@ const OverviewTop = () => { setApy(apyData.toFixed(3) + "%"); const marketData = await MarketInfo.getMarketInfo(); + console.log(marketData); setCoinPrice( marketData?.geckoPrice