mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-14 15:24:52 +09:00
Reimplement the pages of the web interface in order to make them prettier and more easily amended by plugins.
29 lines
718 B
React
29 lines
718 B
React
import React, { useContext } from "react";
|
|
|
|
import libLink from "@clusterio/lib/link";
|
|
|
|
import DataTable from "./data-table";
|
|
import ControlContext from "./ControlContext";
|
|
import PageLayout from "./PageLayout";
|
|
|
|
|
|
export default function SlavesPage() {
|
|
let control = useContext(ControlContext);
|
|
|
|
async function listSlaves() {
|
|
let result = await libLink.messages.listSlaves.send(control);
|
|
return result["list"].map((item) => ({
|
|
key: item["id"],
|
|
"Name": item["name"],
|
|
"Agent": item["agent"],
|
|
"Version": item["version"],
|
|
"Connected": item["connected"] && "Yes",
|
|
}));
|
|
}
|
|
|
|
return <PageLayout nav={[{ name: "Slaves" }]}>
|
|
<h2>Slaves</h2>
|
|
<DataTable DataFunction={listSlaves} />
|
|
</PageLayout>;
|
|
};
|