import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; const formatSecs = (totalSecs) => { let secs = totalSecs; const days = Math.floor(secs / 86400); secs -= days * 86400; let hours = Math.floor(secs / 3600); secs -= hours * 3600; let mins = Math.floor(secs / 60); secs -= mins * 60; if (hours < 10) hours = `0${hours}`; if (mins < 10) mins = `0${mins}`; if (secs < 10) secs = `0${secs}`; return days === 0 ? `${hours}:${mins}:${secs}` : `${days}:${hours}:${mins}:${secs}`; }; export default function Component({ service }) { const { widget } = service; const { data: printerStats, error: printerStatsError } = useWidgetAPI(widget, "printer_stats", { refreshInterval: 1500, }); const { data: jobStats, error: jobStatsError } = useWidgetAPI(widget, "job_stats", { refreshInterval: 1500, }); if (printerStatsError) { return ; } if (!printerStats) { return ( ); } if (printerStats === 500) { return ( ); } const state = printerStats.state.text; if (state === "Printing" || state === "Paused") { if (jobStatsError) { return ; } if (!jobStats) { return ( ); } const { printTimeLeft, printTime, completion } = jobStats.progress; return ( <> ); } return ( ); }