diff --git a/client/dashboard/domains/dataviews/actions.tsx b/client/dashboard/domains/dataviews/actions.tsx index fcdb4e0dc542..1001d5eb3876 100644 --- a/client/dashboard/domains/dataviews/actions.tsx +++ b/client/dashboard/domains/dataviews/actions.tsx @@ -1,5 +1,6 @@ import { DomainSubtype } from '@automattic/api-core'; import { userPurchasesQuery, siteSetPrimaryDomainMutation } from '@automattic/api-queries'; +import config from '@automattic/calypso-config'; import { isFreeUrlDomainName } from '@automattic/domains-table/src/utils/is-free-url-domain-name'; import { useQuery, useMutation } from '@tanstack/react-query'; import { useRouter } from '@tanstack/react-router'; @@ -12,6 +13,7 @@ import { domainDnsRoute, domainContactInfoRoute, domainConnectionSetupRoute, + domainTransferSetupRoute, domainTransferToAnyUserRoute, domainTransferToOtherSiteRoute, domainsContactInfoRoute, @@ -99,8 +101,16 @@ export const useActions = ( { user, sites }: { user: User; sites?: Site[] } ) => callback: ( items: DomainSummary[] ) => { const domain = items[ 0 ]; + const targetRoute = + domain.subtype.id === DomainSubtype.DOMAIN_TRANSFER && + // TODO: When DOMAINS-1802 is completed, we should check if the domain has the `pending_registry` status + // and send the user to the `/v2/domains//transfer` URL instead of the `domain-transfer-setup` URL + config.isEnabled( 'domain-transfer-redesign' ) + ? domainTransferSetupRoute + : domainOverviewRoute; + router.navigate( { - to: domainOverviewRoute.fullPath, + to: targetRoute.fullPath, params: { domainName: domain.domain, }, diff --git a/client/dashboard/domains/dataviews/field-domain-name.tsx b/client/dashboard/domains/dataviews/field-domain-name.tsx index c4d3e8cdcb00..569f5c9d5619 100644 --- a/client/dashboard/domains/dataviews/field-domain-name.tsx +++ b/client/dashboard/domains/dataviews/field-domain-name.tsx @@ -1,8 +1,9 @@ import { DomainSubtype } from '@automattic/api-core'; +import config from '@automattic/calypso-config'; import { Link } from '@tanstack/react-router'; import { __experimentalVStack as VStack } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; -import { domainOverviewRoute } from '../../app/router/domains'; +import { domainOverviewRoute, domainTransferSetupRoute } from '../../app/router/domains'; import { Text } from '../../components/text'; import { textOverflowStyles } from './utils'; import type { DomainSummary, Site } from '@automattic/api-core'; @@ -20,9 +21,17 @@ export const DomainNameField = ( { } ) => { const siteSlug = site?.slug ?? domain.site_slug; + const href = + domain.subtype.id === DomainSubtype.DOMAIN_TRANSFER && + // TODO: When DOMAINS-1802 is completed, we should check if the domain has the `pending_registry` status + // and send the user to the `/v2/domains//transfer` URL instead of the `domain-transfer-setup` URL + config.isEnabled( 'domain-transfer-redesign' ) + ? domainTransferSetupRoute.fullPath + : domainOverviewRoute.fullPath; + return (