mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-05-11 12:20:45 +00:00
refactor: simplify sub variant logic
This commit is contained in:
parent
b18df103fa
commit
d5b73f8dc2
1 changed files with 14 additions and 25 deletions
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
import React, { useCallback, useMemo, useRef } from 'react';
|
import React, { useCallback, useMemo, useRef } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import classNames from 'classnames';
|
|
||||||
import Icon from '@stremio/stremio-icons/react';
|
|
||||||
import { Button, ContextMenu } from 'stremio/components';
|
import { Button, ContextMenu } from 'stremio/components';
|
||||||
import { languages, useToast } from 'stremio/common';
|
import { languages, useToast } from 'stremio/common';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
import Icon from '@stremio/stremio-icons/react';
|
||||||
import styles from './SubtitleVariant.less';
|
import styles from './SubtitleVariant.less';
|
||||||
|
|
||||||
type SubtitlesTrack = {
|
type SubtitlesTrack = {
|
||||||
|
|
@ -62,7 +62,7 @@ const SubtitleVariant = ({ track, selected, onSelect }: Props) => {
|
||||||
}
|
}
|
||||||
}, [track.addonSubtitleId, copyToClipboard]);
|
}, [track.addonSubtitleId, copyToClipboard]);
|
||||||
|
|
||||||
const button = (
|
return (
|
||||||
<Button
|
<Button
|
||||||
ref={buttonRef}
|
ref={buttonRef}
|
||||||
title={track.label}
|
title={track.label}
|
||||||
|
|
@ -78,19 +78,9 @@ const SubtitleVariant = ({ track, selected, onSelect }: Props) => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{selected ? <div className={styles['icon']} /> : null}
|
{selected ? <div className={styles['icon']} /> : null}
|
||||||
</Button>
|
{!track.embedded &&
|
||||||
);
|
<ContextMenu on={triggers} autoClose={true} lock={'bottom'}>
|
||||||
|
{downloadUrl ?
|
||||||
if (track.embedded) {
|
|
||||||
return button;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
{button}
|
|
||||||
<ContextMenu on={triggers} autoClose={true} lock={'bottom'}>
|
|
||||||
{
|
|
||||||
downloadUrl ?
|
|
||||||
<Button
|
<Button
|
||||||
className={styles['context-menu-option']}
|
className={styles['context-menu-option']}
|
||||||
title={t('CTX_DOWNLOAD_SUBTITLE')}
|
title={t('CTX_DOWNLOAD_SUBTITLE')}
|
||||||
|
|
@ -105,9 +95,8 @@ const SubtitleVariant = ({ track, selected, onSelect }: Props) => {
|
||||||
</Button>
|
</Button>
|
||||||
:
|
:
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
{
|
{canCopyUrl ?
|
||||||
canCopyUrl ?
|
|
||||||
<Button
|
<Button
|
||||||
className={styles['context-menu-option']}
|
className={styles['context-menu-option']}
|
||||||
title={t('CTX_COPY_SUBTITLE_URL')}
|
title={t('CTX_COPY_SUBTITLE_URL')}
|
||||||
|
|
@ -120,9 +109,8 @@ const SubtitleVariant = ({ track, selected, onSelect }: Props) => {
|
||||||
</Button>
|
</Button>
|
||||||
:
|
:
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
{
|
{track.addonSubtitleId ?
|
||||||
track.addonSubtitleId ?
|
|
||||||
<Button
|
<Button
|
||||||
className={styles['context-menu-option']}
|
className={styles['context-menu-option']}
|
||||||
title={t('CTX_COPY_SUBTITLE_ID')}
|
title={t('CTX_COPY_SUBTITLE_ID')}
|
||||||
|
|
@ -135,9 +123,10 @@ const SubtitleVariant = ({ track, selected, onSelect }: Props) => {
|
||||||
</Button>
|
</Button>
|
||||||
:
|
:
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
</ContextMenu>
|
</ContextMenu>
|
||||||
</>
|
}
|
||||||
|
</Button>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue