diff --git a/Syncly/src/components/Files/FileList.tsx b/Syncly/src/components/Files/FileList.tsx index 288b486..b74cba1 100644 --- a/Syncly/src/components/Files/FileList.tsx +++ b/Syncly/src/components/Files/FileList.tsx @@ -8,6 +8,7 @@ import { GetFolderFileList, GetRootFolder } from "../../shared/api/Folder/get"; import { useParams } from "react-router-dom"; import { useFileContext } from "../../context/FileContext"; import { useEffect } from "react"; +import TeamFileSkeleton from "../../shared/ui/Skeleton/TeamFileSkeleton"; interface IFileListProps { searchValue: string; @@ -30,7 +31,7 @@ const FileList = ({ const isSpaceIdReady = typeof spaceId === "number" && !Number.isNaN(spaceId); - const { data: rootFolder, isPending } = useQuery({ + const { data: rootFolder, isPending:rootFolderIsPending} = useQuery({ queryKey: ["rootFolder", spaceId], queryFn: () => GetRootFolder({ workspaceId: spaceId }), enabled: isSpaceIdReady, @@ -47,7 +48,7 @@ const FileList = ({ const currentFolderId = Array.from(folderPath.keys()).pop(); - const { data: folderList, refetch: folderListRefetch } = useQuery({ + const { data: folderList, refetch: folderListRefetch, isPending: folderListIsPending} = useQuery({ queryKey: ["folderList", spaceId, currentFolderId], queryFn: () => GetFolderFileList({ @@ -97,9 +98,10 @@ const FileList = ({

Date

User

- {isPending && ( - //나중에 스켈레톤 UI (컴포넌트 제작) 삽입 -
+ {folderListIsPending && ( +
+ +
)} {sort ? (
diff --git a/Syncly/src/pages/My/MyFilesPage.tsx b/Syncly/src/pages/My/MyFilesPage.tsx index 3ab036c..7a06419 100644 --- a/Syncly/src/pages/My/MyFilesPage.tsx +++ b/Syncly/src/pages/My/MyFilesPage.tsx @@ -19,6 +19,8 @@ const MyFilesPage = () => { const useDebouncedValue = useDebounce(mq, 500); const [isLoading, setIsLoading] = useState(true); + + useEffect(() => { const timer = setTimeout(() => setIsLoading(false), 1000); return () => clearTimeout(timer); diff --git a/Syncly/src/pages/Team/TeamFilesPage.tsx b/Syncly/src/pages/Team/TeamFilesPage.tsx index 9f6620b..e95debc 100644 --- a/Syncly/src/pages/Team/TeamFilesPage.tsx +++ b/Syncly/src/pages/Team/TeamFilesPage.tsx @@ -6,8 +6,6 @@ import useDebounce from "../../hooks/useDebounce"; import TrashFileList from "../../components/Files/TrashFileList"; import TeamNavigate from "../../components/TeamNavigate"; import { FileProvider } from "../../context/FileContext"; -import { useEffect } from "react"; -import TeamFileSkeleton from "../../shared/ui/Skeleton/TeamFileSkeleton"; const TeamFilesPage = () => { const [showInput, setShowInput] = useState(false); @@ -15,16 +13,9 @@ const TeamFilesPage = () => { const [trash, setTrash] = useState(false); const [mq, setMq] = useState(""); const useDebouncedValue = useDebounce(mq, 500); - const [isLoading, setIsLoading] = useState(true); + - useEffect(() => { - const timer = setTimeout(() => setIsLoading(false), 1000); - return () => clearTimeout(timer); - }, []); - if (isLoading) { - return ; - } return ( diff --git a/Syncly/src/shared/ui/Skeleton/Skeleton.tsx b/Syncly/src/shared/ui/Skeleton/Skeleton.tsx index 8d40c1c..b6602aa 100644 --- a/Syncly/src/shared/ui/Skeleton/Skeleton.tsx +++ b/Syncly/src/shared/ui/Skeleton/Skeleton.tsx @@ -14,7 +14,7 @@ export default function Skeleton({ }: SkeletonProps) { return (
); } diff --git a/Syncly/src/shared/ui/Skeleton/TeamFileSkeleton.tsx b/Syncly/src/shared/ui/Skeleton/TeamFileSkeleton.tsx index 0a5a15c..0dca1df 100644 --- a/Syncly/src/shared/ui/Skeleton/TeamFileSkeleton.tsx +++ b/Syncly/src/shared/ui/Skeleton/TeamFileSkeleton.tsx @@ -3,59 +3,12 @@ import Skeleton from "./Skeleton"; export default function MyFilesSkeleton() { return ( -
- {/* 상단 탭 + 버튼 */} -
- {/* url, file 선택 버튼 */} -
- - - -
-
- -
- {/* 맨 위 + 버튼 */} -
- - -
- - {/* Search / Filter / Delete */} -
- {/* Search files... */} - {/* Filter */} - {/* Delete */} -
- +
{/* 파일 영역 */}
-
- {/* Type */} -
- -
- - {/* Title (가장 넓음) */} -
- -
- - {/* Date (우측 정렬) */} -
- -
- - {/* User */} -
- -
- -
-
- + {/* 파일 부분 */}
+
-
); }