Cleanup Search UI, Newznab Caps API

This commit is contained in:
Qstick
2020-10-20 13:46:58 -04:00
parent f290afa68c
commit 84cbfe870f
105 changed files with 562 additions and 791 deletions

View File

@@ -1,103 +0,0 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import IconButton from 'Components/Link/IconButton';
import SpinnerIconButton from 'Components/Link/SpinnerIconButton';
import VirtualTableRowCell from 'Components/Table/Cells/VirtualTableRowCell';
import { icons } from 'Helpers/Props';
import DeleteMovieModal from 'Indexer/Delete/DeleteMovieModal';
import EditMovieModalConnector from 'Indexer/Edit/EditMovieModalConnector';
import translate from 'Utilities/String/translate';
class MovieIndexActionsCell extends Component {
//
// Lifecycle
constructor(props, context) {
super(props, context);
this.state = {
isEditMovieModalOpen: false,
isDeleteMovieModalOpen: false
};
}
//
// Listeners
onEditMoviePress = () => {
this.setState({ isEditMovieModalOpen: true });
}
onEditMovieModalClose = () => {
this.setState({ isEditMovieModalOpen: false });
}
onDeleteMoviePress = () => {
this.setState({
isEditMovieModalOpen: false,
isDeleteMovieModalOpen: true
});
}
onDeleteMovieModalClose = () => {
this.setState({ isDeleteMovieModalOpen: false });
}
//
// Render
render() {
const {
id,
isRefreshingMovie,
onRefreshMoviePress,
...otherProps
} = this.props;
const {
isEditMovieModalOpen,
isDeleteMovieModalOpen
} = this.state;
return (
<VirtualTableRowCell
{...otherProps}
>
<SpinnerIconButton
name={icons.REFRESH}
title={translate('RefreshMovie')}
isSpinning={isRefreshingMovie}
onPress={onRefreshMoviePress}
/>
<IconButton
name={icons.EDIT}
title={translate('EditMovie')}
onPress={this.onEditMoviePress}
/>
<EditMovieModalConnector
isOpen={isEditMovieModalOpen}
movieId={id}
onModalClose={this.onEditMovieModalClose}
onDeleteMoviePress={this.onDeleteMoviePress}
/>
<DeleteMovieModal
isOpen={isDeleteMovieModalOpen}
movieId={id}
onModalClose={this.onDeleteMovieModalClose}
/>
</VirtualTableRowCell>
);
}
}
MovieIndexActionsCell.propTypes = {
id: PropTypes.number.isRequired,
isRefreshingMovie: PropTypes.bool.isRequired,
onRefreshMoviePress: PropTypes.func.isRequired
};
export default MovieIndexActionsCell;

View File

@@ -5,9 +5,9 @@ import TableOptionsModal from 'Components/Table/TableOptions/TableOptionsModal';
import VirtualTableHeader from 'Components/Table/VirtualTableHeader';
import VirtualTableHeaderCell from 'Components/Table/VirtualTableHeaderCell';
import { icons } from 'Helpers/Props';
import styles from './MovieIndexHeader.css';
import styles from './SearchIndexHeader.css';
class MovieIndexHeader extends Component {
class SearchIndexHeader extends Component {
//
// Lifecycle
@@ -98,9 +98,9 @@ class MovieIndexHeader extends Component {
}
}
MovieIndexHeader.propTypes = {
SearchIndexHeader.propTypes = {
columns: PropTypes.arrayOf(PropTypes.object).isRequired,
onTableOptionChange: PropTypes.func.isRequired
};
export default MovieIndexHeader;
export default SearchIndexHeader;

View File

@@ -1,6 +1,6 @@
import { connect } from 'react-redux';
import { setMovieTableOption } from 'Store/Actions/indexerIndexActions';
import MovieIndexHeader from './MovieIndexHeader';
import SearchIndexHeader from './SearchIndexHeader';
function createMapDispatchToProps(dispatch, props) {
return {
@@ -10,4 +10,4 @@ function createMapDispatchToProps(dispatch, props) {
};
}
export default connect(undefined, createMapDispatchToProps)(MovieIndexHeader);
export default connect(undefined, createMapDispatchToProps)(SearchIndexHeader);

View File

@@ -12,9 +12,9 @@ import formatBytes from 'Utilities/Number/formatBytes';
import translate from 'Utilities/String/translate';
import Peers from './Peers';
import ProtocolLabel from './ProtocolLabel';
import styles from './MovieIndexRow.css';
import styles from './SearchIndexRow.css';
class MovieIndexRow extends Component {
class SearchIndexRow extends Component {
//
// Render
@@ -190,7 +190,7 @@ class MovieIndexRow extends Component {
}
}
MovieIndexRow.propTypes = {
SearchIndexRow.propTypes = {
guid: PropTypes.string.isRequired,
protocol: PropTypes.string.isRequired,
age: PropTypes.number.isRequired,
@@ -210,4 +210,4 @@ MovieIndexRow.propTypes = {
timeFormat: PropTypes.string.isRequired
};
export default MovieIndexRow;
export default SearchIndexRow;

View File

@@ -4,12 +4,12 @@ import VirtualTable from 'Components/Table/VirtualTable';
import VirtualTableRow from 'Components/Table/VirtualTableRow';
import { sortDirections } from 'Helpers/Props';
import getIndexOfFirstCharacter from 'Utilities/Array/getIndexOfFirstCharacter';
import MovieIndexHeaderConnector from './MovieIndexHeaderConnector';
import MovieIndexItemConnector from './MovieIndexItemConnector';
import MovieIndexRow from './MovieIndexRow';
import styles from './MovieIndexTable.css';
import SearchIndexHeaderConnector from './SearchIndexHeaderConnector';
import SearchIndexItemConnector from './SearchIndexItemConnector';
import SearchIndexRow from './SearchIndexRow';
import styles from './SearchIndexTable.css';
class MovieIndexTable extends Component {
class SearchIndexTable extends Component {
//
// Lifecycle
@@ -58,9 +58,9 @@ class MovieIndexTable extends Component {
key={key}
style={style}
>
<MovieIndexItemConnector
<SearchIndexItemConnector
key={release.guid}
component={MovieIndexRow}
component={SearchIndexRow}
columns={columns}
guid={release.guid}
longDateFormat={longDateFormat}
@@ -95,7 +95,7 @@ class MovieIndexTable extends Component {
overscanRowCount={2}
rowRenderer={this.rowRenderer}
header={
<MovieIndexHeaderConnector
<SearchIndexHeaderConnector
columns={columns}
sortKey={sortKey}
sortDirection={sortDirection}
@@ -108,7 +108,7 @@ class MovieIndexTable extends Component {
}
}
MovieIndexTable.propTypes = {
SearchIndexTable.propTypes = {
items: PropTypes.arrayOf(PropTypes.object).isRequired,
columns: PropTypes.arrayOf(PropTypes.object).isRequired,
sortKey: PropTypes.string,
@@ -121,4 +121,4 @@ MovieIndexTable.propTypes = {
onSortPress: PropTypes.func.isRequired
};
export default MovieIndexTable;
export default SearchIndexTable;

View File

@@ -2,7 +2,7 @@ import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import { setMovieSort } from 'Store/Actions/indexerIndexActions';
import createUISettingsSelector from 'Store/Selectors/createUISettingsSelector';
import MovieIndexTable from './MovieIndexTable';
import SearchIndexTable from './SearchIndexTable';
function createMapStateToProps() {
return createSelector(
@@ -28,4 +28,4 @@ function createMapDispatchToProps(dispatch, props) {
};
}
export default connect(createMapStateToProps, createMapDispatchToProps)(MovieIndexTable);
export default connect(createMapStateToProps, createMapDispatchToProps)(SearchIndexTable);