// Copyright (C) 2017-2024 Smart code 203358507 import React, { useCallback, useMemo } from 'react'; import { useProfile } from 'stremio/common'; import { DEFAULT_STREAMING_SERVER_URL } from 'stremio/common/CONSTANTS'; import { useTranslation } from 'react-i18next'; import { Button, RadioButton } from 'stremio/components'; import useStreamingServer from 'stremio/common/useStreamingServer'; import Icon from '@stremio/stremio-icons/react'; import styles from './Item.less'; import classNames from 'classnames'; import useStreamingServerUrls from '../useStreamingServerUrls'; type Props = { url: string; }; const Item = ({ url }: Props) => { const { t } = useTranslation(); const profile = useProfile(); const streamingServer = useStreamingServer(); const { deleteServerUrl, selectServerUrl } = useStreamingServerUrls(); const selected = useMemo(() => profile.settings.streamingServerUrl === url, [url, profile.settings]); const defaultUrl = useMemo(() => url === DEFAULT_STREAMING_SERVER_URL, [url]); const handleDelete = useCallback(() => { deleteServerUrl(url); selected && selectServerUrl(DEFAULT_STREAMING_SERVER_URL); }, [url, selected]); const handleSelect = useCallback(() => { selectServerUrl(url); }, [url]); return (