diff --git a/packages/fakeyou.com/src/v2/view/pages/explore/tabs/FeaturedTab.tsx b/packages/fakeyou.com/src/v2/view/pages/explore/tabs/FeaturedTab.tsx index a8ceff2f2d..c4e59c4fdc 100644 --- a/packages/fakeyou.com/src/v2/view/pages/explore/tabs/FeaturedTab.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/explore/tabs/FeaturedTab.tsx @@ -8,6 +8,7 @@ import { faChevronRight } from "@fortawesome/pro-solid-svg-icons"; import { MediaFile } from "@storyteller/components/src/api/media_files/GetMedia"; import { useLazyLists } from "hooks"; import { ListFeaturedMediaFiles } from "@storyteller/components/src/api/media_files/ListFeaturedMediaFiles"; +import SkeletonCard from "components/common/Card/SkeletonCard"; export default function FeaturedTab() { const gridContainerRef = useRef(null); @@ -42,10 +43,10 @@ export default function FeaturedTab() { {isLoading ? ( -
-
- Loading... -
+
+ {Array.from({ length: 12 }).map((_, index) => ( + + ))}
) : ( <> diff --git a/packages/fakeyou.com/src/v2/view/pages/explore/tabs/MediaTab.tsx b/packages/fakeyou.com/src/v2/view/pages/explore/tabs/MediaTab.tsx index f9e6c3c3c4..1c7ca575d3 100644 --- a/packages/fakeyou.com/src/v2/view/pages/explore/tabs/MediaTab.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/explore/tabs/MediaTab.tsx @@ -1,4 +1,4 @@ -import React, { useRef, useState } from "react"; +import React, { useEffect, useRef, useState } from "react"; import MasonryGrid from "components/common/MasonryGrid/MasonryGrid"; import AudioCard from "components/common/Card/AudioCard"; import ImageCard from "components/common/Card/ImageCard"; @@ -9,7 +9,7 @@ import { faFilter, } from "@fortawesome/pro-solid-svg-icons"; import AudioPlayerProvider from "components/common/AudioPlayer/AudioPlayerContext"; - +import SkeletonCard from "components/common/Card/SkeletonCard"; import { ListMediaFiles } from "@storyteller/components/src/api/media_files/ListMediaFiles"; import { MediaFile } from "@storyteller/components/src/api/media_files/GetMedia"; import { useLazyLists } from "hooks"; @@ -18,6 +18,7 @@ import InfiniteScroll from "react-infinite-scroll-component"; export default function MediaTab() { const gridContainerRef = useRef(null); const [showMasonryGrid, setShowMasonryGrid] = useState(true); + const [isLoading, setIsLoading] = useState(true); const [list, listSet] = useState([]); const media = useLazyLists({ @@ -55,6 +56,12 @@ export default function MediaTab() { // { value: "mostliked", label: "Most Liked" }, ]; + useEffect(() => { + if (media.status === 3) { + setIsLoading(false); + } + }, [media.status]); + return ( <>
@@ -80,83 +87,91 @@ export default function MediaTab() {
- -
- Loading... -
- - } - endMessage={ -

No more results.

- } - className="overflow-hidden" - > - {showMasonryGrid && ( - <> - {media.list.length === 0 && media.status === 3 ? ( -
- No media created yet. + {isLoading ? ( +
+ {Array.from({ length: 12 }).map((_, index) => ( + + ))} +
+ ) : ( + +
+ Loading...
- ) : ( - console.log("Layout complete!")} - > - {media.list.map((data: any, index: number) => { - let card; - switch (data.media_type) { - case "audio": - card = ( - - ); - break; - case "image": - card = ( - - ); - break; - case "video": - card = ( - - ); - break; - default: - card =
Unsupported media type
; - } - return ( -
- {card} -
- ); - })} -
- )} - - )} -
+
+ } + endMessage={ +

No more results.

+ } + className="overflow-hidden" + > + {showMasonryGrid && ( + <> + {media.list.length === 0 && media.status === 3 ? ( +
+ No media created yet. +
+ ) : ( + console.log("Layout complete!")} + > + {media.list.map((data: any, index: number) => { + let card; + switch (data.media_type) { + case "audio": + card = ( + + ); + break; + case "image": + card = ( + + ); + break; + case "video": + card = ( + + ); + break; + default: + card =
Unsupported media type
; + } + return ( +
+ {card} +
+ ); + })} +
+ )} + + )} +
+ )}
); diff --git a/packages/fakeyou.com/src/v2/view/pages/explore/tabs/WeightsTab.tsx b/packages/fakeyou.com/src/v2/view/pages/explore/tabs/WeightsTab.tsx index 14435f9bc8..2ff6f01bb9 100644 --- a/packages/fakeyou.com/src/v2/view/pages/explore/tabs/WeightsTab.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/explore/tabs/WeightsTab.tsx @@ -1,4 +1,4 @@ -import React, { useRef, useState } from "react"; +import React, { useEffect, useRef, useState } from "react"; import MasonryGrid from "components/common/MasonryGrid/MasonryGrid"; import AudioCard from "components/common/Card/AudioCard"; import ImageCard from "components/common/Card/ImageCard"; @@ -9,7 +9,7 @@ import { faFilter, } from "@fortawesome/pro-solid-svg-icons"; import AudioPlayerProvider from "components/common/AudioPlayer/AudioPlayerContext"; - +import SkeletonCard from "components/common/Card/SkeletonCard"; import { ListWeights } from "@storyteller/components/src/api/weights/ListWeights"; import { Weight } from "@storyteller/components/src/api/weights/GetWeight"; import InfiniteScroll from "react-infinite-scroll-component"; @@ -19,6 +19,7 @@ import { useLazyLists } from "hooks"; export default function WeightsTab() { const gridContainerRef = useRef(null); const [showMasonryGrid, setShowMasonryGrid] = useState(true); + const [isLoading, setIsLoading] = useState(true); const [list, listSet] = useState([]); const weights = useLazyLists({ @@ -74,6 +75,12 @@ export default function WeightsTab() { // { value: "SDXL", label: "SD XL" }, // ]; + useEffect(() => { + if (weights.status === 3) { + setIsLoading(false); + } + }, [weights.status]); + return ( <>
@@ -120,99 +127,107 @@ export default function WeightsTab() {
- -
- Loading... -
- - } - endMessage={ -

No more results.

- } - className="overflow-hidden" - > - {showMasonryGrid && ( - <> - {weights.list.length === 0 && weights.status === 3 ? ( -
- No weight created yet. + {isLoading ? ( +
+ {Array.from({ length: 12 }).map((_, index) => ( + + ))} +
+ ) : ( + +
+ Loading...
- ) : ( - console.log("Layout complete!")} - > - {weights.list.map((data: any, index: number) => { - let card; - switch (data.weights_category) { - case WeightCategory.TTS: - card = ( - - ); - break; - case WeightCategory.VC: - card = ( - - ); - break; - case WeightCategory.ZS: - card = ( - - ); - break; - case WeightCategory.SD: - card = ( - - ); - break; - case WeightCategory.VOCODER: - card = <>; - break; - default: - card =
Unsupported weight type
; - } - return ( -
- {card} -
- ); - })} -
- )} - - )} -
+
+ } + endMessage={ +

No more results.

+ } + className="overflow-hidden" + > + {showMasonryGrid && ( + <> + {weights.list.length === 0 && weights.status === 3 ? ( +
+ No weight created yet. +
+ ) : ( + console.log("Layout complete!")} + > + {weights.list.map((data: any, index: number) => { + let card; + switch (data.weights_category) { + case WeightCategory.TTS: + card = ( + + ); + break; + case WeightCategory.VC: + card = ( + + ); + break; + case WeightCategory.ZS: + card = ( + + ); + break; + case WeightCategory.SD: + card = ( + + ); + break; + case WeightCategory.VOCODER: + card = <>; + break; + default: + card =
Unsupported weight type
; + } + return ( +
+ {card} +
+ ); + })} +
+ )} + + )} +
+ )}
); diff --git a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/BookmarksTab.tsx b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/BookmarksTab.tsx index 8bb9ee4fd8..6248ec3371 100644 --- a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/BookmarksTab.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/BookmarksTab.tsx @@ -3,7 +3,7 @@ import MasonryGrid from "components/common/MasonryGrid/MasonryGrid"; import AudioCard from "components/common/Card/AudioCard"; import ImageCard from "components/common/Card/ImageCard"; import VideoCard from "components/common/Card/VideoCard"; - +import SkeletonCard from "components/common/Card/SkeletonCard"; import Select from "components/common/Select"; import { faArrowDownWideShort, @@ -142,10 +142,10 @@ export default function BookmarksTab({ username }: { username: string }) { {isLoading ? ( -
-
- Loading... -
+
+ {Array.from({ length: 12 }).map((_, index) => ( + + ))}
) : ( <> diff --git a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/MediaTab.tsx b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/MediaTab.tsx index 7725fa2508..9276890242 100644 --- a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/MediaTab.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/MediaTab.tsx @@ -9,7 +9,7 @@ import { faFilter, } from "@fortawesome/pro-solid-svg-icons"; import AudioPlayerProvider from "components/common/AudioPlayer/AudioPlayerContext"; - +import SkeletonCard from "components/common/Card/SkeletonCard"; import Pagination from "components/common/Pagination"; import { GetMediaByUser } from "@storyteller/components/src/api/media_files/GetMediaByUser"; @@ -105,10 +105,10 @@ export default function MediaTab({ username }: { username: string }) {
{isLoading ? ( -
-
- Loading... -
+
+ {Array.from({ length: 12 }).map((_, index) => ( + + ))}
) : ( <> diff --git a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/WeightsTab.tsx b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/WeightsTab.tsx index eeaf98a69a..4a996cebe9 100644 --- a/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/WeightsTab.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/profile/profile_view/tabs/WeightsTab.tsx @@ -11,6 +11,7 @@ import { useListContent } from "hooks"; import { GetWeightsByUser } from "@storyteller/components/src/api/weights/GetWeightsByUser"; import { TempSelect } from "components/common"; import { WeightCategory } from "@storyteller/components/src/api/_common/enums/WeightCategory"; +import SkeletonCard from "components/common/Card/SkeletonCard"; // interface IWeighttModelData { // token: string; @@ -162,10 +163,10 @@ export default function WeightsTab({ username }: { username: string }) {
{isLoading ? ( -
-
- Loading... -
+
+ {Array.from({ length: 12 }).map((_, index) => ( + + ))}
) : ( <>