From d210a44a81e4975a0eb6add1c5e781c383dc7906 Mon Sep 17 00:00:00 2001 From: abhimanyurajeesh Date: Sat, 18 Jan 2025 18:44:38 +0530 Subject: [PATCH] Refactor to use React Query for data fetching in FileBlock, FileUpload, UserAvatar, and UserHome components --- src/components/Files/FileBlock.tsx | 21 ++++-- src/components/Files/FileUpload.tsx | 101 ++++++++++++++++++---------- src/components/Users/UserAvatar.tsx | 13 ++-- src/components/Users/UserHome.tsx | 41 +++++------ 4 files changed, 101 insertions(+), 75 deletions(-) diff --git a/src/components/Files/FileBlock.tsx b/src/components/Files/FileBlock.tsx index 46b6f680889..968cbda4fa7 100644 --- a/src/components/Files/FileBlock.tsx +++ b/src/components/Files/FileBlock.tsx @@ -1,3 +1,4 @@ +import { useQuery } from "@tanstack/react-query"; import dayjs from "dayjs"; import { t } from "i18next"; @@ -12,7 +13,7 @@ import { FileManagerResult } from "@/hooks/useFileManager"; import { FILE_EXTENSIONS } from "@/common/constants"; import routes from "@/Utils/request/api"; -import useTanStackQueryInstead from "@/Utils/request/useQuery"; +import query from "@/Utils/request/query"; export interface FileBlockProps { file: FileUploadModel; @@ -33,10 +34,18 @@ export default function FileBlock(props: FileBlockProps) { const filetype = fileManager.getFileType(file); - const fileData = useTanStackQueryInstead(routes.retrieveUpload, { - query: { file_type: fileManager.type, associating_id }, - pathParams: { id: file.id || "" }, - prefetch: filetype === "AUDIO" && !file.is_archived, + const { data: fileData } = useQuery({ + queryKey: [ + routes.retrieveUpload.path, + file.id, + fileManager.type, + associating_id, + ], + queryFn: query(routes.retrieveUpload, { + queryParams: { file_type: fileManager.type, associating_id }, + pathParams: { id: file.id || "" }, + }), + enabled: filetype === "AUDIO" && !file.is_archived, }); const icons: Record = { @@ -82,7 +91,7 @@ export default function FileBlock(props: FileBlockProps) {