import React, { useContext, useEffect, useState } from "react"; import libPlugin from "@clusterio/lib/plugin"; import { PageLayout, ControlContext } from "@clusterio/web_ui"; import info from "../info"; import "./index.css"; function InventoryPage() { let control = useContext(ControlContext); let [statsData, updateStatsData] = useState() useEffect(() => { (async () => { // Get statistics updateStatsData(await info.messages.databaseStats.send(control, {})) })() }, []) return

Inventory sync

{statsData && <>

Database size: {Math.round(statsData.database_size / 1000)}kB

Database entries: {statsData.database_entries}

Largest entry is {statsData.largest_entry.name} with {(statsData.largest_entry.size / 1000)}kB

}
; } export class WebPlugin extends libPlugin.BaseWebPlugin { async init() { this.pages = [ { path: "/inventory", sidebarName: "Inventory sync", content: }, ]; } onMasterConnectionEvent(event) { if (event === "connect") { } } }