move cert to info box and add network access to create wizard

This commit is contained in:
miloschwartz
2026-07-07 14:51:15 -04:00
parent 4c8bd4db0a
commit beaa5735ce
8 changed files with 65 additions and 40 deletions
@@ -1,6 +1,5 @@
"use client";
import CertificateStatus from "@app/components/CertificateStatus";
import DomainPicker from "@app/components/DomainPicker";
import { PaidFeaturesAlert } from "@app/components/PaidFeaturesAlert";
import {
@@ -27,7 +26,6 @@ import {
SelectValue
} from "@app/components/ui/select";
import { tierMatrix } from "@server/lib/billing/tierMatrix";
import { build } from "@server/build";
import { useTranslations } from "next-intl";
import type { Control, UseFormSetValue, UseFormWatch } from "react-hook-form";
@@ -38,8 +36,6 @@ type PrivateResourceHttpFieldsProps = {
watch: UseFormWatch<any>;
disabled?: boolean;
siteResourceId?: number;
resourceDomainId?: string | null;
resourceFullDomain?: string | null;
labelPrefix?: "create" | "edit";
hideDomainPicker?: boolean;
hidePaidFeaturesAlert?: boolean;
@@ -52,8 +48,6 @@ export function PrivateResourceHttpFields({
watch,
disabled = false,
siteResourceId,
resourceDomainId,
resourceFullDomain,
labelPrefix = "edit",
hideDomainPicker = false,
hidePaidFeaturesAlert = false
@@ -91,7 +85,6 @@ export function PrivateResourceHttpFields({
const httpConfigSubdomain = watch("httpConfigSubdomain");
const httpConfigDomainId = watch("httpConfigDomainId");
const httpConfigFullDomain = watch("httpConfigFullDomain");
const ssl = watch("ssl");
return (
<SettingsFormGrid>
@@ -274,29 +267,6 @@ export function PrivateResourceHttpFields({
)}
/>
</SettingsFormCell>
{siteResourceId &&
resourceDomainId &&
httpConfigFullDomain &&
httpConfigDomainId === resourceDomainId &&
httpConfigFullDomain === resourceFullDomain &&
build != "oss" &&
ssl && (
<SettingsFormCell span="half">
<div className="flex items-center gap-2 pt-1">
<span className="text-sm font-medium">
{t("certificateStatus")}:
</span>
<CertificateStatus
orgId={orgId}
domainId={resourceDomainId}
fullDomain={httpConfigFullDomain}
autoFetch={true}
showLabel={false}
polling={true}
/>
</div>
</SettingsFormCell>
)}
</>
)}
@@ -122,12 +122,6 @@ export default function PrivateResourceHttpPage() {
watch={asAnyWatch(form.watch)}
disabled={httpSectionDisabled}
siteResourceId={siteResource.id}
resourceDomainId={
siteResource.domainId
}
resourceFullDomain={
siteResource.fullDomain
}
/>
</SettingsFormCell>
</SettingsFormGrid>
@@ -53,6 +53,7 @@ import { z } from "zod";
import { PrivateResourceSitesField } from "../PrivateResourceSitesField";
import { PrivateResourceHttpFields } from "../PrivateResourceHttpFields";
import { PrivateResourceSshFields } from "../PrivateResourceSshFields";
import { PrivateResourcePortRanges } from "../PrivateResourcePortRanges";
import {
PrivateResourceAliasField,
PrivateResourceCidrDestinationField,
@@ -105,6 +106,8 @@ export default function CreatePrivateResourcePage() {
standardDaemonLocation: "site",
authDaemonPort: null,
pamMode: "passthrough",
tcpPortRangeString: "*",
udpPortRangeString: "*",
disableIcmp: false
}
});
@@ -426,6 +429,16 @@ export default function CreatePrivateResourcePage() {
hideAlias
/>
</SettingsFormCell>
<SettingsFormCell span="full">
<PrivateResourcePortRanges
control={asAnyControl(
form.control
)}
setValue={asAnySetValue(
form.setValue
)}
/>
</SettingsFormCell>
</SettingsFormGrid>
</SettingsSectionForm>
</SettingsSectionBody>
@@ -466,6 +479,16 @@ export default function CreatePrivateResourcePage() {
labelPrefix="create"
/>
</SettingsFormCell>
<SettingsFormCell span="full">
<PrivateResourcePortRanges
control={asAnyControl(
form.control
)}
setValue={asAnySetValue(
form.setValue
)}
/>
</SettingsFormCell>
</SettingsFormGrid>
</SettingsSectionForm>
</SettingsSectionBody>