import { useQueries } from "@tanstack/react-query";
import styles from "../../../styles";
import {
EquipmentsAPI,
EquipmentInstancesAPI,
UserAPI,
TransactionsAPI,
} from "../../API/API";
import CircularProgress from "@mui/material/CircularProgress";
import moment from "moment";
export default function TechnicianWidgets() {
const todayStartOfDay = moment().startOf("day").format("MM-DD-YYYY hh:mm A");
const todayEndOfDay = moment().endOf("day").format("MM-DD-YYYY hh:mm A");
const thisMonthStart = moment().startOf("month").format("MM-DD-YYYY hh:mm A");
const thisMonthEnd = moment().endOf("month").format("MM-DD-YYYY hh:mm A");
const queries = useQueries({
queries: [
{
queryKey: ["equipments"],
queryFn: EquipmentsAPI,
},
{
queryKey: ["equipment_instances"],
queryFn: EquipmentInstancesAPI,
},
{
queryKey: ["user"],
queryFn: UserAPI,
},
{
queryKey: ["transactions"],
queryFn: TransactionsAPI,
},
],
});
const isLoading = queries.some((result) => result.isLoading);
if (isLoading) {
return (
<>
Loading
> ); } return (Pending Equipments
{queries[1].data?.filter( (equipment) => equipment.status == "Pending" ).length || 0}
Equipments in Inventory
{queries[1].data?.length || 0}
Available Equipments
{queries[1].data?.filter( (equipment) => equipment.status == "Available" ).length || 0}
Broken Equipments
{queries[1].data?.filter( (equipment) => equipment.status == "Broken" ).length || 0}
Total Transactions Today
{queries[3].data?.filter((transaction) => moment(transaction.timestamp, "MM-DD-YYYY hh:mm A").isBetween( todayStartOfDay, todayEndOfDay ) ).length || 0}
Total Transactions this Month
{queries[3].data?.filter((transaction) => moment(transaction.timestamp, "MM-DD-YYYY hh:mm A").isBetween( thisMonthStart, thisMonthEnd ) ).length || 0}