From edeb08bb495fccf976bc50ff0162e505dfc2ed2e Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 5 Feb 2024 23:01:07 -0800 Subject: [PATCH] fixed video select on storyteller filter to show user's videos --- .../common/SelectModal/SelectMediaList.tsx | 120 +++++++++--------- 1 file changed, 63 insertions(+), 57 deletions(-) diff --git a/packages/fakeyou.com/src/components/common/SelectModal/SelectMediaList.tsx b/packages/fakeyou.com/src/components/common/SelectModal/SelectMediaList.tsx index 840dfcc60b..e3f861ff4b 100644 --- a/packages/fakeyou.com/src/components/common/SelectModal/SelectMediaList.tsx +++ b/packages/fakeyou.com/src/components/common/SelectModal/SelectMediaList.tsx @@ -1,11 +1,13 @@ import React, { useRef, useState } from "react"; import MasonryGrid from "../MasonryGrid/MasonryGrid"; -import InfiniteScroll from "react-infinite-scroll-component"; -import { useLazyLists } from "hooks"; +// import InfiniteScroll from "react-infinite-scroll-component"; +import { useListContent, useSession } from "hooks"; import prepFilter from "resources/prepFilter"; import MediaCards from "../Card/MediaCards"; import { MediaFile } from "@storyteller/components/src/api/media_files/GetMediaFile"; -import { ListMediaFiles } from "@storyteller/components/src/api/media_files/ListMediaFiles"; +import { GetMediaByUser } from "@storyteller/components/src/api/media_files/GetMediaByUser"; +import SkeletonCard from "components/common/Card/SkeletonCard"; +import Pagination from "components/common/Pagination"; interface SelectMediaListProps { mediaType: string; @@ -20,75 +22,79 @@ export default function SelectMediaList({ }: SelectMediaListProps) { const gridContainerRef = useRef(null); const [list, listSet] = useState([]); + const { user } = useSession(); - const media = useLazyLists({ + const media = useListContent({ addQueries: { page_size: 9, ...prepFilter(mediaType, "filter_media_type"), }, + urlUpdate: false, debug: "Media List", - fetcher: ListMediaFiles, + fetcher: GetMediaByUser, list, listSet, requestList: true, - disableUrlQueries: true, + urlParam: user?.username || "" }); + const handlePageClick = (selectedItem: { selected: number }) => { + media.pageChange(selectedItem.selected); + }; + + const paginationProps = { + onPageChange: handlePageClick, + pageCount: media.pageCount, + currentPage: media.page, + }; + return (
- -
- Loading... + + {media.isLoading ? ( +
+ {Array.from({ length: 12 }).map((_, index) => ( + + ))} +
+ ) : ( + <> + {media.list.length === 0 && media.status === 3 ? ( +
+ No media created yet.
-
- ) - } - endMessage={ -

No more results.

- } - className="overflow-hidden" - scrollableTarget={listKey} - scrollThreshold={0.95} - > - <> - {media.list.length === 0 && media.status === 3 ? ( -
No media created yet.
- ) : ( - console.log("Layout complete!")} - > - {media.list.map((data: any, key: number) => { - let props = { - data, - showCreator: true, - type: "media", - inSelectModal: true, - onResultSelect, - }; + ) : ( + console.log("Layout complete!")} + > + {media.list.map((data: MediaFile, key: number) => { + let props = { + data, + showCreator: true, + type: "media", + inSelectModal: true, + onResultSelect, + }; + return ( +
+ +
+ ); + })} +
+ )} + + )} - return ( -
- -
- ); - })} -
- )} - -
+
+ +
); }