From fb1260b612547494d29979480a91234fc1cbf8ce Mon Sep 17 00:00:00 2001 From: Gabriel Caires Date: Thu, 16 Jan 2025 20:28:03 +0000 Subject: [PATCH 1/2] Move ticket creation hook to a more reusable folder --- .../importer-migrate-message/index.tsx | 2 +- .../index.tsx | 2 +- .../hooks/use-submit-migration-ticket.ts | 48 +++++++++++++++++++ 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 client/landing/stepper/hooks/use-submit-migration-ticket.ts diff --git a/client/landing/stepper/declarative-flow/internals/steps-repository/importer-migrate-message/index.tsx b/client/landing/stepper/declarative-flow/internals/steps-repository/importer-migrate-message/index.tsx index f7f9112f031d8b..85a00c005f1d3d 100644 --- a/client/landing/stepper/declarative-flow/internals/steps-repository/importer-migrate-message/index.tsx +++ b/client/landing/stepper/declarative-flow/internals/steps-repository/importer-migrate-message/index.tsx @@ -14,12 +14,12 @@ import { Step } from 'calypso/landing/stepper/declarative-flow/internals/types'; import { useQuery } from 'calypso/landing/stepper/hooks/use-query'; import { useSite } from 'calypso/landing/stepper/hooks/use-site'; import { useSiteSlugParam } from 'calypso/landing/stepper/hooks/use-site-slug-param'; +import { useSubmitMigrationTicket } from 'calypso/landing/stepper/hooks/use-submit-migration-ticket'; import { recordTracksEvent } from 'calypso/lib/analytics/tracks'; import { urlToDomainAndPath } from 'calypso/lib/url'; import { UserData } from 'calypso/lib/user/user'; import { useSelector } from 'calypso/state'; import { getCurrentUser } from 'calypso/state/current-user/selectors'; -import { useSubmitMigrationTicket } from './hooks/use-submit-migration-ticket'; import './style.scss'; interface WhatToExpectProps { diff --git a/client/landing/stepper/declarative-flow/internals/steps-repository/site-migration-support-instructions/index.tsx b/client/landing/stepper/declarative-flow/internals/steps-repository/site-migration-support-instructions/index.tsx index 13e0b909f5bf27..c6d099665589f4 100644 --- a/client/landing/stepper/declarative-flow/internals/steps-repository/site-migration-support-instructions/index.tsx +++ b/client/landing/stepper/declarative-flow/internals/steps-repository/site-migration-support-instructions/index.tsx @@ -6,12 +6,12 @@ import { useMemo, useEffect } from 'react'; import { useSearchParams } from 'react-router-dom'; import FormattedHeader from 'calypso/components/formatted-header'; import { useSiteSlugParam } from 'calypso/landing/stepper/hooks/use-site-slug-param'; +import { useSubmitMigrationTicket } from 'calypso/landing/stepper/hooks/use-submit-migration-ticket'; import { UserData } from 'calypso/lib/user/user'; import { useSelector } from 'calypso/state'; import { getCurrentUser } from 'calypso/state/current-user/selectors'; import FlowCard from '../components/flow-card'; import { redirect } from '../import/util'; -import { useSubmitMigrationTicket } from '../importer-migrate-message/hooks/use-submit-migration-ticket'; import type { Step } from '../../types'; import './style.scss'; diff --git a/client/landing/stepper/hooks/use-submit-migration-ticket.ts b/client/landing/stepper/hooks/use-submit-migration-ticket.ts new file mode 100644 index 00000000000000..9aa1590c2073fe --- /dev/null +++ b/client/landing/stepper/hooks/use-submit-migration-ticket.ts @@ -0,0 +1,48 @@ +import { useMutation } from '@tanstack/react-query'; +import { UseMutationOptions } from '@tanstack/react-query/build/modern'; +import wpcomRequest from 'wpcom-proxy-request'; + +interface migrationTicketAPIResponse { + success: boolean; +} + +interface APIError { + status: number; + code: string | null; + message: string; +} + +interface TicketRequest { + locale: string; + blog_url: string; + from_url: string; +} + +export const useSubmitMigrationTicket = < + TData = migrationTicketAPIResponse | APIError, + TError = APIError, + TContext = unknown, +>( + options: UseMutationOptions< TData, TError, TicketRequest, TContext > = {} +) => { + const { mutate, ...rest } = useMutation( { + mutationFn: ( { locale, blog_url, from_url } ) => + wpcomRequest( { + path: 'help/migration-ticket/new', + apiNamespace: 'wpcom/v2/', + apiVersion: '2', + method: 'POST', + body: { + locale, + blog_url, + from_url, + }, + } ), + ...options, + } ); + + return { + sendTicket: mutate, + ...rest, + }; +}; From 2ea524ec19d57d8aa5c9483c310b549eef7401b2 Mon Sep 17 00:00:00 2001 From: Gabriel Caires Date: Thu, 16 Jan 2025 20:31:26 +0000 Subject: [PATCH 2/2] Remove hook --- .../hooks/use-submit-migration-ticket.ts | 48 ------------------- 1 file changed, 48 deletions(-) delete mode 100644 client/landing/stepper/declarative-flow/internals/steps-repository/importer-migrate-message/hooks/use-submit-migration-ticket.ts diff --git a/client/landing/stepper/declarative-flow/internals/steps-repository/importer-migrate-message/hooks/use-submit-migration-ticket.ts b/client/landing/stepper/declarative-flow/internals/steps-repository/importer-migrate-message/hooks/use-submit-migration-ticket.ts deleted file mode 100644 index 9aa1590c2073fe..00000000000000 --- a/client/landing/stepper/declarative-flow/internals/steps-repository/importer-migrate-message/hooks/use-submit-migration-ticket.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { useMutation } from '@tanstack/react-query'; -import { UseMutationOptions } from '@tanstack/react-query/build/modern'; -import wpcomRequest from 'wpcom-proxy-request'; - -interface migrationTicketAPIResponse { - success: boolean; -} - -interface APIError { - status: number; - code: string | null; - message: string; -} - -interface TicketRequest { - locale: string; - blog_url: string; - from_url: string; -} - -export const useSubmitMigrationTicket = < - TData = migrationTicketAPIResponse | APIError, - TError = APIError, - TContext = unknown, ->( - options: UseMutationOptions< TData, TError, TicketRequest, TContext > = {} -) => { - const { mutate, ...rest } = useMutation( { - mutationFn: ( { locale, blog_url, from_url } ) => - wpcomRequest( { - path: 'help/migration-ticket/new', - apiNamespace: 'wpcom/v2/', - apiVersion: '2', - method: 'POST', - body: { - locale, - blog_url, - from_url, - }, - } ), - ...options, - } ); - - return { - sendTicket: mutate, - ...rest, - }; -};