From 37df507c688d2d23749cf748ab93250543f4a018 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 12 Dec 2023 17:18:09 +0300 Subject: [PATCH] feat: migrate to tanstack query --- template/apps/web/package.json | 4 +- template/apps/web/src/pages/_app/index.tsx | 6 +- .../web/src/pages/expire-token/index.page.tsx | 4 +- .../src/pages/forgot-password/index.page.tsx | 4 +- .../apps/web/src/pages/profile/index.page.tsx | 8 +- .../src/pages/reset-password/index.page.tsx | 4 +- .../apps/web/src/pages/sign-in/index.page.tsx | 4 +- .../apps/web/src/pages/sign-up/index.page.tsx | 4 +- template/apps/web/src/query-client.ts | 4 +- .../web/src/resources/account/account.api.ts | 130 ++++++++---------- .../apps/web/src/resources/user/user.api.ts | 9 +- template/package.json | 2 +- template/pnpm-lock.yaml | 125 +++++++---------- 13 files changed, 132 insertions(+), 176 deletions(-) diff --git a/template/apps/web/package.json b/template/apps/web/package.json index 1886a0a9..89adae5f 100644 --- a/template/apps/web/package.json +++ b/template/apps/web/package.json @@ -24,6 +24,7 @@ "@mantine/notifications": "7.1.3", "@svgr/webpack": "6.5.1", "@tabler/icons-react": "2.10.0", + "@tanstack/react-query": "5.13.4", "@tanstack/react-table": "8.7.9", "app-constants": "workspace:*", "app-types": "npm:types", @@ -37,7 +38,6 @@ "react": "18.2.0", "react-dom": "18.2.0", "react-hook-form": "7.43.5", - "react-query": "3.39.3", "schemas": "workspace:*", "socket.io-client": "4.6.1", "zod": "3.21.4" @@ -51,6 +51,8 @@ "@storybook/builder-webpack5": "6.5.16", "@storybook/manager-webpack5": "6.5.16", "@storybook/react": "6.5.16", + "@tanstack/eslint-plugin-query": "5.12.1", + "@tanstack/react-query-devtools": "5.13.5", "@types/mixpanel-browser": "2.38.1", "@types/node": "18.15.1", "@types/qs": "6.9.7", diff --git a/template/apps/web/src/pages/_app/index.tsx b/template/apps/web/src/pages/_app/index.tsx index e0f58c09..63f54ecd 100644 --- a/template/apps/web/src/pages/_app/index.tsx +++ b/template/apps/web/src/pages/_app/index.tsx @@ -1,8 +1,8 @@ import { FC } from 'react'; -import { QueryClientProvider } from 'react-query'; -import { ReactQueryDevtools } from 'react-query/devtools'; import Head from 'next/head'; import { AppProps } from 'next/app'; +import { QueryClientProvider } from '@tanstack/react-query'; +import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; import { MantineProvider } from '@mantine/core'; import { Notifications } from '@mantine/notifications'; import { ModalsProvider } from '@mantine/modals'; @@ -28,7 +28,7 @@ const App: FC = ({ Component, pageProps }) => ( - + diff --git a/template/apps/web/src/pages/expire-token/index.page.tsx b/template/apps/web/src/pages/expire-token/index.page.tsx index d0977db6..dd9a8700 100644 --- a/template/apps/web/src/pages/expire-token/index.page.tsx +++ b/template/apps/web/src/pages/expire-token/index.page.tsx @@ -24,7 +24,7 @@ const ForgotPassword: NextPage = () => { const { mutate: resendEmail, - isLoading: isResendEmailLoading, + isPending: isResendEmailPending, } = accountApi.useResendEmail(); const onSubmit = () => resendEmail({ email }, { @@ -63,7 +63,7 @@ const ForgotPassword: NextPage = () => { diff --git a/template/apps/web/src/pages/profile/index.page.tsx b/template/apps/web/src/pages/profile/index.page.tsx index ef256c53..2e212c64 100644 --- a/template/apps/web/src/pages/profile/index.page.tsx +++ b/template/apps/web/src/pages/profile/index.page.tsx @@ -1,7 +1,6 @@ import { z } from 'zod'; import { useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; -import { useQueryClient } from 'react-query'; import { showNotification } from '@mantine/notifications'; import Head from 'next/head'; import { NextPage } from 'next'; @@ -10,6 +9,7 @@ import { Button, TextInput, PasswordInput, Stack, Title } from '@mantine/core'; import { accountApi } from 'resources/account'; import { handleError } from 'utils'; +import queryClient from 'query-client'; import PhotoUpload from './components/PhotoUpload'; @@ -27,8 +27,6 @@ const schema = z.object({ type UpdateParams = z.infer; const Profile: NextPage = () => { - const queryClient = useQueryClient(); - const { data: account } = accountApi.useGet(); const { @@ -46,7 +44,7 @@ const Profile: NextPage = () => { const { mutate: updateAccount, - isLoading: isUpdateLoading, + isPending: isUpdatePending, } = accountApi.useUpdate(); const onSubmit = (submitData: UpdateParams) => updateAccount(submitData, { @@ -119,7 +117,7 @@ const Profile: NextPage = () => { diff --git a/template/apps/web/src/pages/reset-password/index.page.tsx b/template/apps/web/src/pages/reset-password/index.page.tsx index 2fccdc5d..01b2a0b4 100644 --- a/template/apps/web/src/pages/reset-password/index.page.tsx +++ b/template/apps/web/src/pages/reset-password/index.page.tsx @@ -40,7 +40,7 @@ const ResetPassword: NextPage = () => { const { mutate: resetPassword, - isLoading: isResetPasswordLoading, + isPending: isResetPasswordPending, } = accountApi.useResetPassword(); const onSubmit = ({ password }: ResetPasswordParams) => resetPassword({ @@ -104,7 +104,7 @@ const ResetPassword: NextPage = () => {