import React from 'react'; import DnsConfiguration from './DnsConfiguration'; /** * Component for custom domain configuration * @param {Object} props - Component props * @param {Object} props.domainConfig - Domain configuration state * @param {Object} props.validation - Domain validation state * @param {Object} props.dnsVerified - DNS verification state * @param {Object} props.handlers - Event handlers for domain config * @param {Function} props.checkDnsConfig - Function to check DNS configuration * @param {string} props.defaultSubdomain - Default SiliconPin subdomain * @param {Function} props.showToast - Function to show toast notifications * @returns {JSX.Element} - Rendered component */ const CustomDomain = ({ domainConfig, validation, dnsVerified, handlers, checkDnsConfig, defaultSubdomain, showToast }) => { const { domainType, customDomain, customSubdomain, dnsMethod } = domainConfig; const { isValidating, isValidDomain, validationMessage, showDnsConfig } = validation; const { handleDomainTypeChange, handleDomainChange, handleSubdomainChange, handleDnsMethodChange, validateDomain } = handlers; return (
{/* Domain Type Selection */}
{/* Domain Input */} {domainType === 'domain' ? (

Enter domain without http://, www, or trailing slashes (example.com). You can configure www or other subdomains later.

) : (

Enter the full subdomain without http:// or trailing slashes. www and protocol prefixes will be automatically removed.

)} {/* Domain Validation */} {/* Validation Status */} {isValidating && (

Verifying domain registration and availability...

)} {!isValidating && validationMessage && (

{validationMessage}

)} {/* DNS Configuration Options */} {showDnsConfig && ( )}
); }; export default CustomDomain;