import { Egg } from '@/api/admin/egg'; import AdminBox from '@/components/admin/AdminBox'; import NodeSelect from '@/components/admin/servers/NodeSelect'; import { ServerImageContainer, ServerServiceContainer, ServerVariableContainer } from '@/components/admin/servers/ServerStartupContainer'; import BaseSettingsBox from '@/components/admin/servers/settings/BaseSettingsBox'; import FeatureLimitsBox from '@/components/admin/servers/settings/FeatureLimitsBox'; import ServerResourceBox from '@/components/admin/servers/settings/ServerResourceBox'; import Button from '@/components/elements/Button'; import Field from '@/components/elements/Field'; import FormikSwitch from '@/components/elements/FormikSwitch'; import Label from '@/components/elements/Label'; import Select from '@/components/elements/Select'; import SpinnerOverlay from '@/components/elements/SpinnerOverlay'; import FlashMessageRender from '@/components/FlashMessageRender'; import { faNetworkWired } from '@fortawesome/free-solid-svg-icons'; import { Form, Formik, FormikHelpers, useFormikContext } from 'formik'; import React, { useState } from 'react'; import tw from 'twin.macro'; import AdminContentBlock from '@/components/admin/AdminContentBlock'; import { object } from 'yup'; import { CreateServerRequest } from '@/api/admin/servers/createServer'; function InternalForm () { const { isSubmitting, isValid, values: { environment } } = useFormikContext(); const [ egg, setEgg ] = useState(null); return (
{/* This ensures that no variables are rendered unless the environment has a value for the variable. */} {egg?.relationships.variables?.filter(v => Object.keys(environment).find(e => e === v.environmentVariable) !== undefined).map((v, i) => ( ))}
); } export default () => { const submit = (r: CreateServerRequest, { setSubmitting }: FormikHelpers) => { console.log(r); setSubmitting(false); }; return (

New Server

Add a new server to the panel.

); };