mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
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:
parent
a7dd7b4298
commit
f121dfe120
@ -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}
|
||||||
/>
|
/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user