Hope you have seen
https://www.repetier-server.com/customizing-printer-frontend/<br/>with instructions to customize it. As described you would extend the existing status page in your app version, so you get all javascript and updates for free in your version.
For communication and getting informations see how the other functions do it first. All regarding communication and status data is directly available through the binding library included. You either get information directly from printer state and typescript autocomplete will help you to access it correctly. Or it is not included and you can query it easyly via websocket connection with connectionHandler:
// add connctionHandler to component
constructor(private connectionHandler: ConnectionHandler,
....
// use it later where needed
this.connectionHandler.send("GPIORun", {uuid: cmd.uuid, cmd: "off"});