import {UseWatchPageVideoResponse} from '@app/videos/requests/use-watch-page-video'; import {MediaPlayIcon} from '@common/icons/media/media-play'; import {getWatchLink} from '@app/videos/watch-page/get-watch-link'; import {Button} from '@common/ui/buttons/button'; import {Link, useParams} from 'react-router-dom'; import {AnimatePresence, m} from 'framer-motion'; import {Skeleton} from '@common/ui/skeleton/skeleton'; import {opacityAnimation} from '@common/ui/animation/opacity-animation'; import clsx from 'clsx'; import {Video} from '@app/titles/models/video'; import {useSettings} from '@common/core/settings/use-settings'; import React, {Fragment} from 'react'; import {EpisodeSelector} from '@app/videos/watch-page/episode-selector'; import {MediaEpisodesIcon} from '@common/icons/media/media-episodes'; import {Trans} from '@common/i18n/trans'; import {useNavigate} from '@common/utils/hooks/use-navigate'; import { Menu, MenuItem, MenuTrigger, } from '@common/ui/navigation/menu/menu-trigger'; const className = 'flex items-center flex-wrap gap-14'; interface Props { data: UseWatchPageVideoResponse | undefined; } export function WatchPageAlternativeVideos({data}: Props) { const navigate = useNavigate(); const {streaming} = useSettings(); const title = data?.title; const episode = data?.episode; const video = data?.video; const showEpisodeSelector = title && episode && video && (video.type === 'embed' || video.type === 'external'); if (!showEpisodeSelector && !streaming.show_video_selector) { return null; } return (