Update model select to use new active model selector

Hopefully this also fixes the white screen error that some users face.
This commit is contained in:
blessedcoolant 2023-02-07 18:25:45 +13:00
parent a7dd7b4298
commit f121dfe120

View File

@ -5,27 +5,14 @@ import { useAppDispatch, useAppSelector } from 'app/storeHooks';
import IAISelect from 'common/components/IAISelect'; import IAISelect from 'common/components/IAISelect';
import _ from 'lodash'; import _ from 'lodash';
import { ChangeEvent } from 'react'; import { ChangeEvent } from 'react';
import { systemSelector } from '../store/systemSelectors'; import { activeModelSelector, systemSelector } from '../store/systemSelectors';
const selector = createSelector( const selector = createSelector(
[systemSelector], [systemSelector],
(system) => { (system) => {
const { isProcessing, model_list } = system; const { isProcessing, model_list } = system;
const models = _.map(model_list, (model, key) => key); const models = _.map(model_list, (model, key) => key);
const activeModel = _.reduce( return { models, isProcessing };
model_list,
(acc, model, key) => {
if (model.status === 'active') {
acc = key;
}
return acc;
},
''
);
const activeDesc = model_list[activeModel].description;
return { models, activeModel, isProcessing, activeDesc };
}, },
{ {
memoizeOptions: { memoizeOptions: {
@ -36,8 +23,8 @@ const selector = createSelector(
const ModelSelect = () => { const ModelSelect = () => {
const dispatch = useAppDispatch(); const dispatch = useAppDispatch();
const { models, activeModel, isProcessing, activeDesc } = const { models, isProcessing } = useAppSelector(selector);
useAppSelector(selector); const activeModel = useAppSelector(activeModelSelector);
const handleChangeModel = (e: ChangeEvent<HTMLSelectElement>) => { const handleChangeModel = (e: ChangeEvent<HTMLSelectElement>) => {
dispatch(requestModelChange(e.target.value)); dispatch(requestModelChange(e.target.value));
}; };
@ -50,9 +37,9 @@ const ModelSelect = () => {
> >
<IAISelect <IAISelect
style={{ fontSize: '0.8rem' }} style={{ fontSize: '0.8rem' }}
tooltip={activeDesc} tooltip={activeModel.description}
isDisabled={isProcessing} isDisabled={isProcessing}
value={activeModel} value={activeModel.name}
validValues={models} validValues={models}
onChange={handleChangeModel} onChange={handleChangeModel}
/> />