From 3a55316adad51b677b09b236759b765e10dce649 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Fri, 18 Apr 2025 12:11:55 +0300 Subject: [PATCH] Improve typings for select options --- frontend/src/Collection/CollectionFooter.js | 36 ++++++++++--------- frontend/src/Components/Form/SelectInput.tsx | 27 ++++++-------- .../src/DiscoverMovie/DiscoverMovieFooter.js | 19 +++++----- .../InteractiveImportModalContent.tsx | 6 ++-- 4 files changed, 44 insertions(+), 44 deletions(-) diff --git a/frontend/src/Collection/CollectionFooter.js b/frontend/src/Collection/CollectionFooter.js index a510c8bf1e..89e9cff054 100644 --- a/frontend/src/Collection/CollectionFooter.js +++ b/frontend/src/Collection/CollectionFooter.js @@ -1,13 +1,10 @@ import _ from 'lodash'; import PropTypes from 'prop-types'; import React, { Component } from 'react'; -import AvailabilitySelectInput from 'Components/Form/Select/AvailabilitySelectInput'; -import QualityProfileSelectInput from 'Components/Form/Select/QualityProfileSelectInput'; -import RootFolderSelectInput from 'Components/Form/Select/RootFolderSelectInput'; -import SelectInput from 'Components/Form/SelectInput'; +import FormInputGroup from 'Components/Form/FormInputGroup'; import SpinnerButton from 'Components/Link/SpinnerButton'; import PageContentFooter from 'Components/Page/PageContentFooter'; -import { kinds } from 'Helpers/Props'; +import { inputTypes, kinds } from 'Helpers/Props'; import translate from 'Utilities/String/translate'; import CollectionFooterLabel from './CollectionFooterLabel'; import styles from './CollectionFooter.css'; @@ -19,8 +16,7 @@ const monitoredOptions = [ key: NO_CHANGE, get value() { return translate('NoChange'); - }, - isDisabled: true + } }, { key: 'monitored', @@ -41,8 +37,7 @@ const searchOnAddOptions = [ key: NO_CHANGE, get value() { return translate('NoChange'); - }, - isDisabled: true + } }, { key: 'yes', @@ -173,7 +168,8 @@ class CollectionFooter extends Component { isSaving={isSaving && monitored !== NO_CHANGE} /> - - - @@ -218,10 +217,12 @@ class CollectionFooter extends Component { isSaving={isSaving && minimumAvailability !== NO_CHANGE} /> - @@ -233,12 +234,14 @@ class CollectionFooter extends Component { isSaving={isSaving && rootFolderPath !== NO_CHANGE} /> - @@ -249,7 +252,8 @@ class CollectionFooter extends Component { isSaving={isSaving && searchOnAdd !== NO_CHANGE} /> - , 'disabled'> { + key: string | number; value: string | number | (() => string | number); - isDisabled?: boolean; } interface SelectInputProps { @@ -62,20 +67,10 @@ function SelectInput({ onBlur={onBlur} > {values.map((option) => { - const { - key, - value: optionValue, - isDisabled: optionIsDisabled = false, - ...otherOptionProps - } = option; + const { key, value: optionValue, ...otherOptionProps } = option; return ( - ); diff --git a/frontend/src/DiscoverMovie/DiscoverMovieFooter.js b/frontend/src/DiscoverMovie/DiscoverMovieFooter.js index 2eda9128bb..ffbf92ca90 100644 --- a/frontend/src/DiscoverMovie/DiscoverMovieFooter.js +++ b/frontend/src/DiscoverMovie/DiscoverMovieFooter.js @@ -2,13 +2,10 @@ import _ from 'lodash'; import PropTypes from 'prop-types'; import React, { Component } from 'react'; import CheckInput from 'Components/Form/CheckInput'; -import AvailabilitySelectInput from 'Components/Form/Select/AvailabilitySelectInput'; -import QualityProfileSelectInput from 'Components/Form/Select/QualityProfileSelectInput'; -import RootFolderSelectInput from 'Components/Form/Select/RootFolderSelectInput'; -import SelectInput from 'Components/Form/SelectInput'; +import FormInputGroup from 'Components/Form/FormInputGroup'; import SpinnerButton from 'Components/Link/SpinnerButton'; import PageContentFooter from 'Components/Page/PageContentFooter'; -import { kinds } from 'Helpers/Props'; +import { inputTypes, kinds } from 'Helpers/Props'; import monitorOptions from 'Utilities/Movie/monitorOptions'; import translate from 'Utilities/String/translate'; import DiscoverMovieFooterLabel from './DiscoverMovieFooterLabel'; @@ -146,7 +143,8 @@ class DiscoverMovieFooter extends Component { isSaving={isAdding} /> - - - - translate('ChooseImportMode'), @@ -289,7 +289,7 @@ function InteractiveImportModalContent( }, [selectedState]); const bulkSelectOptions = useMemo(() => { - const options = [ + const options: SelectInputOption[] = [ { key: 'select', value: translate('SelectDropdown'),