import React, { useState } from "react"; import Accordion from "@mui/material/Accordion"; import AccordionSummary from "@mui/material/AccordionSummary"; import AccordionDetails from "@mui/material/AccordionDetails"; import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import Button from "@mui/material/Button"; import Select, { SelectChangeEvent } from "@mui/material/Select"; import { AllServers } from "../../Server/AllServers"; import { HacknetServer } from "../../Hacknet/HacknetServer"; import { GetServerByHostname } from "../../Server/ServerHelpers"; import MenuItem from "@mui/material/MenuItem"; export function Servers(): React.ReactElement { const [server, setServer] = useState("home"); function setServerDropdown(event: SelectChangeEvent): void { setServer(event.target.value as string); } function rootServer(): void { const s = GetServerByHostname(server); if (s === null) return; if (s instanceof HacknetServer) return; s.hasAdminRights = true; s.sshPortOpen = true; s.ftpPortOpen = true; s.smtpPortOpen = true; s.httpPortOpen = true; s.sqlPortOpen = true; s.openPortCount = 5; } function rootAllServers(): void { for (const i in AllServers) { const s = AllServers[i]; if (s instanceof HacknetServer) return; s.hasAdminRights = true; s.sshPortOpen = true; s.ftpPortOpen = true; s.smtpPortOpen = true; s.httpPortOpen = true; s.sqlPortOpen = true; s.openPortCount = 5; } } function minSecurity(): void { const s = GetServerByHostname(server); if (s === null) return; if (s instanceof HacknetServer) return; s.hackDifficulty = s.minDifficulty; } function minAllSecurity(): void { for (const i in AllServers) { const server = AllServers[i]; if (server instanceof HacknetServer) continue; server.hackDifficulty = server.minDifficulty; } } function maxMoney(): void { const s = GetServerByHostname(server); if (s === null) return; if (s instanceof HacknetServer) return; s.moneyAvailable = s.moneyMax; } function maxAllMoney(): void { for (const i in AllServers) { const server = AllServers[i]; if (server instanceof HacknetServer) continue; server.moneyAvailable = server.moneyMax; } } return ( }>

Servers

Server:
Root:
Security:
Money:
); }