From 5a1a89342ecf7bd1e0151473299453a50902b333 Mon Sep 17 00:00:00 2001 From: Dunemask Date: Tue, 19 Dec 2023 14:05:59 -0700 Subject: [PATCH] [CHORE] Fix styling inconsistencies --- lib/controllers/lifecycle-controller.js | 4 +-- lib/k8s/server-create.js | 19 +++++++++----- src/components/files/MineclusterFiles.jsx | 2 ++ src/css/header.css | 31 +++++++++++++++++++++++ src/nav/MCLMenu.jsx | 25 ++++++++---------- src/pages/CreateOptions.jsx | 4 +-- 6 files changed, 59 insertions(+), 26 deletions(-) create mode 100644 src/css/header.css diff --git a/lib/controllers/lifecycle-controller.js b/lib/controllers/lifecycle-controller.js index 9931555..3298abf 100644 --- a/lib/controllers/lifecycle-controller.js +++ b/lib/controllers/lifecycle-controller.js @@ -11,10 +11,10 @@ import { toggleServer } from "../k8s/k8s-server-control.js"; function payloadFilter(req, res) { const serverSpec = req.body; if (!serverSpec) return res.sendStatus(400); - const { name, url, version, serverType, difficulty, gamemode, memory } = + const { name, host, version, serverType, difficulty, gamemode, memory } = serverSpec; if (!name) return res.status(400).send("Server name is required!"); - if (!url) return res.status(400).send("Server url is required!"); + if (!host) return res.status(400).send("Server host is required!"); if (!version) return res.status(400).send("Server version is required!"); if (!difficulty) return res.status(400).send("Server difficulty is required!"); diff --git a/lib/k8s/server-create.js b/lib/k8s/server-create.js index d929f1c..8ef2fe3 100644 --- a/lib/k8s/server-create.js +++ b/lib/k8s/server-create.js @@ -45,7 +45,7 @@ function createServerVolume(serverSpec) { } function createServerDeploy(serverSpec) { - const { name } = serverSpec; + const { name, host } = serverSpec; const deployYaml = loadYaml("lib/k8s/configs/server-deployment.yml"); const { metadata } = deployYaml; const serverContainer = getServerContainer(serverSpec); @@ -67,24 +67,27 @@ function createServerDeploy(serverSpec) { ({ name }) => name === "datadir", ).persistentVolumeClaim.claimName = `mcl-${name}-volume`; - // Apply Containers + // Apply Containers TODO: User control for autostart deployYaml.spec.template.spec.containers.push(serverContainer); deployYaml.spec.template.spec.containers.push(ftpContainer); - // TODO: User control for autostart - deployYaml.spec.replicas = 0; + deployYaml.spec.replicas = 1; return deployYaml; } function createServerService(serverSpec) { - const { name, url } = serverSpec; + const { name, host } = serverSpec; const serviceYaml = loadYaml("lib/k8s/configs/server-svc.yml"); - serviceYaml.metadata.annotations["ingress.qumine.io/hostname"] = url; + serviceYaml.metadata.annotations["ingress.qumine.io/hostname"] = host; + serviceYaml.metadata.annotations["mc-router.itzg.me/externalServerName"] = + host; serviceYaml.metadata.labels.app = `mcl-${name}-app`; serviceYaml.metadata.name = `mcl-${name}-server`; serviceYaml.metadata.namespace = namespace; serviceYaml.metadata.annotations["minecluster.dunemask.net/server-name"] = name; serviceYaml.spec.selector.app = `mcl-${name}-app`; + // Port List: + const serverPortList = [{ p: 25565, n: "minecraft" }]; // Apply FTP Port List const ftpPortList = [ @@ -93,7 +96,9 @@ function createServerService(serverSpec) { ]; for (var p = 40000; p <= 40009; p++) ftpPortList.push({ p, n: `ftp-passive-${p - 40000}` }); - serviceYaml.spec.ports = ftpPortList.map(({ p: port, n: name }) => ({ + + const portList = [...serverPortList, ...ftpPortList]; + serviceYaml.spec.ports = portList.map(({ p: port, n: name }) => ({ port, name, protocol: "TCP", diff --git a/src/components/files/MineclusterFiles.jsx b/src/components/files/MineclusterFiles.jsx index 7b04e9a..6c0079d 100644 --- a/src/components/files/MineclusterFiles.jsx +++ b/src/components/files/MineclusterFiles.jsx @@ -18,6 +18,8 @@ import { getServerItem, } from "@mcl/queries"; +import "@mcl/css/header.css"; + export default function MineclusterFiles(props) { // Chonky configuration setChonkyDefaults({ iconComponent: ChonkyIconFA }); diff --git a/src/css/header.css b/src/css/header.css new file mode 100644 index 0000000..15d51e4 --- /dev/null +++ b/src/css/header.css @@ -0,0 +1,31 @@ +.appbar-items { + font-size: 1.25rem; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-weight: 500; + line-height: 1.6; + letter-spacing: 0.0075em; +} + +.view > header { + transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; + box-shadow: + 0px 2px 4px -1px rgba(0, 0, 0, 0.2), + 0px 4px 5px 0px rgba(0, 0, 0, 0.14), + 0px 1px 10px 0px rgba(0, 0, 0, 0.12); + display: flex; + flex-direction: column; + width: 100%; + box-sizing: border-box; + flex-shrink: 0; + position: fixed; + top: 0; + left: auto; + right: 0; + color: rgba(0, 0, 0, 0.87); + z-index: 1302; + background-color: black; +} +.view > header > div > div > a { + height: 40px; + width: 40px; +} diff --git a/src/nav/MCLMenu.jsx b/src/nav/MCLMenu.jsx index fc36cf6..3d6e7c2 100644 --- a/src/nav/MCLMenu.jsx +++ b/src/nav/MCLMenu.jsx @@ -42,22 +42,17 @@ export default function MCLMenu() { sx={{ zIndex: drawerIndex(), bgcolor: "black" }} enableColorOnDark={true} > - + - - - - - - {navHeader()}{" "} - - + + + + + {navHeader()} + diff --git a/src/pages/CreateOptions.jsx b/src/pages/CreateOptions.jsx index b5993cf..bb38323 100644 --- a/src/pages/CreateOptions.jsx +++ b/src/pages/CreateOptions.jsx @@ -97,7 +97,7 @@ export default function Create() { console.log("TODO CREATE VALIDATION"); if (!spec.name) return alertValidationError("Name not included"); if (!spec.version) return alertValidationError("Version cannot be blank"); - if (!spec.url) return alertValidationError("Url cannot be blank"); + if (!spec.host) return alertValidationError("Host cannot be blank"); return "validated"; } @@ -121,7 +121,7 @@ export default function Create() { />