diff --git a/src/hooks/use-add-site.ts b/src/hooks/use-add-site.ts index 53afe155e..f294ca15b 100644 --- a/src/hooks/use-add-site.ts +++ b/src/hooks/use-add-site.ts @@ -35,7 +35,7 @@ export function useAddSite( options: UseAddSiteOptions = {} ) { const defaultPhpVersion = useRootSelector( selectDefaultPhpVersion ); const defaultWordPressVersion = useRootSelector( selectDefaultWordPressVersion ); const [ error, setError ] = useState( '' ); - const [ siteName, setSiteName ] = useState< string | null >( null ); + const [ siteName, setSiteName ] = useState< string >( '' ); const [ sitePath, setSitePath ] = useState( '' ); const [ proposedSitePath, setProposedSitePath ] = useState( '' ); const [ doesPathContainWordPress, setDoesPathContainWordPress ] = useState( false ); diff --git a/src/modules/add-site/components/create-site-form.tsx b/src/modules/add-site/components/create-site-form.tsx index 5752eef14..b0b2c604f 100644 --- a/src/modules/add-site/components/create-site-form.tsx +++ b/src/modules/add-site/components/create-site-form.tsx @@ -10,8 +10,10 @@ import FolderIcon from 'src/components/folder-icon'; import { LearnMoreLink } from 'src/components/learn-more'; import TextControlComponent from 'src/components/text-control'; import { WPVersionSelector } from 'src/components/wp-version-selector'; +import { useAddSite } from 'src/hooks/use-add-site'; import { cx } from 'src/lib/cx'; import { getIpcApi } from 'src/lib/get-ipc-api'; +import { getLocalizedLink } from 'src/lib/get-localized-link'; import { AllowedPHPVersion } from 'src/lib/wordpress-provider/constants'; import { useRootSelector } from 'src/stores'; import { useCheckCertificateTrustQuery } from 'src/stores/certificate-trust-api'; @@ -35,27 +37,8 @@ interface SiteFormErrorProps { } interface CreateSiteFormProps { - siteName: string; - setSiteName: ( name: string ) => void; - sitePath?: string; - onSelectPath?: () => void; - error: string; - doesPathContainWordPress?: boolean; + addSiteProps: ReturnType< typeof useAddSite >; onSubmit: ( event: FormEvent ) => void; - useCustomDomain?: boolean; - setUseCustomDomain?: ( use: boolean ) => void; - customDomain?: string | null; - setCustomDomain?: ( domain: string ) => void; - customDomainError?: string; - phpVersion: AllowedPHPVersion; - setPhpVersion: ( version: AllowedPHPVersion ) => void; - useHttps?: boolean; - setUseHttps?: ( use: boolean ) => void; - enableHttps?: boolean; - setEnableHttps?: ( use: boolean ) => void; - wpVersion: string; - setWpVersion: ( version: string ) => void; - blueprintPreferredVersions?: { php?: string; wp?: string }; } const SiteFormError = ( { error, tipMessage = '', className = '' }: SiteFormErrorProps ) => { @@ -141,28 +124,28 @@ function FormPathInputComponent( { ); } -export const CreateSiteForm = ( { - siteName, - setSiteName, - phpVersion, - setPhpVersion, - wpVersion, - setWpVersion, - sitePath = '', - onSelectPath, - error, - onSubmit, - doesPathContainWordPress = false, - useCustomDomain, - setUseCustomDomain, - customDomain = null, - setCustomDomain, - customDomainError, - enableHttps, - setEnableHttps, - blueprintPreferredVersions, -}: CreateSiteFormProps ) => { +export const CreateSiteForm = ( { addSiteProps, onSubmit }: CreateSiteFormProps ) => { const { __, isRTL } = useI18n(); + const { + useCustomDomain, + setUseCustomDomain, + customDomain, + setCustomDomain, + customDomainError, + enableHttps, + setEnableHttps, + blueprintPreferredVersions, + phpVersion, + wpVersion, + siteName, + sitePath, + doesPathContainWordPress, + error, + handleSiteNameChange, + handlePathSelectorClick: onSelectPath, + setPhpVersion, + setWpVersion, + } = addSiteProps; const { data: isCertificateTrusted } = useCheckCertificateTrustQuery(); const defaultWordPressVersion = useRootSelector( selectDefaultWordPressVersion ); const allowedPhpVersions = useRootSelector( selectAllowedPhpVersions ); @@ -206,7 +189,7 @@ export const CreateSiteForm = ( {