import React, { memo } from 'react'; import { ServerContext } from '@/state/server'; import Can from '@/components/elements/Can'; import ContentContainer from '@/components/elements/ContentContainer'; import tw from 'twin.macro'; import ServerContentBlock from '@/components/elements/ServerContentBlock'; import ServerDetailsBlock from '@/components/server/ServerDetailsBlock'; import isEqual from 'react-fast-compare'; import PowerControls from '@/components/server/PowerControls'; import ErrorBoundary from '@/components/elements/ErrorBoundary'; import Spinner from '@/components/elements/Spinner'; import Features from '@feature/Features'; import Console from '@/components/server/Console'; import StatGraphs from '@/components/server/StatGraphs'; export type PowerAction = 'start' | 'stop' | 'restart' | 'kill'; const ServerConsole = () => { const isInstalling = ServerContext.useStoreState(state => state.server.data!.isInstalling); const isTransferring = ServerContext.useStoreState(state => state.server.data!.isTransferring); const eggFeatures = ServerContext.useStoreState(state => state.server.data!.eggFeatures, isEqual); return (
{isInstalling ?

This server is currently running its installation process and most actions are unavailable.

: isTransferring ?

This server is currently being transferred to another node and all actions are unavailable.

: }
); }; export default memo(ServerConsole, isEqual);