1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-09-17 15:02:34 +02:00

New: Added external links to movie index (#4600)

#403
This commit is contained in:
nitsua 2020-07-27 10:29:19 -04:00 committed by GitHub
parent 33cd699eac
commit 9ce58be385
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 101 additions and 3 deletions

View File

@ -93,3 +93,7 @@ $hoverScale: 1.05;
display: none; display: none;
} }
} }
.externalLinks {
margin-right: 0.5em;
}

View File

@ -14,6 +14,9 @@ import DeleteMovieModal from 'Movie/Delete/DeleteMovieModal';
import MovieIndexProgressBar from 'Movie/Index/ProgressBar/MovieIndexProgressBar'; import MovieIndexProgressBar from 'Movie/Index/ProgressBar/MovieIndexProgressBar';
import MovieIndexOverviewInfo from './MovieIndexOverviewInfo'; import MovieIndexOverviewInfo from './MovieIndexOverviewInfo';
import styles from './MovieIndexOverview.css'; import styles from './MovieIndexOverview.css';
import Icon from 'Components/Icon';
import Popover from 'Components/Tooltip/Popover';
import MovieDetailsLinks from 'Movie/Details/MovieDetailsLinks';
const columnPadding = parseInt(dimensions.movieIndexColumnPadding); const columnPadding = parseInt(dimensions.movieIndexColumnPadding);
const columnPaddingSmallScreen = parseInt(dimensions.movieIndexColumnPaddingSmallScreen); const columnPaddingSmallScreen = parseInt(dimensions.movieIndexColumnPaddingSmallScreen);
@ -81,6 +84,9 @@ class MovieIndexOverview extends Component {
render() { render() {
const { const {
id, id,
tmdbId,
imdbId,
youTubeTrailerId,
title, title,
overview, overview,
monitored, monitored,
@ -176,6 +182,25 @@ class MovieIndexOverview extends Component {
</Link> </Link>
<div className={styles.actions}> <div className={styles.actions}>
<span className={styles.externalLinks}>
<Popover
anchor={
<Icon
name={icons.EXTERNAL_LINK}
size={12}
/>
}
title="Links"
body={
<MovieDetailsLinks
tmdbId={tmdbId}
imdbId={imdbId}
youTubeTrailerId={youTubeTrailerId}
/>
}
/>
</span>
<SpinnerIconButton <SpinnerIconButton
name={icons.REFRESH} name={icons.REFRESH}
title="Refresh Movie" title="Refresh Movie"
@ -271,7 +296,10 @@ MovieIndexOverview.propTypes = {
onSearchPress: PropTypes.func.isRequired, onSearchPress: PropTypes.func.isRequired,
isMovieEditorActive: PropTypes.bool.isRequired, isMovieEditorActive: PropTypes.bool.isRequired,
isSelected: PropTypes.bool, isSelected: PropTypes.bool,
onSelectedChange: PropTypes.func.isRequired onSelectedChange: PropTypes.func.isRequired,
tmdbId: PropTypes.number.isRequired,
imdbId: PropTypes.string,
youTubeTrailerId: PropTypes.string
}; };
export default MovieIndexOverview; export default MovieIndexOverview;

View File

@ -102,3 +102,7 @@ $hoverScale: 1.05;
padding: 5px; padding: 5px;
} }
} }
.externalLinks {
margin-left: 0.5em;
}

View File

@ -12,6 +12,9 @@ import DeleteMovieModal from 'Movie/Delete/DeleteMovieModal';
import MovieIndexProgressBar from 'Movie/Index/ProgressBar/MovieIndexProgressBar'; import MovieIndexProgressBar from 'Movie/Index/ProgressBar/MovieIndexProgressBar';
import MovieIndexPosterInfo from './MovieIndexPosterInfo'; import MovieIndexPosterInfo from './MovieIndexPosterInfo';
import styles from './MovieIndexPoster.css'; import styles from './MovieIndexPoster.css';
import Icon from 'Components/Icon';
import Popover from 'Components/Tooltip/Popover';
import MovieDetailsLinks from 'Movie/Details/MovieDetailsLinks';
class MovieIndexPoster extends Component { class MovieIndexPoster extends Component {
@ -77,6 +80,9 @@ class MovieIndexPoster extends Component {
render() { render() {
const { const {
id, id,
tmdbId,
imdbId,
youTubeTrailerId,
title, title,
monitored, monitored,
hasFile, hasFile,
@ -157,6 +163,25 @@ class MovieIndexPoster extends Component {
title="Edit movie" title="Edit movie"
onPress={this.onEditMoviePress} onPress={this.onEditMoviePress}
/> />
<span className={styles.externalLinks}>
<Popover
anchor={
<Icon
name={icons.EXTERNAL_LINK}
size={12}
/>
}
title="Links"
body={
<MovieDetailsLinks
tmdbId={tmdbId}
imdbId={imdbId}
youTubeTrailerId={youTubeTrailerId}
/>
}
/>
</span>
</Label> </Label>
{ {
@ -272,7 +297,10 @@ MovieIndexPoster.propTypes = {
onSearchPress: PropTypes.func.isRequired, onSearchPress: PropTypes.func.isRequired,
isMovieEditorActive: PropTypes.bool.isRequired, isMovieEditorActive: PropTypes.bool.isRequired,
isSelected: PropTypes.bool, isSelected: PropTypes.bool,
onSelectedChange: PropTypes.func.isRequired onSelectedChange: PropTypes.func.isRequired,
tmdbId: PropTypes.number.isRequired,
imdbId: PropTypes.string,
youTubeTrailerId: PropTypes.string
}; };
MovieIndexPoster.defaultProps = { MovieIndexPoster.defaultProps = {

View File

@ -96,3 +96,7 @@
margin-top: 0; margin-top: 0;
} }
.externalLinks {
margin-right: 0.5em;
}

View File

@ -16,6 +16,9 @@ import MovieStatusCell from './MovieStatusCell';
import MovieFileStatusConnector from 'Movie/MovieFileStatusConnector'; import MovieFileStatusConnector from 'Movie/MovieFileStatusConnector';
import VirtualTableSelectCell from 'Components/Table/Cells/VirtualTableSelectCell'; import VirtualTableSelectCell from 'Components/Table/Cells/VirtualTableSelectCell';
import styles from './MovieIndexRow.css'; import styles from './MovieIndexRow.css';
import Icon from 'Components/Icon';
import Popover from 'Components/Tooltip/Popover';
import MovieDetailsLinks from 'Movie/Details/MovieDetailsLinks';
class MovieIndexRow extends Component { class MovieIndexRow extends Component {
@ -61,6 +64,9 @@ class MovieIndexRow extends Component {
render() { render() {
const { const {
id, id,
tmdbId,
imdbId,
youTubeTrailerId,
monitored, monitored,
status, status,
title, title,
@ -141,10 +147,12 @@ class MovieIndexRow extends Component {
key={name} key={name}
className={styles[name]} className={styles[name]}
> >
<MovieTitleLink <MovieTitleLink
titleSlug={titleSlug} titleSlug={titleSlug}
title={title} title={title}
/> />
</VirtualTableRowCell> </VirtualTableRowCell>
); );
} }
@ -352,6 +360,25 @@ class MovieIndexRow extends Component {
key={name} key={name}
className={styles[name]} className={styles[name]}
> >
<span className={styles.externalLinks}>
<Popover
anchor={
<Icon
name={icons.EXTERNAL_LINK}
size={12}
/>
}
title="Links"
body={
<MovieDetailsLinks
tmdbId={tmdbId}
imdbId={imdbId}
youTubeTrailerId={youTubeTrailerId}
/>
}
/>
</span>
<SpinnerIconButton <SpinnerIconButton
name={icons.REFRESH} name={icons.REFRESH}
title="Refresh movie" title="Refresh movie"
@ -430,7 +457,10 @@ MovieIndexRow.propTypes = {
onSearchPress: PropTypes.func.isRequired, onSearchPress: PropTypes.func.isRequired,
isMovieEditorActive: PropTypes.bool.isRequired, isMovieEditorActive: PropTypes.bool.isRequired,
isSelected: PropTypes.bool, isSelected: PropTypes.bool,
onSelectedChange: PropTypes.func.isRequired onSelectedChange: PropTypes.func.isRequired,
tmdbId: PropTypes.number.isRequired,
imdbId: PropTypes.string,
youTubeTrailerId: PropTypes.string
}; };
MovieIndexRow.defaultProps = { MovieIndexRow.defaultProps = {