diff --git a/frontend/src/Components/Filter/Builder/FilterBuilderRow.js b/frontend/src/Components/Filter/Builder/FilterBuilderRow.js index 9365ee04c..ed375b745 100644 --- a/frontend/src/Components/Filter/Builder/FilterBuilderRow.js +++ b/frontend/src/Components/Filter/Builder/FilterBuilderRow.js @@ -8,6 +8,7 @@ import BoolFilterBuilderRowValue from './BoolFilterBuilderRowValue'; import DateFilterBuilderRowValue from './DateFilterBuilderRowValue'; import FilterBuilderRowValueConnector from './FilterBuilderRowValueConnector'; import IndexerFilterBuilderRowValueConnector from './IndexerFilterBuilderRowValueConnector'; +import PrivacyFilterBuilderRowValue from './PrivacyFilterBuilderRowValue'; import ProtocolFilterBuilderRowValue from './ProtocolFilterBuilderRowValue'; import TagFilterBuilderRowValueConnector from './TagFilterBuilderRowValueConnector'; import styles from './FilterBuilderRow.css'; @@ -63,6 +64,9 @@ function getRowValueConnector(selectedFilterBuilderProp) { case filterBuilderValueTypes.PROTOCOL: return ProtocolFilterBuilderRowValue; + case filterBuilderValueTypes.PRIVACY: + return PrivacyFilterBuilderRowValue; + case filterBuilderValueTypes.TAG: return TagFilterBuilderRowValueConnector; diff --git a/frontend/src/Components/Filter/Builder/PrivacyFilterBuilderRowValue.js b/frontend/src/Components/Filter/Builder/PrivacyFilterBuilderRowValue.js new file mode 100644 index 000000000..4004f0ced --- /dev/null +++ b/frontend/src/Components/Filter/Builder/PrivacyFilterBuilderRowValue.js @@ -0,0 +1,20 @@ +import React from 'react'; +import translate from 'Utilities/String/translate'; +import FilterBuilderRowValue from './FilterBuilderRowValue'; + +const privacyTypes = [ + { id: 'public', name: translate('Public') }, + { id: 'private', name: translate('Private') }, + { id: 'semiPrivate', name: translate('SemiPrivate') } +]; + +function PrivacyFilterBuilderRowValue(props) { + return ( + + ); +} + +export default PrivacyFilterBuilderRowValue; diff --git a/frontend/src/Helpers/Props/filterBuilderValueTypes.js b/frontend/src/Helpers/Props/filterBuilderValueTypes.js index b31bd5043..7fed535f2 100644 --- a/frontend/src/Helpers/Props/filterBuilderValueTypes.js +++ b/frontend/src/Helpers/Props/filterBuilderValueTypes.js @@ -4,6 +4,7 @@ export const DATE = 'date'; export const DEFAULT = 'default'; export const INDEXER = 'indexer'; export const PROTOCOL = 'protocol'; +export const PRIVACY = 'privacy'; export const APP_PROFILE = 'appProfile'; export const MOVIE_STATUS = 'movieStatus'; export const TAG = 'tag'; diff --git a/frontend/src/Store/Actions/indexerIndexActions.js b/frontend/src/Store/Actions/indexerIndexActions.js index f0da8b23b..8efc9fb08 100644 --- a/frontend/src/Store/Actions/indexerIndexActions.js +++ b/frontend/src/Store/Actions/indexerIndexActions.js @@ -2,6 +2,7 @@ import { createAction } from 'redux-actions'; import { batchActions } from 'redux-batched-actions'; import { filterBuilderTypes, filterBuilderValueTypes, sortDirections } from 'Helpers/Props'; import { createThunk, handleThunks } from 'Store/thunks'; +import sortByName from 'Utilities/Array/sortByName'; import createAjaxRequest from 'Utilities/createAjaxRequest'; import translate from 'Utilities/String/translate'; import { removeItem, set, updateItem } from './baseActions'; @@ -118,12 +119,12 @@ export const defaultState = { filterBuilderProps: [ { name: 'name', - label: 'Indexer Name', + label: translate('IndexerName'), type: filterBuilderTypes.STRING }, { name: 'enable', - label: 'Enabled', + label: translate('Enabled'), type: filterBuilderTypes.EXACT, valueType: filterBuilderValueTypes.BOOL }, @@ -135,15 +136,21 @@ export const defaultState = { }, { name: 'priority', - label: 'Priority', + label: translate('Priority'), type: filterBuilderTypes.NUMBER }, { name: 'protocol', - label: 'Protocol', + label: translate('Protocol'), type: filterBuilderTypes.EXACT, valueType: filterBuilderValueTypes.PROTOCOL }, + { + name: 'privacy', + label: translate('Privacy'), + type: filterBuilderTypes.EXACT, + valueType: filterBuilderValueTypes.PRIVACY + }, { name: 'appProfileId', label: translate('AppProfile'),