From 7413b3f931002ad3566c3fd53aae47b2e0ea35c3 Mon Sep 17 00:00:00 2001 From: Stavros Date: Tue, 15 Apr 2025 12:27:28 +0300 Subject: [PATCH] chore: update to react query v5 --- frontend/bun.lockb | Bin 106360 -> 107200 bytes frontend/package.json | 2 +- frontend/src/components/auth/login-forn.tsx | 10 +++++----- .../src/components/auth/oauth-buttons.tsx | 10 +++++----- frontend/src/components/auth/totp-form.tsx | 6 +++--- frontend/src/context/app-context.tsx | 4 ++-- frontend/src/context/user-context.tsx | 4 ++-- frontend/src/main.tsx | 8 +------- frontend/src/pages/login-page.tsx | 4 ++-- frontend/src/pages/logout-page.tsx | 2 +- frontend/src/pages/totp-page.tsx | 2 +- 11 files changed, 23 insertions(+), 29 deletions(-) diff --git a/frontend/bun.lockb b/frontend/bun.lockb index 5d5bbf63eaf22dd252d41489132758a3262113a8..1dd4596c72722ac15c79f68e4f05651ef4ce5877 100755 GIT binary patch delta 13650 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 G<^KmD@ydSy delta 13514 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 D#9G=v diff --git a/frontend/package.json b/frontend/package.json index 866e73a..460ee42 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -14,7 +14,7 @@ "@mantine/form": "^7.16.0", "@mantine/hooks": "^7.16.0", "@mantine/notifications": "^7.16.0", - "@tanstack/react-query": "4", + "@tanstack/react-query": "5", "axios": "^1.7.9", "i18next": "^25.0.0", "i18next-browser-languagedetector": "^8.0.4", diff --git a/frontend/src/components/auth/login-forn.tsx b/frontend/src/components/auth/login-forn.tsx index 4090a78..0f0616d 100644 --- a/frontend/src/components/auth/login-forn.tsx +++ b/frontend/src/components/auth/login-forn.tsx @@ -4,12 +4,12 @@ import { LoginFormValues, loginSchema } from "../../schemas/login-schema"; import { useTranslation } from "react-i18next"; interface LoginFormProps { - isLoading: boolean; + isPending: boolean; onSubmit: (values: LoginFormValues) => void; } export const LoginForm = (props: LoginFormProps) => { - const { isLoading, onSubmit } = props; + const { isPending, onSubmit } = props; const { t } = useTranslation(); const form = useForm({ @@ -27,7 +27,7 @@ export const LoginForm = (props: LoginFormProps) => { label={t("loginUsername")} placeholder="username" required - disabled={isLoading} + disabled={isPending} key={form.key("username")} {...form.getInputProps("username")} /> @@ -36,11 +36,11 @@ export const LoginForm = (props: LoginFormProps) => { placeholder="password" required mt="md" - disabled={isLoading} + disabled={isPending} key={form.key("password")} {...form.getInputProps("password")} /> - diff --git a/frontend/src/components/auth/oauth-buttons.tsx b/frontend/src/components/auth/oauth-buttons.tsx index ca295b3..6bffe15 100644 --- a/frontend/src/components/auth/oauth-buttons.tsx +++ b/frontend/src/components/auth/oauth-buttons.tsx @@ -5,13 +5,13 @@ import { OAuthIcon } from "../../icons/oauth"; interface OAuthButtonsProps { oauthProviders: string[]; - isLoading: boolean; + isPending: boolean; mutate: (provider: string) => void; genericName: string; } export const OAuthButtons = (props: OAuthButtonsProps) => { - const { oauthProviders, isLoading, genericName, mutate } = props; + const { oauthProviders, isPending, genericName, mutate } = props; return ( {oauthProviders.includes("google") && ( @@ -21,7 +21,7 @@ export const OAuthButtons = (props: OAuthButtonsProps) => { leftSection={} variant="default" onClick={() => mutate("google")} - loading={isLoading} + loading={isPending} > Google @@ -34,7 +34,7 @@ export const OAuthButtons = (props: OAuthButtonsProps) => { leftSection={} variant="default" onClick={() => mutate("github")} - loading={isLoading} + loading={isPending} > Github @@ -47,7 +47,7 @@ export const OAuthButtons = (props: OAuthButtonsProps) => { leftSection={} variant="default" onClick={() => mutate("generic")} - loading={isLoading} + loading={isPending} > {genericName} diff --git a/frontend/src/components/auth/totp-form.tsx b/frontend/src/components/auth/totp-form.tsx index d860c6e..3aa13fa 100644 --- a/frontend/src/components/auth/totp-form.tsx +++ b/frontend/src/components/auth/totp-form.tsx @@ -10,11 +10,11 @@ type FormValues = z.infer; interface TotpFormProps { onSubmit: (values: FormValues) => void; - isLoading: boolean; + isPending: boolean; } export const TotpForm = (props: TotpFormProps) => { - const { onSubmit, isLoading } = props; + const { onSubmit, isPending } = props; const form = useForm({ mode: "uncontrolled", @@ -32,7 +32,7 @@ export const TotpForm = (props: TotpFormProps) => { placeholder="" {...form.getInputProps("code")} /> - diff --git a/frontend/src/context/app-context.tsx b/frontend/src/context/app-context.tsx index 051697c..fc7b25f 100644 --- a/frontend/src/context/app-context.tsx +++ b/frontend/src/context/app-context.tsx @@ -1,4 +1,4 @@ -import { useQuery } from "@tanstack/react-query"; +import { useSuspenseQuery } from "@tanstack/react-query"; import React, { createContext, useContext } from "react"; import axios from "axios"; import { AppContextSchemaType } from "../schemas/app-context-schema"; @@ -14,7 +14,7 @@ export const AppContextProvider = ({ data: userContext, isLoading, error, - } = useQuery({ + } = useSuspenseQuery({ queryKey: ["appContext"], queryFn: async () => { const res = await axios.get("/api/app"); diff --git a/frontend/src/context/user-context.tsx b/frontend/src/context/user-context.tsx index b9011b9..7138827 100644 --- a/frontend/src/context/user-context.tsx +++ b/frontend/src/context/user-context.tsx @@ -1,4 +1,4 @@ -import { useQuery } from "@tanstack/react-query"; +import { useSuspenseQuery } from "@tanstack/react-query"; import React, { createContext, useContext } from "react"; import axios from "axios"; import { UserContextSchemaType } from "../schemas/user-context-schema"; @@ -14,7 +14,7 @@ export const UserContextProvider = ({ data: userContext, isLoading, error, - } = useQuery({ + } = useSuspenseQuery({ queryKey: ["userContext"], queryFn: async () => { const res = await axios.get("/api/user"); diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx index 77098a8..a5ae8a3 100644 --- a/frontend/src/main.tsx +++ b/frontend/src/main.tsx @@ -19,13 +19,7 @@ import { TotpPage } from "./pages/totp-page.tsx"; import { AppContextProvider } from "./context/app-context.tsx"; import "./lib/i18n/i18n.ts"; -const queryClient = new QueryClient({ - defaultOptions: { - queries: { - suspense: true, - }, - }, -}); +const queryClient = new QueryClient(); createRoot(document.getElementById("root")!).render( diff --git a/frontend/src/pages/login-page.tsx b/frontend/src/pages/login-page.tsx index eaa6d88..d9a06e4 100644 --- a/frontend/src/pages/login-page.tsx +++ b/frontend/src/pages/login-page.tsx @@ -113,7 +113,7 @@ export const LoginPage = () => { @@ -128,7 +128,7 @@ export const LoginPage = () => { )} {configuredProviders.includes("username") && ( )} diff --git a/frontend/src/pages/logout-page.tsx b/frontend/src/pages/logout-page.tsx index edc597d..5ef6041 100644 --- a/frontend/src/pages/logout-page.tsx +++ b/frontend/src/pages/logout-page.tsx @@ -74,7 +74,7 @@ export const LogoutPage = () => { fullWidth mt="xl" onClick={() => logoutMutation.mutate()} - loading={logoutMutation.isLoading} + loading={logoutMutation.isPending} > {t("logoutTitle")} diff --git a/frontend/src/pages/totp-page.tsx b/frontend/src/pages/totp-page.tsx index 1724535..0a6afd6 100644 --- a/frontend/src/pages/totp-page.tsx +++ b/frontend/src/pages/totp-page.tsx @@ -57,7 +57,7 @@ export const TotpPage = () => { {t("totpTitle")} totpMutation.mutate(values)} />