const { useContext, useEffect, useState } = require("react"); // const { } = require("antd"); const { BaseWebPlugin, PageLayout, Control, ControlContext, notifyErrorHandler, } = require("@clusterio/web_ui"); const lib = require("@clusterio/lib"); const { PluginExampleEvent, PluginExampleRequest } = require("../messages"); function MyTemplatePage() { let control = useContext(ControlContext); return

// plugin_name //

; } class WebPlugin extends BaseWebPlugin { async init() { this.pages = [ { path: "/// plugin_name //", sidebarName: "// plugin_name //", permission: "// plugin_name //.page.view", content: , }, ]; this.control.handle(PluginExampleEvent, this.handlePluginExampleEvent.bind(this)); this.control.handle(PluginExampleRequest, this.handlePluginExampleRequest.bind(this)); } async handlePluginExampleEvent(event) { this.logger.info(JSON.stringify(event)); } async handlePluginExampleRequest(request) { this.logger.info(JSON.stringify(request)); return { myResponseString: request.myString, myResponseNumbers: request.myNumberArray, }; } } module.exports = { WebPlugin, };