reorganize components nad hooks for consistency

This commit is contained in:
miloschwartz
2026-07-10 17:05:45 -04:00
parent e1bc0b7efd
commit 39c35fa539
17 changed files with 38 additions and 34 deletions
@@ -29,7 +29,7 @@ import { useQuery, useQueryClient } from "@tanstack/react-query";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import { useActionState, useEffect } from "react"; import { useActionState, useEffect } from "react";
import { useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import { PrivateResourceAccessFields } from "../../PrivateResourceAccessFields"; import { PrivateResourceAccessFields } from "@app/components/PrivateResourceAccessFields";
export default function PrivateResourceAccessPage() { export default function PrivateResourceAccessPage() {
const t = useTranslations(); const t = useTranslations();
@@ -20,12 +20,12 @@ import { useTranslations } from "next-intl";
import { useActionState, useMemo, useState } from "react"; import { useActionState, useMemo, useState } from "react";
import { useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import { z } from "zod"; import { z } from "zod";
import { PrivateResourceSitesField } from "../../PrivateResourceSitesField"; import { PrivateResourceSitesField } from "@app/components/PrivateResourceSitesField";
import { PrivateResourceCidrDestinationField } from "../../PrivateResourceDestinationFields"; import { PrivateResourceCidrDestinationField } from "@app/components/PrivateResourceDestinationFields";
import { PrivateResourcePortRanges } from "../../PrivateResourcePortRanges"; import { PrivateResourcePortRanges } from "@app/components/PrivateResourcePortRanges";
import { buildSelectedSitesForResource } from "../../privateResourceUtils"; import { useSaveSiteResource } from "@app/hooks/useSaveSiteResource";
import { asAnyControl, asAnySetValue } from "../../formControlUtils"; import { asAnyControl, asAnySetValue } from "@app/lib/formControlUtils";
import { useSaveSiteResource } from "../../useSaveSiteResource"; import { buildSelectedSitesForResource } from "@app/lib/privateResourceUtils";
export default function PrivateResourceCidrPage() { export default function PrivateResourceCidrPage() {
const t = useTranslations(); const t = useTranslations();
@@ -30,7 +30,7 @@ import { useTranslations } from "next-intl";
import { useActionState, useMemo } from "react"; import { useActionState, useMemo } from "react";
import { useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import { z } from "zod"; import { z } from "zod";
import { useSaveSiteResource } from "../../useSaveSiteResource"; import { useSaveSiteResource } from "@app/hooks/useSaveSiteResource";
export default function PrivateResourceGeneralPage() { export default function PrivateResourceGeneralPage() {
const t = useTranslations(); const t = useTranslations();
@@ -20,16 +20,16 @@ import { useTranslations } from "next-intl";
import { useActionState, useMemo, useState } from "react"; import { useActionState, useMemo, useState } from "react";
import { useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import { z } from "zod"; import { z } from "zod";
import { PrivateResourceSitesField } from "../../PrivateResourceSitesField"; import { PrivateResourceSitesField } from "@app/components/PrivateResourceSitesField";
import { PrivateResourceHostDestinationFields } from "../../PrivateResourceDestinationFields"; import { PrivateResourceHostDestinationFields } from "@app/components/PrivateResourceDestinationFields";
import { PrivateResourcePortRanges } from "../../PrivateResourcePortRanges"; import { PrivateResourcePortRanges } from "@app/components/PrivateResourcePortRanges";
import { buildSelectedSitesForResource } from "../../privateResourceUtils"; import { useSaveSiteResource } from "@app/hooks/useSaveSiteResource";
import { import {
asAnyControl, asAnyControl,
asAnySetValue, asAnySetValue,
asAnyWatch asAnyWatch
} from "../../formControlUtils"; } from "@app/lib/formControlUtils";
import { useSaveSiteResource } from "../../useSaveSiteResource"; import { buildSelectedSitesForResource } from "@app/lib/privateResourceUtils";
export default function PrivateResourceHostPage() { export default function PrivateResourceHostPage() {
const t = useTranslations(); const t = useTranslations();
@@ -22,15 +22,15 @@ import { useTranslations } from "next-intl";
import { useActionState, useMemo, useState } from "react"; import { useActionState, useMemo, useState } from "react";
import { useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import { z } from "zod"; import { z } from "zod";
import { PrivateResourceSitesField } from "../../PrivateResourceSitesField"; import { PrivateResourceSitesField } from "@app/components/PrivateResourceSitesField";
import { PrivateResourceHttpFields } from "../../PrivateResourceHttpFields"; import { PrivateResourceHttpFields } from "@app/components/PrivateResourceHttpFields";
import { buildSelectedSitesForResource } from "../../privateResourceUtils"; import { useSaveSiteResource } from "@app/hooks/useSaveSiteResource";
import { import {
asAnyControl, asAnyControl,
asAnySetValue, asAnySetValue,
asAnyWatch asAnyWatch
} from "../../formControlUtils"; } from "@app/lib/formControlUtils";
import { useSaveSiteResource } from "../../useSaveSiteResource"; import { buildSelectedSitesForResource } from "@app/lib/privateResourceUtils";
export default function PrivateResourceHttpPage() { export default function PrivateResourceHttpPage() {
const t = useTranslations(); const t = useTranslations();
@@ -26,15 +26,15 @@ import { useTranslations } from "next-intl";
import { useActionState, useMemo, useState } from "react"; import { useActionState, useMemo, useState } from "react";
import { useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import { z } from "zod"; import { z } from "zod";
import { PrivateResourceSshFields } from "../../PrivateResourceSshFields"; import { PrivateResourceSshFields } from "@app/components/PrivateResourceSshFields";
import { buildSelectedSitesForResource } from "../../privateResourceUtils"; import type { Selectedsite } from "@app/components/site-selector";
import { useSaveSiteResource } from "@app/hooks/useSaveSiteResource";
import { import {
asAnyControl, asAnyControl,
asAnySetValue, asAnySetValue,
asAnyWatch asAnyWatch
} from "../../formControlUtils"; } from "@app/lib/formControlUtils";
import { useSaveSiteResource } from "../../useSaveSiteResource"; import { buildSelectedSitesForResource } from "@app/lib/privateResourceUtils";
import type { Selectedsite } from "@app/components/site-selector";
export default function PrivateResourceSshPage() { export default function PrivateResourceSshPage() {
const t = useTranslations(); const t = useTranslations();
@@ -50,16 +50,20 @@ import { useParams, useRouter, useSearchParams } from "next/navigation";
import { useEffect, useMemo, useState, useTransition } from "react"; import { useEffect, useMemo, useState, useTransition } from "react";
import { useForm } from "react-hook-form"; import { useForm } from "react-hook-form";
import { z } from "zod"; import { z } from "zod";
import { PrivateResourceSitesField } from "../PrivateResourceSitesField"; import { PrivateResourceSitesField } from "@app/components/PrivateResourceSitesField";
import { PrivateResourceHttpFields } from "../PrivateResourceHttpFields"; import { PrivateResourceHttpFields } from "@app/components/PrivateResourceHttpFields";
import { PrivateResourceSshFields } from "../PrivateResourceSshFields"; import { PrivateResourceSshFields } from "@app/components/PrivateResourceSshFields";
import { PrivateResourcePortRanges } from "../PrivateResourcePortRanges"; import { PrivateResourcePortRanges } from "@app/components/PrivateResourcePortRanges";
import { import {
PrivateResourceAliasField, PrivateResourceAliasField,
PrivateResourceCidrDestinationField, PrivateResourceCidrDestinationField,
PrivateResourceHostDestinationFields PrivateResourceHostDestinationFields
} from "../PrivateResourceDestinationFields"; } from "@app/components/PrivateResourceDestinationFields";
import { asAnyControl, asAnySetValue, asAnyWatch } from "../formControlUtils"; import {
asAnyControl,
asAnySetValue,
asAnyWatch
} from "@app/lib/formControlUtils";
export default function CreatePrivateResourcePage() { export default function CreatePrivateResourcePage() {
const params = useParams(); const params = useParams();
@@ -23,7 +23,7 @@ import {
import { ChevronsUpDown } from "lucide-react"; import { ChevronsUpDown } from "lucide-react";
import { useTranslations } from "next-intl"; import { useTranslations } from "next-intl";
import type { Control, FieldPath, FieldValues } from "react-hook-form"; import type { Control, FieldPath, FieldValues } from "react-hook-form";
import { PrivateResourceMultiSiteRoutingHelp } from "./PrivateResourceMultiSiteRoutingHelp"; import { PrivateResourceMultiSiteRoutingHelp } from "@app/components/PrivateResourceMultiSiteRoutingHelp";
type PrivateResourceSitesFieldProps<T extends FieldValues> = { type PrivateResourceSitesFieldProps<T extends FieldValues> = {
control: Control<T>; control: Control<T>;
@@ -9,10 +9,10 @@ import {
} from "@app/components/Settings"; } from "@app/components/Settings";
import { PaidFeaturesAlert } from "@app/components/PaidFeaturesAlert"; import { PaidFeaturesAlert } from "@app/components/PaidFeaturesAlert";
import { SshServerSettingsFields } from "@app/components/SshServerSettingsFields"; import { SshServerSettingsFields } from "@app/components/SshServerSettingsFields";
import { PrivateResourceAliasField } from "./PrivateResourceDestinationFields"; import { PrivateResourceAliasField } from "@app/components/PrivateResourceDestinationFields";
import { PrivateResourceSitesField } from "./PrivateResourceSitesField"; import { PrivateResourceSitesField } from "@app/components/PrivateResourceSitesField";
import { getSshUseMultiSiteTargetForm } from "./privateResourceUtils";
import { inferSshPamMode } from "@app/lib/privateResourceForm"; import { inferSshPamMode } from "@app/lib/privateResourceForm";
import { getSshUseMultiSiteTargetForm } from "@app/lib/privateResourceUtils";
import { import {
FormControl, FormControl,
FormField, FormField,