add option to disable model syncing in UI

This commit is contained in:
Mary Hipp 2023-07-25 14:48:12 -04:00 committed by psychedelicious
parent 7d337dccc2
commit 7f5a89f567
3 changed files with 16 additions and 7 deletions

View File

@ -95,7 +95,8 @@ export type AppFeature =
| 'localization'
| 'consoleLogging'
| 'dynamicPrompting'
| 'batches';
| 'batches'
| 'syncModels';
/**
* A disable-able Stable Diffusion feature

View File

@ -16,6 +16,7 @@ import { memo, useCallback, useMemo } from 'react';
import { useTranslation } from 'react-i18next';
import { useGetMainModelsQuery } from 'services/api/endpoints/models';
import { FieldComponentProps } from './types';
import { useFeatureStatus } from '../../../system/hooks/useFeatureStatus';
const ModelInputFieldComponent = (
props: FieldComponentProps<MainModelInputFieldValue, ModelInputFieldTemplate>
@ -24,6 +25,7 @@ const ModelInputFieldComponent = (
const dispatch = useAppDispatch();
const { t } = useTranslation();
const isSyncModelEnabled = useFeatureStatus('syncModels').isFeatureEnabled;
const { data: mainModels, isLoading } = useGetMainModelsQuery();
@ -103,9 +105,11 @@ const ModelInputFieldComponent = (
disabled={data.length === 0}
onChange={handleChangeModel}
/>
<Box mt={7}>
<SyncModelsButton iconMode />
</Box>
{isSyncModelEnabled && (
<Box mt={7}>
<SyncModelsButton iconMode />
</Box>
)}
</Flex>
);
};

View File

@ -15,6 +15,7 @@ import { modelIdToMainModelParam } from 'features/parameters/util/modelIdToMainM
import SyncModelsButton from 'features/ui/components/tabs/ModelManager/subpanels/ModelManagerSettingsPanel/SyncModelsButton';
import { forEach } from 'lodash-es';
import { useGetMainModelsQuery } from 'services/api/endpoints/models';
import { useFeatureStatus } from '../../../../system/hooks/useFeatureStatus';
const selector = createSelector(
stateSelector,
@ -29,6 +30,7 @@ const ParamMainModelSelect = () => {
const { model } = useAppSelector(selector);
const { data: mainModels, isLoading } = useGetMainModelsQuery();
const isSyncModelEnabled = useFeatureStatus('syncModels').isFeatureEnabled;
const data = useMemo(() => {
if (!mainModels) {
@ -98,9 +100,11 @@ const ParamMainModelSelect = () => {
onChange={handleChangeModel}
w="100%"
/>
<Box mt={7}>
<SyncModelsButton iconMode />
</Box>
{isSyncModelEnabled && (
<Box mt={7}>
<SyncModelsButton iconMode />
</Box>
)}
</Flex>
);
};