Spaces:
Sleeping
Sleeping
| import { useEffect, useTransition } from "react" | |
| import { useStore } from "@/app/state/useStore" | |
| import { MediaInfo } from "@/types/general" | |
| import { VideoList } from "../video-list" | |
| import { getVideos } from "@/app/api/actions/ai-tube-hf/getVideos" | |
| export function RecommendedVideos({ | |
| media, | |
| }: { | |
| // the media to use for the recommendations | |
| media: MediaInfo | |
| }) { | |
| const [_isPending, startTransition] = useTransition() | |
| const setRecommendedVideos = useStore(s => s.setRecommendedVideos) | |
| const recommendedVideos = useStore(s => s.recommendedVideos) | |
| useEffect(() => { | |
| startTransition(async () => { | |
| setRecommendedVideos(await getVideos({ | |
| sortBy: "random", | |
| niceToHaveTags: media.tags, | |
| ignoreVideoIds: [media.id], | |
| maxNbMedias: 16, | |
| })) | |
| }) | |
| }, media.tags) | |
| return ( | |
| <VideoList | |
| items={recommendedVideos} | |
| layout="vertical" | |
| /> | |
| ) | |
| } |