From 36659fea46196227dee79a4b7aa61d9b46596c25 Mon Sep 17 00:00:00 2001 From: ACoolName Date: Mon, 27 May 2024 22:26:26 +0300 Subject: [PATCH] added server state option --- src/actions.tsx | 28 ++++++++++++++++------------ src/common.tsx | 1 + src/servers.tsx | 10 +++++++++- 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/actions.tsx b/src/actions.tsx index db64415..332bf43 100644 --- a/src/actions.tsx +++ b/src/actions.tsx @@ -442,16 +442,8 @@ export const SERVER_ACTIONS: ActionInfo[] = [ requestType: "post", endpoint: "/servers/{server_id}/start", permissions: Permission.Start, - response_action: "Ignore" - }, - { - name: "Terminal", - args: { - }, - requestType: "post", - endpoint: "/servers/{server_id}/attach", - permissions: Permission.RunCommand, - response_action: "Terminal" + response_action: "Ignore", + ServerState: "off", }, { name: "Stop", @@ -465,7 +457,18 @@ export const SERVER_ACTIONS: ActionInfo[] = [ requestType: "post", endpoint: "/servers/{server_id}/stop", permissions: Permission.Stop, - response_action: "Ignore" + response_action: "Ignore", + ServerState: "on", + }, + { + name: "Terminal", + args: { + }, + requestType: "post", + endpoint: "/servers/{server_id}/attach", + permissions: Permission.RunCommand, + response_action: "Terminal", + ServerState: "on", }, { name: "Delete Server", @@ -500,7 +503,8 @@ export const SERVER_ACTIONS: ActionInfo[] = [ requestType: "post", endpoint: "/servers/{server_id}/run_command", permissions: Permission.RunCommand, - response_action: "Ignore" + response_action: "Ignore", + ServerState: "on", }, { name: "Browse", diff --git a/src/common.tsx b/src/common.tsx index 9342622..355c606 100644 --- a/src/common.tsx +++ b/src/common.tsx @@ -114,6 +114,7 @@ export interface ActionInfo { args: {} permissions?: number response_action?: 'Ignore' | 'Browse' | 'Terminal' + ServerState?: 'on' | 'off' } diff --git a/src/servers.tsx b/src/servers.tsx index 3053f0d..2489ec3 100644 --- a/src/servers.tsx +++ b/src/servers.tsx @@ -56,7 +56,15 @@ function ServerItem(props: { server_info: ServerInfo }) { {props.server_info.Domain} {props.server_info.Ports.map((port, index, array) => { return })} - + { + switch (value.ServerState){ + case undefined: + return true + case "off": + return !props.server_info.On + case "on": + return props.server_info.On + }})} identifierSubstring="server_id" />