import EmbyLogo from '@app/assets/services/emby.svg'; import ImdbLogo from '@app/assets/services/imdb.svg'; import JellyfinLogo from '@app/assets/services/jellyfin.svg'; import PlexLogo from '@app/assets/services/plex.svg'; import RTLogo from '@app/assets/services/rt.svg'; import TmdbLogo from '@app/assets/services/tmdb.svg'; import TraktLogo from '@app/assets/services/trakt.svg'; import TvdbLogo from '@app/assets/services/tvdb.svg'; import useLocale from '@app/hooks/useLocale'; import useSettings from '@app/hooks/useSettings'; import { MediaType } from '@server/constants/media'; import { MediaServerType } from '@server/constants/server'; import getConfig from 'next/config'; interface ExternalLinkBlockProps { mediaType: 'movie' | 'tv'; tmdbId?: number; tvdbId?: number; imdbId?: string; rtUrl?: string; mediaUrl?: string; } const ExternalLinkBlock = ({ mediaType, tmdbId, tvdbId, imdbId, rtUrl, mediaUrl, }: ExternalLinkBlockProps) => { const settings = useSettings(); const { publicRuntimeConfig } = getConfig(); const { locale } = useLocale(); return (
{mediaUrl && ( {settings.currentSettings.mediaServerType === MediaServerType.PLEX ? ( ) : publicRuntimeConfig.JELLYFIN_TYPE == 'emby' ? ( ) : ( )} )} {tmdbId && ( )} {tvdbId && mediaType === MediaType.TV && ( )} {imdbId && ( )} {rtUrl && ( )} {tmdbId && ( )}
); }; export default ExternalLinkBlock;