]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/components/common/ChannelSelect.js
guessing game controls
[alttp.git] / resources / js / components / common / ChannelSelect.js
index 701f196591e1402e4cbd4936de7994b40a1e780f..2fbb2c1958f02a61c93bde7048440e7d11c643b4 100644 (file)
@@ -7,7 +7,7 @@ import { useTranslation } from 'react-i18next';
 import Icon from './Icon';
 import debounce from '../../helpers/debounce';
 
-const ChannelSelect = ({ joinable, manageable, onChange, value }) => {
+const ChannelSelect = ({ autoSelect, joinable, manageable, onChange, value }) => {
        const [resolved, setResolved] = useState(null);
        const [results, setResults] = useState([]);
        const [search, setSearch] = useState('');
@@ -47,11 +47,17 @@ const ChannelSelect = ({ joinable, manageable, onChange, value }) => {
                        });
                        ctrl = null;
                        setResults(response.data);
+                       if (autoSelect && !phrase && response.data.length === 1) {
+                               onChange({
+                                       channel: response.data[0],
+                                       target: { value: response.data[0].id },
+                               });
+                       }
                } catch (e) {
                        ctrl = null;
                        console.error(e);
                }
-       }, 300), [manageable]);
+       }, 300), [autoSelect, joinable, manageable]);
 
        useEffect(() => {
                fetch(search);
@@ -117,6 +123,7 @@ const ChannelSelect = ({ joinable, manageable, onChange, value }) => {
 };
 
 ChannelSelect.propTypes = {
+       autoSelect: PropTypes.bool,
        joinable: PropTypes.bool,
        manageable: PropTypes.bool,
        onChange: PropTypes.func,